Создайте файл предустановок FFmpeg из параметров x264

Создайте файл предустановок FFmpeg из параметров x264

Я хочу создать файл предустановок FFmpeg. Если я запущу команду-пример, она покажет используемые в данный момент предустановки

$ ffmpeg -i входной_файл.mp4 выходной_файл.mp4
[libx264 @ 0000000002a9a5c0] 264 - ядро ​​140 r2377 1ca7bb9 - кодек H.264/MPEG-4 AVC
- Copyleft 2003-2013 - http://www.videolan.org/x264.html - параметры: cabac=1 ref=3
deblock=1:0:0 analyze=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1
me_range=16 chroma_me=1 решетка=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1
chroma_qp_offset=-2 потоки=12 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1
чересстрочная развертка=0 bluray_compat=0 constrained_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 intra_refresh=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

Теперь я беру эти значения и создаю файл предустановок, как указано в документации.

§ Предустановленные файлы

Однако если я попытаюсь использовать этот файл, возникнет ошибка.

$ ffmpeg -i входной_файл.mp4 -fpre настройки.txt выходной_файл.mp4
settings.txt: Недопустимый параметр или аргумент: 'cabac=1
', анализируется как 'cabac' = '1'

решение1

Когда вы указываете параметры в файлах предустановок, они сопоставляются с фактическими ffmpegпараметрами, а не с параметрами кодировщика, которые он выводит, когда вы просматриваете выходные данные отладки.

Например, fast_pskipв x264 называется -fast-pskipв ffmpeg. То же самое для rc_lookahead, которое называется rc-lookahead. Посмотрите на ffmpeg -h full, раздел libx264 AVOptionsдля всех возможных вариантов, которые вы можете сопоставить напрямую.

Для всех остальных вы хотите использоватьопция-x264optsи передайте список key=value:key=value, например:

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

Обратите внимание, что редко есть смысл вручную настраивать эти параметры. Используйте параметр -presetи выберитеодин из пресетов x264если вы хотите, чтобы все было просто.

решение2

Вам следует использовать

кодер = 1

вместоcabac = 1

Видетьэтотразместить другие параметры в файле предустановок.

Связанный контент