首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在不重新编码的情况下更改视频的帧

如何在不重新编码的情况下更改视频的帧
EN

Ask Ubuntu用户
提问于 2013-11-03 22:42:47
回答 3查看 76.3K关注 0票数 16

我试图改变一个MP4视频的框架(这是一个120 MP4的GoPro视频,我想在30 MP4的时候播放慢动作效果)。

我用avconv做这个:

代码语言:javascript
复制
avconv -i SourceMovie.mp4 -vf setpts=4.0*PTS -r 30 DestMovie.mp4

这在技术上可行,但它重新编码了这部电影。除了速度慢之外,这显然是一个质量问题。从技术上讲,应该有一种方法来设置视频标题中的fps,我如何才能改变它呢?(除avconv之外的任何其他工具也会起作用。)

EN

回答 3

Ask Ubuntu用户

回答已采纳

发布于 2013-11-04 06:30:23

MP4Box可以做到。

命令

代码语言:javascript
复制
MP4Box -add SourceMovie.mp4#video -raw 1 -new test

创建文件testtest_track1.h264。现在您可以使用您想要的支持框架创建一个mp4文件(在本例中为30):

代码语言:javascript
复制
MP4Box -add test_track1.h264:fps=30 -new DestMovie.mp4

MP4Box是gpac包的一部分,所以一定要安装它。

票数 19
EN

Ask Ubuntu用户

发布于 2013-11-04 00:30:23

改变视频(容器)头部的帧数对视频流(或音频流)本身没有影响。重新编码是唯一的选择。

视频流具有时间戳,在大多数视频中,由于帧间压缩,帧之间是相互依存的。有些播放器可以加速和减慢视频,但不能通过嵌入式命令或其他什么。当容器命令要求更改框架时,任何玩家都不能这样做。该视频文件将最终超出规格(即不遵循标准),99.9%的玩家将拒绝遵守它。如果不重新编码,就不可能做你想做的事。当然,您可以等到编辑的最后一步再进行重新编码。

票数 6
EN

Ask Ubuntu用户

发布于 2014-11-10 17:52:11

如果您的主要目的是以慢动作播放它,而不是将该文件保存为MP4,则可以使用MKVmerge GUI工具将其重新修改到Matroska容器中,该容器可以轻松地更改框架。Remuxing比重新编码要好得多,因为它只改变元数据,而不是流本身。

首先安装软件包

代码语言:javascript
复制
sudo apt-get install mkvtoolnix-gui

然后启动MKVmerge GUI。你会面对这样一扇窗户

只需按“添加”按钮,并选择您的文件,甚至只是拖-n-将文件放到“输入文件”区域。此时,您应该能够选择视频中的视频流。您也可以删除其他流,因为它们无论如何都会妨碍您。

在您选择了它之后,您应该会看到底部的选项卡变得活跃起来:

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

您可以看到有一个字段"FPS",其中您可以输入帧每秒的值。看起来你计划把事情放慢四次,所以每秒大约7帧是你的目标。您也可以使用“按拉伸”选项。

在此之后,您只需更改输出文件的名称(如果需要),然后按"Start muxing“。

该程序将运行,您应该有您的文件。

票数 4
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/370692

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档