正如人们在评论中所说,处理你实际上要解决的问题的正确方法是调整字幕,或告诉你的播放器他们是用于不同的速度视频。 (例如。 mpv --sub-fps 25
将保持25fps节目的潜艇与24 / 1.001 fps副本同步。)( http://mpv.io/ )
但要回答实际问题:
您无需重新编码即可更改fps。 ffmpeg的 无法使用新的时间戳重新启动 不幸的是,没有重新编码,但这是ffmpeg的设计限制。视频编码有损且非常慢,所以不要这样做。
尝试 mkvmerge --default-duration 0:24000/1001fps --fix-bitstream-timing-information 0 in.mkv -o out.mkv
更改视频FPS。这不会触及音频时序,因此您将获得/ v desync。 0:
选择曲目 0
在您的输入文件中,我认为通常是视频。
在使用保持音高的加速滤波器处理音频后,您需要对音频进行重新编码。我通常只在播放时使用mpv / mplayer进行此操作 scaletempo
filter(mpv自动插入)。 ffmpeg有一个 atempo
可能有效的过滤器。
因此,使用24 / 1.001fps视频复用减慢的音频,您应该再次使用工作文件。
我没有真正测试这一切,因为通常你永远不需要这样做。告诉你的玩家潜艇的速度是多少。你甚至可以使用 mpv --speed 25025/24000 -subfps 25 myfile.mkv
如果你有一个24 / 1.001 fps的英国节目最初的25fps副本,并希望以原始速度播放,并以恒定的音频加速播放,以25fps即时播放你的视频。