
Quiero crear un archivo preestablecido de FFmpeg. Si ejecuto un comando de muestra, muestra los ajustes preestablecidos utilizados actualmente.
$ ffmpeg -i archivo de entrada.mp4 archivo de salida.mp4 [libx264 @ 0000000002a9a5c0] 264 - núcleo 140 r2377 1ca7bb9 - Códec AVC H.264/MPEG-4 - Copyleft 2003-2013 - http://www.videolan.org/x264.html - opciones: cabac=1 ref=3 desbloquear=1:0:0 analizar=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 Mixed_ref=1 me_range=16 chroma_me=1 enrejado=1 8x8dct=1 cqm=0 zona muerta=21,11 fast_pskip=1 chroma_qp_offset=-2 subprocesos=12 lookahead_threads=2 sliced_threads=0 nr=0 diezmar=1 entrelazado=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 directo=1 pesob=1 open_gop=0 pesop=2 keyint=250 keyint_min=25 escenacut=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
Ahora tomo esos valores y creo un archivo preestablecido como se especifica en la documentación.
Sin embargo, si intento utilizar ese archivo, aparece un error.
$ ffmpeg -i archivo de entrada.mp4 -fpre configuración.txt archivo de salida.mp4 settings.txt: Opción o argumento no válido: 'cabac=1 ', analizado como 'cabac' = '1'
Respuesta1
Cuando especifica opciones en archivos preestablecidos, se asignan a ffmpeg
opciones reales, no a las opciones del codificador que imprime cuando observa la salida de depuración.
Por ejemplo, fast_pskip
en x264 se llama -fast-pskip
en ffmpeg
. Lo mismo por rc_lookahead
lo que se llama rc-lookahead
. Eche un vistazo a ffmpeg -h full
la sección libx264 AVOptions
para conocer todas las opciones posibles que puede asignar directamente.
Para todos los demás que quieras usarla -x264opts
opcióny pasar una lista de key=value:key=value
, por ejemplo:
ffmpeg -i input.mp4 -c:v libx264 -x264-params rc_lookahead=30:keyint=500 output.mp4
Tenga en cuenta que rara vez tiene sentido configurar manualmente estas opciones. Usa la -preset
opción y eligeuno de los ajustes preestablecidos x264si quieres mantenerlo simple.
Respuesta2
Deberías usar
codificador = 1
en lugar decabac = 1
Verestepublicar para otros parámetros en un archivo preestablecido.