我应该查看哪些参数来减小.MOV文件的大小?


12

我的佳能60D在录制视频时会创建.MOV文件,并且我发现.MOV容器具有H264视频流和PCM音频流。

我使用ffmpeg和GSpot观看了一些视频,我看到了似乎很高的比特率(640x480为22,000kbps,1920x1080为45,000)。

我想减小文件的大小,但要保持较高的质量。我一直在考虑我想过的最简单的事情,即降低比特率,这确实达到了我的预期:将比特率减半,文件大小约为一半。但是我想知道是否有一种方法可以确定“良好”的目标比特率,或者是否有尝试进行可变比特率的意义。

Answers:


21

但是我想知道是否有办法确定“好”目标比特率……

良好的目标比特率是以下任一比特率:

  • 您正在从中传输素材的网络所支持(例如3G网络,家庭WiFi等),这非常容易计算
  • 您来说看起来不错,这是一个非常主观的措施

对于普通用户而言,22 Mbit / s或45 Mbit / s的确确实很高,尤其是对于已经压缩的视频(例如h.264)。您绝对可以继续将比特率降低为“合理”的值,并且始终要考虑到可以承受的存储容量和想要失去的质量。

如果您确实不需要大小或没有处理能力来编辑它,也可以将1080p视频的大小调整为720p。

…或者尝试进行可变比特率有什么意义

恒定比特率的关键是要适应流媒体场景,在这种情况下,瓶颈会限制所传输视频的最大比特率。在当今的多媒体世界中,这已不再有意义。

当您将视频压缩为每秒固定数量的比特时,您基本上告诉编码器始终使用相同数量的比特对相同时间帧进行编码。那是最好的方法吗?您可能已经猜到了,事实并非如此。引用Handbrake 的CRF指南(我稍后会再讲):

与静止物体相比,眼睛在静止物体中感知的细节更多。因此,视频压缩器可以在物体移动时应用更多的压缩(丢弃更多细节),而在物体静止时应用更少的压缩(保留更多细节)。从主观上讲,视频似乎具有更高的质量。

因此,尽可能使用可变比特率确实很有意义。即使在恒定比特率视频的文件大小相同的情况下,也可以使视频看起来更好。

更是这样,大多数编码器-最有名的一个是X264的 -通常执行非常当你告诉他们使用一个恒定比特率不好。从他们想花一帧多少位的角度来看,最好给他们更多的“自由度”。毕竟,这是编码器的工作,而不是您。这就是所谓的“恒定质量”。


足够了–在实践中这意味着什么?如果您使用FFmpeg对视频进行编码,那么您已经在使用足够好的工具。如果您现在还安装了x264,并且使用了两者的最新版本,那么您使用的是目前免费提供的最佳编码器之一。与其以固定的比特率进行编码,不如让x264选择要花费的金额。通过使用“ 恒定速率因子”选项来执行此操作。

在非常简单的情况下,这意味着将值设置为17到23。我选择MP4作为输出容器而不是MOV,因为可以使用更好的工具来进行多路复用:

ffmpeg -i input.mov -c:v libx264 -crf 22 output.mp4

值越低,质量越好,输出越大。反之亦然,质量越高,质量越低。同时,您当然会降低所需的平均比特率。有关更多信息,请查看x264编码指南ffmpeg

您现在的任务是找到一个CRF值:

  • 将总比特率降低到您可以承受的水平
  • 不会过多降低质量,因此视频仍然看起来不错

是的,这涉及很多编码和反复试验,但这是您调试和编码视频时的日常工作。

哦,如果您不喜欢命令行,Handbrake是一个免费的,跨平台的工具,功能完全相同。它甚至具有一个CRF滑块:

在此处输入图片说明


关于运动对象的细节,是不是在视频压缩中经常过分夸张,还是我只记得那些不好的例子?像曾经相机详细显着增加停止平移等
丹尼尔·贝克

这实际上很常见,称为“稳定”问题。例如,当您看到障碍消失时。对于运动速率变化太快而速率控制无法适应的低比特率场景,这是典型的情况。我认为两次通过编码可以在这里有所帮助,但可能没有太大帮助。我不知道是否有可能完全摆脱这些伪像。
slhck 2012年

我过去曾经使用过Handbrake,将DV avis从视频摄像机转换为DivX和mp4,但是当我试图弄清从.mov到h264 mp4的选项时,发现使用命令行更容易。创建DivX时,是否有-crf的等效项?(还是应该问另一个问题?)
病房-恢复莫妮卡(Monica

@Ward可以使用-qscale。对于mpeg *,比例是线性的,范围是1-31(31是最差的质量),将该值加倍将导致大约一半的比特率。值2在视觉上大致可以算是无损的。3-5通常是一个很好的平衡点,但是当然质量是主观的,您只需要尝试一下即可。
llogan '01年

真好!一些问题。(1)在“ 1080p视频到720p”中,数字后跟“ p”是什么意思?(2)x264使用可变比特率,但是为什么ffmpeg中的选项称为“恒定速率因子”?谢谢!
蒂姆(Tim)

2

尝试HandBrake CLI

我想缩小一些MOV文件,并且不希望了解有关视频选项的所有详细信息。我使用的是HandBrake CLI。预设很好:

HandBrake提供了硬编码的出厂默认预设,这些预设与MacGui中的内置预设完全相同。

就我而言,这很好用:

HandBrakeCLI -i input.MOV -o output.mp4 --preset="Normal"

没有预设,输出很小,但质量不好。“正常”预设对我来说不错,但是您可以使用来查看其他可用的预设,也可以HandBrakeCLI --preset-list根据需要自己调整所有选项。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.