Phanh tay sử dụng bộ mã hóa x264 để chuyển đổi video. Có một trang web với tổng quan về tất cả các tùy chọn x264 và các đối tác FFmpeg của chúng . Tuy nhiên, đây là một số ít phản đối và một số tùy chọn này không hoạt động nữa hoặc có thể đã được đổi tên. Bạn nên sử dụng các cấu hình x264 cho hầu hết các tùy chọn chi tiết, nhưng chúng tôi sẽ đến đó.
Nhiều tùy chọn Handbrake cơ bản (ví dụ tốc độ khung hình) không dành riêng cho x264 và chúng nằm rải rác trong tài liệu trực tuyến FFmpeg .
Trước khi chúng tôi bắt đầu, vui lòng kiểm tra xem bạn có sử dụng phiên bản FFmpeg gần đây không. Trang web tải xuống của họ có bản dựng tĩnh cho tất cả các hệ điều hành chính.
Đi nào:
--input "d:\input.mpg" --output "d:\output.mp4"
Cú pháp FFmpeg là ffmpeg -i input.mpg … d:\output.mp4
.
--rate 29.97
Chỉ định tốc độ khung hình video với -r 29.97
. (Handbrake --cfr
chỉ đặt tốc độ khung hình không đổi. Không cần ở đây).
--arate 44.1
Đặt tốc độ mẫu âm thanh với -ar 44100
(tính bằng Hz).
--format mp4
Không cần thiết vì FFmpeg biết bạn muốn MP4.
--width 1920 --height 1080 --custom-anamorphic --display-width 1920 --keep-display-aspect --modulus 8 --crop 0:0:0:0
Điều này không làm gì ngoài việc đặt kích thước thành 1920 × 1080. Trong FFmpeg, hãy thực hiện với -s:v 1920x1080
hoặc nếu bạn muốn sử dụng các bộ lọc , -filter:v "scale=1920:1080"
.
--encoder x264 --vb 5200
Đặt bộ mã hóa với -c:v libx264
và tốc độ bit thành không đổi với -b:v 5200K
. Lưu ý rằng chúng tôi chưa có khi nói đến cài đặt chất lượng.
--aencoder faac --ab 128 --mixdown stereo
Tương tự như trên, với -c:a libfaac -b:a 128K -ac 2
. Lưu ý rằng FAAC không được hỗ trợ trong FFmpeg nữa; thay vào đó, sử dụng bộ mã hóa FFmpeg tích hợp -c:a aac -b:a 128K
thay thế.
-x bitrate=5200:vbv-bufsize=5200:vbv-maxrate=5200
Điều này đặt chế độ mã hóa thành VBV nhằm vào kịch bản phát trực tuyến thay vì chỉ tốc độ bit hoặc chất lượng không đổi. Chất lượng không đổi cũng được gọi là CRF , mặc định cho x264 - nó được gọi là Yếu tố tỷ lệ đường mật trong Handbrake. Mặc dù CRF thường cung cấp cho bạn mã hóa chất lượng tốt nhất, chế độ VBV cung cấp cho bạn một tệp phù hợp hơn để phát trực tuyến hoặc cho một số thiết bị có khả năng hạn chế.
Để đặt VBV, hãy sử dụng -maxrate 5200K
và -bufsize 5200K
các tùy chọn trong ffmpeg.
Để đặt CRF, sử dụng -crf 23
trong ffmpeg.
level=42
Sử dụng -level 42
. Đây là cấp độ H.264 .
bframes=2:min-keyint=60:keyint=60:ref=4
Đặt số lượng khung B với -bf 2
. Khoảng thời gian khung hình tối thiểu được đặt với -keyint_min 60
và khoảng thời gian tối đa với -g 60
. Số lượng hình ảnh tham khảo được thiết lập với -refs 4
.
me=umh:merange=64:subme=7:8x8dct:cabac=1
Đây là các tùy chọn mà bạn có thể đặt trong ffmpeg ngoài ra -x264-params me=umh:merange=64:subme=7:8x8dct:cabac=1
- giống như bất kỳ cài đặt bộ mã hóa x264 nào khác không được ánh xạ trực tiếp vào các tùy chọn ffmpeg.
Đây là phiên bản "TL; DR" nếu bạn lười biếng, không quan tâm đến các chi tiết hoặc nếu mọi thứ không hoạt động: Sử dụng -preset:v medium
(hoặc bỏ nó đi, vì cài đặt trước trung bình là mặc định). Các cài đặt trước x264 chọn một tập hợp các tùy chọn trao đổi tốc độ mã hóa để đạt hiệu quả nén. Họ đang thuận tiện đặt tên từ ultrafast
, superfast
, veryfast
, faster
, fast
, medium
để slow
, slower
và veryslow
. Chọn bất cứ điều gì bạn cảm thấy thoải mái.
Vì vậy, để tóm tắt, phiên bản dài:
ffmpeg -i input.mpg -c:v libx264 -r 29.97 -s:v 1920x1080 -b:v 5200K -maxrate 5200K -bufsize 5200K -level 42 -bf 2 -keyint_min 60 -g 60 -refs 4 -x264-params me=umh:merange=64:subme=7:8x8dct:cabac=1 -c:a aac -b:a 128K -ar 44100 d:\output.mp4
Hoặc cái ngắn tôi sẽ sử dụng (với mã hóa VBV và một vài tùy chọn chi tiết bị xóa):
ffmpeg -i input.mpg -c:v libx264 -r 29.97 -s:v 1920x1080 -b:v 5200K -maxrate 5200K -bufsize 5200K -c:a aac -b:a 128K -ar 44100 d:\output.mp4
Thay đổi thành mã hóa chất lượng không đổi để chuyển đổi đa mục đích, sử dụng mã này và thay đổi -crf
tham số từ 18 thành 28, trong đó thấp hơn có nghĩa là chất lượng tốt hơn và 23 là mặc định:
ffmpeg -i input.mpg -c:v libx264 -r 29.97 -s:v 1920x1080 -crf 23 -c:a aac -b:a 128K -ar 44100 d:\output.mp4