Tôi đã thử nghiệm hầu hết các câu trả lời được đề xuất cho câu hỏi này. Các kết luận dữ liệu thử nghiệm dưới đây. Đây là những câu trả lời được đề xuất mà tôi đã thử nghiệm:
(BR) Sửa đổi bitrate, sử dụng:
ffmpeg -i $infile -b $bitrate $newoutfile
(CR) Thay đổi hệ số tỷ lệ không đổi, sử dụng:
ffmpeg -i $infile -vcodec libx264 -crf 23 $outfile
(SZ) Thay đổi kích thước màn hình video (ví dụ: một nửa kích thước pixel của nó), sử dụng:
ffmpeg -i $infile -vf "scale=iw/2:ih/2" $outfile
(BL) Thay đổi cấu hình H.264 thành "đường cơ sở", sử dụng:
ffmpeg -i $infile -profile:v baseline $outfile
(DF) Sử dụng xử lý ffmpeg mặc định, sử dụng:
ffmpeg -i $infile $outfile
DỮ LIỆU
- "size" - kích thước phần trăm pixel của video được chuyển đổi so với bản gốc.
- "Bitrate" - bitrate của video gốc và video được chuyển đổi.
- "định nghĩa" - kích thước pixel của video.
- "convert" - thời gian để chuyển đổi video trong vài giây.
Tôi đã tính toán tốc độ bit đích cho (BL) bằng phương pháp đề xuất.
=== Tệp A - Cách nút giúp đẩy Angular-Fnbixa7Ts6M.mkv ===
original BR CR SZ BL DF
-------- --- -- -- -- --
size 64152 kb 214% 76% 40% 83% 76%
bitrate 411 kb/s 883 313 165 342 313
definition 1920x1080 1920x1080 1920x1080 960x540 1920x1080 1920x1080
convert -- 648 509 225 427 510
=== Tệp B - Sử dụng GraphQL với Angular _ By - Lee Costello-OGyFxqt5INw.mkv ===
original BR CR SZ BL DF
-------- --- -- -- -- --
size 410301 kb 33% 109% 28% 143% 109%
bitrate 2687 kb/s 880 2920 764 3843 2920
definition 3840x2160 3840x2160 3840x2160 1920x1080 3840x2160 3840x2160
convert -- 2307 3188 1116 2646 3278
KẾT LUẬN
Phương pháp (SZ) chắc chắn là phương pháp nhanh nhất. Nó nhanh hơn gấp 2 lần đến 4 lần. Đây có thể là một vấn đề rất lớn đối với các video có độ phân giải cao, vì tất cả các phương pháp khác mất nhiều thời gian để chuyển đổi hơn độ dài thực tế của video! Ví dụ: Phương pháp (CR) mất 53 phút để chuyển đổi video 21 phút.
Phương pháp (SZ) chắc chắn là phương pháp tốt nhất nếu định nghĩa của video lớn hơn định nghĩa của màn hình sẽ hiển thị. Ví dụ: nếu điện thoại của bạn chỉ có thể hiển thị hình ảnh 1080p, thì việc gửi video 3840x2160 chỉ là lãng phí. Nó sẽ là tốt nhất để một nửa kích thước của nó đến 1080p.
Một số câu trả lời được đề xuất thực sự TĂNG kích thước của một số video. Ví dụ: phương pháp (BR) nhiều hơn gấp đôi kích thước của mẫu 1080p. Tuy nhiên, nó đã làm cho kích thước 2160p một phần ba. Đối với mẫu có độ phân giải cao, các phương thức (CR), (BL) và (DF) đều TĂNG kích thước của video.
Trả lời đúng (hoặc tốt nhất)
Trước tiên, tốt nhất là hạ độ phân giải xuống mức tối đa được hỗ trợ bởi màn hình mục tiêu của bạn.
Nếu bạn muốn giảm kích thước tập tin hơn nữa, nó sẽ phụ thuộc vào lựa chọn cá nhân. Bạn có thể giảm nội dung thông tin hoặc tăng độ nén.
Bạn có thể hạ thấp độ phân giải nhiều hơn nếu đó không phải là điều khiến bạn lo lắng.
Nếu video không bao gồm các cảnh hành động nhanh, bạn có thể muốn giảm tốc độ khung hình.
Nếu bạn có bộ xử lý mạnh và không gian là vấn đề duy nhất, bạn có thể tăng tốc độ nén.
Tốc độ bit là sự kết hợp của nhiều yếu tố. Vì vậy, chỉ cần nói với ffmpeg để giảm tốc độ bit có thể không cung cấp cho bạn kết quả bạn muốn.
Một cách khác của nội dung thông tin thấp hơn là giảm độ sâu màu. Làm thế nào để làm điều này đã không được thảo luận.
ffmpeg
trang man hiển thị một-fs
tùy chọn để giới hạn kích thước đầu ra, có gì giống nhưffmpeg -i in.avi -fs 100M out.avi
công việc không?