我有几个视频文件MPEG-PS\MPEG-4 Visual\MPEG Audio
,这些文件的时间码已损坏,导致大多数播放器无法正确播放。当我尝试使用 VLC 打开它时,它可以正常播放视频,但总文件时长指示器不断变化,来回跳跃。
MPEG-4\AVC\AAC
我尝试使用此命令简单地将文件转换为:
ffmpeg.exe -nostdin -y -loglevel info -i "D:\input.mp4" -f mp4 "D:\output.mp4"
但它导致文件时长不正确。视频流播放正常,但最终文件的总时长比应有的时长长了几个小时,这意味着最后会有几个小时的黑帧和静音。
有没有什么方法可以进行转换MPEG-PS\MPEG-4 Visual\MPEG Audio
并MPEG-4\AVC\AAC
纠正或创建新的时间线?
答案1
你有两种选择:
- 使用 -t 参数在所需的终点停止
- 使用
concat
输入:一个非常短的正确剪辑(例如 1 帧黑色),然后是缺陷剪辑。使用输入concat
,ffmpeg 将使用第一个输入的时间戳,然后调整以下时间戳以无缝附加到它。
-c copy
如果没有必要,您可能还想使用该参数来避免重新编码。