Realmente apreciaría si alguien pudiera dar algunos consejos sobre el uso de itsoffset con ffmpeg. He leído varias publicaciones sobre este tema, algunas de ellas explican muy claramente cómo volver a sincronizar el audio y el video con -offset, pero no he podido hacer que funcione. Mi archivo AVI está codificado con ffmpeg, en dos pasadas, con el siguiente comando para la segunda pasada:Comando ffmpeg stream offset (-itsoffset) no funciona
ffmpeg -i whole-vts_01.avs -pass 2 -y -vcodec libxvid -vtag XVID -b:v 1300K -g 240 -trellis 2 -mbd rd -flags +mv4+aic -acodec ac3 -ac 2 -ar 48000 -b:a 128k output.avi
Por alguna razón, termino con un retraso de 1 segundo en el video (o el audio es 1 sec temprano). No sucede con demasiada frecuencia, pero lo veo de vez en cuando. Entre otros intentos, he intentado lo siguiente:
(1) ffmpeg -i output.avi -itsoffset 00:00:01.0 -i output.avi -vcodec copy -acodec copy -map 0:0 -map 1:1 output-resynched.avi
(2) ffmpeg -i output.avi -itsoffset 00:00:01.0 -i output.ac3 -vcodec copy -acodec copy -map 0:0 -map 1:0 output-resynched2.avi
(3) ffmpeg -itsoffset -00:00:01.00 -i output.avi output-resynched8.avi
(4) ffmpeg -i output.avi -itsoffset -1.0 -i output.avi -vcodec copy -acodec copy -map 0:1 -map 1:0 output-resynched13.avi
Éstos son los resultados:
- audio confusas y sólo 5 m 35 s largos vs. 41m 1h.
- (Output.ac3 es componente de audio de output.avi) de vídeo y de audio idéntico al original, desplazamiento no funcionó
- audio se llevaban cambiaron, pero los parámetros de codificación originales reemplazados por falta de pago (como se esperaba).
- Audio distorsionado y solo 9m 56s de largo vs. 1h 41m.
Veo que muchas personas explican, y aparentemente utilizan el proceso descrito anteriormente, pero no parece funcionar para mí. ¿Me estoy perdiendo algo obvio? Me gustaría poder usar -soffset ya que es más limpio que mi solución alternativa.
Fwiw, aquí hay una manera diferente, y ya de obtener el resultado deseado:
En primer lugar crear un video desplazado archivo de sólo usando -SS:
ffmpeg -i output.avi -ss 1.0 -vcodec copy -an oupput_videoshifted.avi
a continuación, extraer el audio:
ffmpeg -i output.avi -vn -acodec copy outputaudioonly.ac3
Y finalmente Remux dos componentes:
ffmpeg -i output_videoshifted.avi -i output_audioonly.ac3 -vcodec copy -acodec copy -map 0:0 -map 1:0 output-resynched14.avi
El proceso funciona, es lo suficientemente rápido, pero realmente preferiría usar la solución one-put -setoffset.
Hay un [error abierto] (http://roundup.libav.org/issue359) con el indicador '-itsoffset' que podría tener algo que ver con los problemas que está viendo. Por otro lado, el audio truncado y distorsionado parece que algo más serio está mal. Si esto sigue siendo un problema, ¿qué versión de FFmpeg estás usando? – blahdiblah