我真的很感激,如果有人能够给出关于使用itsoffset与ffmpeg的一些指点。 我读了一些职位在这个问题上,他们中的一些解释很清楚如何与-itsoffset重新同步音频和视频,但我一直无法使它发挥作用。 我的AVI文件进行编码的ffmpeg,在两遍,使用下面的命令用于第二遍:
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
无论出于何种原因,我结束了在视频中的1秒延迟(或音频是1秒早期)。 这不会经常发生,但我看到它不时。 在其他的尝试,我已经试过如下:
(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
下面是结果:
- 音频乱码只有5m 35秒长与1H41米。
- (Output.ac3是output.avi的音频组件)视频和音频等同于原来,偏移没有工作
- 音频没有得到转移,但是默认的替换原始编码参数(如预期)。
- 音频乱码,只有9米56S长与1H41米。
我看到很多人解释说,显然使用上述过程,但它似乎并没有为我工作。 我失去了一些东西明显? 我非常希望能够用-itsoffset因为它比我的解决方法解决方案清洁剂。
FWIW,这里是获得所需结果的不同,和更长的路:
首先创建一个移动视频文件只使用-ss:
ffmpeg -i output.avi -ss 1.0 -vcodec copy -an oupput_videoshifted.avi
然后提取音频:
ffmpeg -i output.avi -vn -acodec copy outputaudioonly.ac3
最后REMUX两个组成部分:
ffmpeg -i output_videoshifted.avi -i output_audioonly.ac3 -vcodec copy -acodec copy -map 0:0 -map 1:0 output-resynched14.avi
其工作过程是速度不够快,但我真的喜欢使用一个通过-itsoffset解决方案。