将视频展开(扩展)到特定的持续时间

Bor*_*jaX 3 video ubuntu ffmpeg vlc transcoding

不要VLCFFmpeg的(或AVconv)有任何功能的视频持续时间强制在一定秒数?

假设我有一个... 5分钟.mp4视频(没有音频).有没有办法让上述任何工具"扩展"视频到更长的时间?该视频来自Power Point幻灯片,但它太短(运行得太快,不能这么说).这个想法是自动插入帧,使其达到指定的持续时间.它看起来像是非常可行的东西(呃...对于像我一样的视频编码/转码的新手):一个5分钟的视频,30fps意味着我有9000帧...为了让它长10倍,得到第一个"真实"框架,复制十次,然后获得第二个"真实"框架,复制十次......依此类推.

我正在使用Ubuntu 12.04,但如果需要,我可以安装/编译任何所需的软件.到目前为止,我有VLC,AVConv和FFmpeg的(FFmpeg的在特定的文件夹,所以不会有冲突AVConv)

先感谢您.

llo*_*gan 6

setpts在ffmpeg中尝试过滤器.从过滤器文档:

应用慢动作效果:
setpts = 2.0*PTS

你想要的东西大约长10倍:

ffmpeg -i input -vf setpts=10*PTS output
Run Code Online (Sandbox Code Playgroud)

ffmpeg将复制帧以实现新的持续时间.对于那些想要对音频执行相同操作的人,请参阅asetpts过滤器.我假设你想在MP4容器中使用H.264,因为你没有指出你想要的输出格式:

ffmpeg -i input -vf setpts=10*PTS -c:v libx264 -preset medium -crf 23 output.mp4
Run Code Online (Sandbox Code Playgroud)

这些是我用来说明-preset-crf选项的默认设置.有关如何获得所需精确质量的详细说明,请参阅FFmpeg和x264编码指南.

对于将来的参考,ffmpeg命令行使用问题应该针对超级用户而不是特定于编程的Stack Overflow.