Crie um arquivo predefinido FFmpeg a partir de opções x264

Crie um arquivo predefinido FFmpeg a partir de opções x264

Quero criar um arquivo predefinido FFmpeg. Se eu executar um comando de amostra, ele mostrará as predefinições usadas atualmente

$ ffmpeg -i arquivo de entrada.mp4 arquivo de saída.mp4
[libx264 @ 0000000002a9a5c0] 264 - núcleo 140 r2377 1ca7bb9 - codec H.264/MPEG-4 AVC
- Copyleft 2003-2013 - http://www.videolan.org/x264.html - opções: cabac=1 ref=3
deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1
me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 zona morta=21,11 fast_pskip=1
chroma_qp_offset=-2 threads=12 lookahead_threads=2 sliced_threads=0 nr=0 dizimar=1
entrelaçado=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1
b_bias=0 direto=1 pesob=1 open_gop=0 pesop=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

Agora pego esses valores e crio um arquivo predefinido conforme especificado na documentação.

§ Arquivos predefinidos

No entanto, se eu tentar usar esse arquivo, ocorrerá um erro

$ ffmpeg -i arquivo de entrada.mp4 -fpre configurações.txt arquivo de saída.mp4
settings.txt: Opção ou argumento inválido: 'cabac=1
', analisado como 'cabac' = '1'

Responder1

Quando você especifica opções em arquivos predefinidos, eles são mapeados para ffmpegas opções reais, não para as opções do codificador que ele imprime quando você observa a saída de depuração.

Por exemplo, fast_pskipem x264 é chamado -fast-pskipem ffmpeg. O mesmo para rc_lookaheado qual é chamado rc-lookahead. Dê uma olhada na ffmpeg -h fullseção libx264 AVOptionspara todas as opções possíveis que você pode mapear diretamente.

Para todos os outros que você deseja usara -x264optsopçãoe passe uma lista de key=value:key=value, por exemplo:

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

Observe que raramente faz sentido configurar manualmente essas opções. Use a -presetopção e escolhauma das predefinições x264se você quiser manter as coisas simples.

Responder2

Você deveria usar

codificador = 1

em vez decabac = 1

Veressepostar para outros parâmetros em um arquivo predefinido.

informação relacionada