微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何通过冻结最后一帧而不重新编码整个流来扩展视频?

如何解决如何通过冻结最后一帧而不重新编码整个流来扩展视频?

我想在不重新编码整个视频流的情况下实现两件事:

  1. 通过在给定的持续时间内冻结最后一帧来扩展视频。
  2. 通过在给定的时间戳在给定的持续时间内冻结帧来扩展视频。

目前我正在使用 ffmpeg -i in.mp4 -vf tpad=stop_mode=clone:stop_duration=5 out.mp4,但它需要对整个视频流进行编码,并且只允许冻结流的最后一帧。为了得到我想要的结果,我需要将视频分割成多个片段,将片段的最后一秒提取一个单独的文件中(所以我只对那部分重新编码),在其上运行上面的命令,然后将所有片段合并回来连接分离器。

有没有更好更简单的方法来实现上述目标?

解决方法

要“扩展”最后一帧,请通过填充来扩展音频流。

ffmpeg -i in.mp4 -c:v copy -af apad -t 5 out.mp4

如果没有现有的音频流,添加一个

ffmpeg -i in.mp4 -f lavfi -i anullsrc -c:v copy -af apad -t 5 out.mp4

对于以最少的重新编码在中间暂停帧,分段 + 连接确实是要走的路

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。