
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.
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 ffmpeg
as 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_pskip
em x264 é chamado -fast-pskip
em ffmpeg
. O mesmo para rc_lookahead
o qual é chamado rc-lookahead
. Dê uma olhada na ffmpeg -h full
seção libx264 AVOptions
para todas as opções possíveis que você pode mapear diretamente.
Para todos os outros que você deseja usara -x264opts
opçã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 -preset
opçã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.