示例:Matroska 中的 H.264 视频 + 流复制音频

示例:Matroska 中的 H.264 视频 + 流复制音频

完整的视频初学者在这里。

我有很多不同格式和编解码器的旧视频 - 比如生日视频、本科生随机拍摄的视频等等。这些文件数量庞大,总共约 25GB - 全部为 720p 或更不可能是 480p。我想让它们变小,同时尽量减少质量损失。

我想过用avconv或重新编码它们ffmpeg- 我正在Ubuntu 15.04 64b此 Stack Overflow 帖子告诉我它们对于我的操作系统实际上是不同的。

一个分析我发现wmv编解码器可能会给我最小的尺寸,而不会损失太多的质量。但是,其他文章say h264(由包启用libx264-dev)允许大量压缩(我不明白如何才能将质量损失降到最低)。

如何获取更小的文件(最好使用示例命令)——wmv 还是压缩的 h264?

答案1

示例:Matroska 中的 H.264 视频 + 流复制音频

ffmpeg -i input -c:v libx264 -crf 23 -preset medium -c:a copy output.mkv

任何 WMV 都是笑话。通过编码器传输的 H.264 视频libx264是目前最好的选择。虽然 H.265 在纸面上看起来不错,但其实现还不足以满足典型用途(除非你的时间很便宜,因为它很慢)。

您基本上只需要更改-crf-preset

  • -crf使用仍能提供可接受质量的最高值。范围是 0-51 的对数刻度。0 表示无损(大文件)。18 左右被认为是视觉上无损。23 是默认值。

  • 使用您有耐心接受的最慢预设。它们是:超快、超快、非常快、更快、快、中等 [默认]、慢、更慢、非常慢、安慰剂(忽略安慰剂;它太慢了,与非常慢相比没有任何潜在的显著优势)。

  • 现在,使用相同的-crf方法-preset处理其余的视频。

音频正在流已复制而不是重新编码,因为绝大多数数据都是视频。

尽管如此,我必须指出 25G 很小,存储也很便宜。如果我处于这种情况,我可能会保留原始视频,而不必费心重新编码。此外,如果原始视频使用现代、高效的格式正确编码,重新编码可能没有帮助。

另请参阅

FFmpeg Wiki:H.264 视频编码指南

答案2

Lord Neckbeard 说得对。WMV 压缩效果很差。目前最好的压缩是 H.265

示例:Matroska 中的 H.265 HEVC 视频 + 流复制音频

ffmpeg -i inputfile -c:a copy -c:v libx265 -preset veryfast -x265-params crf=25 -vf scale=-8:ih outputfile.mkv

引用 Lord Neckbeards 的准确陈述。

您基本上只需要更改 -crf 和 -preset 以满足您的质量和速度要求:

使用仍能提供可接受质量的最高 -crf 值。范围是 0-51 的对数刻度。0 表示无损(大文件)。18 左右被认为是视觉上无损。23 是默认值。

使用您有耐心接受的最慢预设。它们是:超快、超快、非常快、更快、快、中等 [默认]、慢、更慢、非常慢、安慰剂(忽略安慰剂;它太慢了,无法比非常慢具有任何潜在的显著优势)。*

    Now use the same -crf and -preset for the rest of your batch of videos."

x264 和 x265 的 CRF 尺度并不对应。x265 CRF 28 据称等同于 x264 CRF 23。但 x265 的开发尚不如 x264 成熟,因此对于 CRF 等价性要持谨慎态度。

我对上述设置的压缩和质量非常满意。请根据您的喜好进行调整。

分解上面的命令:

-c:a copy 复制音频流而不重新编码。-c:v libx265 选择 libx265 作为视频编解码器 -crf 如上所述 -preset

scale=-8:ih 可避免在源视频的宽度不是 8 像素的整数倍时导致视频无法识别(对于某些输入文件是必要的)

资料来源:

经验

可以让家庭视频变得更小的视频编解码器?

https://video.stackexchange.com/questions/16664/what-c​​rf-or-settings-i-should-choose-for-h265-in-order-to-achieve-a-similiar-qua

https://video.stackexchange.com/questions/16664/what-c​​rf-or-setting

相关内容