加载了真正的ffmpeg的Ubuntu 14.04.1(avconv版本存在相同问题)。
我正在尝试使用HDPVR拍摄在MythTV中创建的文件,剪切广告并将视频放入MP4容器中,以便与MythRoku一起使用。
命令
ffmpeg -i $file -acodec copy -vcodec copy -f mp4 file.mp4
工作正常。更新数据库后,可以在MythRoku或Plex中观看文件。
但是,当我尝试剪切广告时,每当剪切超过0标记时,音频就会超过1秒(音频延迟)不同步。图腾视频播放器和VLC都可以很好地播放最终的视频,但是当它们同步音频时,我在开始时会看到一个“障碍”,所以我知道音频同步的信息在文件中的某个位置。播放文件时,Mythroku和Plex均不同步。MythTV Frontend播放器实际上确实可以正确播放它,并且在同步音频时,我可以听到“声音”。
经过数小时的阅读帖子和使用设置后,我将其归结为:
如果我说:
ffmpeg -i $file -acodec copy -vcodec copy -f mp4 -ss 0 -t <anything> out.mp4
该文件很好,可以在本地和MythRoku / Plex中播放
但是,如果我提前任何时间-甚至1秒-音频都不同步
ffmpeg -i $file -acodec copy -vcodec copy -f mp4 -ss 1 -t <anything> out.mp4
我尝试过先将视频(如mp4)和音频(如ac3)分开,分别分开,然后作为最后一步放回去,但是得到的结果是相同的。
信息在文件中-Totem,VLC和Frontend都可以解决。如何让ffmpeg找出同步并写入文件,使其正确无误?
原始文件:
mythtv@marvin:~$ mediainfo /var/lib/mythtv/recordings/2225_20140824001500.mpg
General
ID : 0 (0x0)
Complete name : /var/lib/mythtv/recordings/2225_20140824001500.mpg
Format : MPEG-TS
File size : 4.03 GiB
Duration : 1h 45mn
Overall bit …
Run Code Online (Sandbox Code Playgroud)