我试图改变一个MP4视频的框架(这是一个120 MP4的GoPro视频,我想在30 MP4的时候播放慢动作效果)。
我用avconv做这个:
avconv -i SourceMovie.mp4 -vf setpts=4.0*PTS -r 30 DestMovie.mp4这在技术上可行,但它重新编码了这部电影。除了速度慢之外,这显然是一个质量问题。从技术上讲,应该有一种方法来设置视频标题中的fps,我如何才能改变它呢?(除avconv之外的任何其他工具也会起作用。)
发布于 2013-11-04 06:30:23
MP4Box可以做到。
命令
MP4Box -add SourceMovie.mp4#video -raw 1 -new test创建文件test和test_track1.h264。现在您可以使用您想要的支持框架创建一个mp4文件(在本例中为30):
MP4Box -add test_track1.h264:fps=30 -new DestMovie.mp4MP4Box是gpac包的一部分,所以一定要安装它。
发布于 2013-11-04 00:30:23
改变视频(容器)头部的帧数对视频流(或音频流)本身没有影响。重新编码是唯一的选择。
视频流具有时间戳,在大多数视频中,由于帧间压缩,帧之间是相互依存的。有些播放器可以加速和减慢视频,但不能通过嵌入式命令或其他什么。当容器命令要求更改框架时,任何玩家都不能这样做。该视频文件将最终超出规格(即不遵循标准),99.9%的玩家将拒绝遵守它。如果不重新编码,就不可能做你想做的事。当然,您可以等到编辑的最后一步再进行重新编码。
发布于 2014-11-10 17:52:11
如果您的主要目的是以慢动作播放它,而不是将该文件保存为MP4,则可以使用MKVmerge GUI工具将其重新修改到Matroska容器中,该容器可以轻松地更改框架。Remuxing比重新编码要好得多,因为它只改变元数据,而不是流本身。
首先安装软件包
sudo apt-get install mkvtoolnix-gui然后启动MKVmerge GUI。你会面对这样一扇窗户

只需按“添加”按钮,并选择您的文件,甚至只是拖-n-将文件放到“输入文件”区域。此时,您应该能够选择视频中的视频流。您也可以删除其他流,因为它们无论如何都会妨碍您。
在您选择了它之后,您应该会看到底部的选项卡变得活跃起来:

更改为“格式化特定操作”

您可以看到有一个字段"FPS",其中您可以输入帧每秒的值。看起来你计划把事情放慢四次,所以每秒大约7帧是你的目标。您也可以使用“按拉伸”选项。
在此之后,您只需更改输出文件的名称(如果需要),然后按"Start muxing“。
该程序将运行,您应该有您的文件。
https://askubuntu.com/questions/370692
复制相似问题