ffmpeg - 是否可以使用 -copyts 保留实时码?

ffmpeg - 是否可以使用 -copyts 保留实时码?

这是一项简单的任务。我想制作一个转换后的视频剪辑,以便-copyts获得其真实时间码。例如,此命令的转换剪辑:

ffmpeg -hide_banner -ss 57:41.76 -i input.mp4 -copyts -fs 4085Ki -vf scale=1280:-1 -c:v libvpx -crf 10 -b:v 1000K -maxrate:v 1600K -bufsize 800Ki -threads 4 -quality good -cpu-used 5 -c:a libvorbis -b:a 64Ki -maxrate:a 128Ki input.webm

持续时间为 31 秒,但是:

frame=  938 fps=7.7 q=0.0 Lsize=    4089kB time=00:58:13.15 bitrate=   9.6kbits/s speed=28.8x

说它有 58:13.15 分钟。

-copyts我可以通过从命令代码中删除来实现正常持续时间,但我使用的全部原因-copyts是避免每次都必须计算下一个段,因为我可以设置-ss为 58:13.15 并开始。

对于这个问题,有没有办法修改转换文件的持续时间没有重新转换?比如修改元数据?

我在使用 Windows 7。

答案1

我只是不得不这么做-c copy。我已经忘记了:

将所有新剪辑放入一个新文件夹(建议使用 webm),然后在该文件夹中创建另一个名为的文件夹new并执行以下操作

ffmpeg -i input.webm -c copy new\output.webm

对于自动化过程,请执行以下操作:

for %i in ("*.webm") do ffmpeg -i %i -c copy new\%~ni.webm

这会对-c copy您转换的所有剪辑重复该命令。

相关内容