Tạo tập tin cài sẵn FFmpeg từ các tùy chọn x264


1

Tôi muốn tạo một tập tin cài sẵn FFmpeg. Nếu tôi chạy một lệnh mẫu, nó sẽ hiển thị các cài đặt trước hiện đang sử dụng

$ ffmpeg -i infile.mp4 outfile.mp4
[libx264 @ 0000000002a9a5c0] 264 - lõi 140 r2377 1ca7bb9 - Bộ giải mã H.264 / MPEG-4 AVC
- Copyleft 2003-2013 - http://www.videolan.org/x264.html - tùy chọn: cabac = 1 ref = 3 
deblock = 1: 0: 0 analyse = 0x3: 0x113 me = hex subme = 7 psy = 1 psy_rd = 1,00: 0,00 hỗn hợp = 1 
me_range = 16 chroma_me = 1 trellis = 1 8x8dct = 1 cqm = 0 deadzone = 21,11 fast_pskip = 1 
chroma_qp_offset = -2 chủ đề = 12 lookahead_threads = 2 lát_threads = 0 nr = 0 decimate = 1
xen kẽ = 0 Bluray_compat = 0 ràng buộc_intra = 0 bframes = 3 b_pyramid = 2 b_adapt = 1 
b_bias = 0 direct = 1 weightb = 1 open_gop = 0 weightp = 2 keyint = 250 keyint_min = 25 
Scenecut = 40 int numfresh = 0 rc_lookahead = 40 rc = crf mbtree = 1 crf = 23.0 qcomp = 0.60 
qpmin = 0 qpmax = 69 qpstep = 4 ip_ratio = 1,40 aq = 1: 1,00

Bây giờ tôi lấy các giá trị đó và tạo một tệp đặt trước như được chỉ định trong tài liệu.

§ Tập tin cài sẵn

Tuy nhiên nếu tôi cố gắng sử dụng tập tin đó thì nó bị lỗi

$ ffmpeg -i infile.mp4 -fpre settings.txt outfile.mp4
settings.txt: Tùy chọn hoặc đối số không hợp lệ: 'cabac = 1
', được phân tích cú pháp là' cabac '=' 1 '

Có vẻ như cài đặt trước mặc định mediumcó khả năng được sử dụng. Tại sao bạn muốn thử sao chép những thứ này? Tại sao không chỉ sử dụng các cài đặt trước tiêu chuẩn (và có thể -tunetùy chọn)?
llogan

Câu trả lời:


3

Khi bạn chỉ định các tùy chọn trong các tệp đặt trước, các ánh xạ đó đến các ffmpegtùy chọn thực tế , không phải là các tùy chọn bộ mã hóa mà nó in khi bạn nhìn vào đầu ra gỡ lỗi.

Ví dụ, fast_pskiptrong x264 được gọi -fast-pskiptrong ffmpeg. Tương tự cho rc_lookaheadcái được gọi là rc-lookahead. Hãy xem ffmpeg -h full, phần libx264 AVOptionscho tất cả các tùy chọn có thể bạn có thể ánh xạ trực tiếp.

Đối với tất cả những người khác mà bạn muốn sử dụng các -x264optstùy chọn và thông qua danh sách key=value:key=value, ví dụ:

ffmpeg -i input.mp4 -c:v libx264 -x264-params rc_lookahead=30:keyint=500 output.mp4

Lưu ý rằng hiếm khi có một điểm trong việc cấu hình thủ công các tùy chọn này. Sử dụng -presettùy chọn và chọn một trong các cài đặt trước x264 nếu bạn muốn giữ cho nó đơn giản.


Tôi đã kiểm tra ffmpeg -h full, tuy nhiên ví dụ tôi thấy không có bluray_compat. Có một số bảng có sẵn để liên kết hai hệ thống đặt tên khác nhau?
Steven Penny

1
Có một cái ở đây: sites.google.com.vn/site/linuxencoding/x264-ffmpeg-mapping - nhưng tôi khá chắc chắn rằng nó hơi lỗi thời.
slhck

0

Bạn nên sử dụng

lập trình viên = 1

thay vì cabac = 1

Xem bài đăng này cho các tham số khác trong một tập tin cài sẵn.


Để vượt qua các tùy chọn x264 trực tiếp, bạn cần sử dụng -x264opts. Tôi không biết tài liệu bạn tham khảo nhưng có thể bạn đang sử dụng tùy chọn x264.
Rajib
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.