Iva*_*van 11 dvd h.264 ffmpeg video-conversion h.265
我有一盒 DVD 视频磁盘,我想把它扔掉,而我想通过将它们转换成 MP4 文件来保存视频,以将它们存储在硬盘驱动器上。
考虑到现代 H.264 AVC 和 H.265 HEVC 压缩算法优于 DVD 标准 MPEG2,我希望通过压缩视频来节省硬盘空间,同时节省约 99% 的 DVD 原始质量。
什么
我应该用它来实现我的目标吗?
我所说的参数是指 CBR/CRF 值、预设(请不要非常慢/安慰剂)、标志等。
PS:我更愿意限制使用情况-pix_fmt yuv420p
并-profile:v baseline -level 3.0
确保文件在所有设备上都能正常播放,包括依赖旧硬件解码器芯片的旧设备。使用稍微增加的 I 帧频率(使用-g
参数)也是可取的,以促进低速和高延迟媒体的使用。
对于 HEVC,我也更喜欢使用可以确保在支持它的设备上进行流畅的硬件加速播放的参数,但我并不是要关注这个限制,因为我还没有看到任何提供硬件加速 H.265 的设备解码。
slh*_*hck 15
请注意,为此,您应该始终使用最新的 ffmpeg 版本,最好自己编译。这使您可以访问最新的 libx265 和 libfdk-aac 进行音频编码。
此外,如果您将大约 10 MBit/s DVD 的数据速率降低到 H.264 视频的大约 1-2 MBit/s 和 H.265 视频的 0.5-1 MBit/s,则数据速率节省将非常大。在以下步骤中更改质量可能会影响比特率,但仍然可以显着减少数据。
对于质量/速率控制,您希望在 libx264 中使用CRF 模式而不是恒定比特率。使用 CRF 可确保保持平均质量,而与原始视频分辨率或其复杂性无关。只有当您受到传输介质(例如硬盘驱动器速度、互联网吞吐量)的限制时,恒定比特率才真正有用。
选择 CRF 值是棘手的部分。它需要您查看输出。libx264 (23) 的默认值在大小和质量之间提供了很好的权衡。但是考虑到您的原始源已经被压缩(与蓝光相比质量不是很好),您可能希望将 CRF 更改为低一点,例如 20。这将增加所需的比特率大约三分之一.
根据您要等待的时间选择预设。slow
这里似乎物有所值。
ffmpeg -i input \
-c:v libx264 -crf 20 -pix_fmt yuv420p \
-x264-params keyint=240:min-keyint=20 \
-preset:v slow -profile:v baseline -level 3.0 \
-c:a libfdk_aac -vbr 4 \
output.mp4
Run Code Online (Sandbox Code Playgroud)
如果 libfdk-aac 不可用,可以使用内置的 ffmpeg AAC 编码器。使用-c:a aac -strict experimental -b:a 128k
代替-c:a libfdk_aac -vbr 4
。
研究表明,与 H.264 相比,使用 HEVC 可节省高达 74% 的比特率。这是基于超高清序列的主观观看数据。当然,这取决于源内容的时间复杂度,对于难编码的序列,保存的数据量不会那么高。无论哪种方式,您都可以肯定地说,数据减少 50% 是绝对可能的。
libx265 的默认 CRF 为 28。使用相同的源内容,与 CRF 23 处的 libx264 相比,它的比特率大约是 libx264 的一半。这与实际比特率无关,即,如果 H.264 版本需要 1.5 MBit/s,那么 H.265 将使用大约 750 kBit/s,但它是 750 kBit/s,而另一个序列则为 350 kBit/s。我以 DVD-PAL 分辨率在几个序列上运行它,但无法分辨质量上的差异。
ffmpeg -i input \
-c:v libx265 -pix_fmt yuv420p \
-x265-params crf=28:keyint=240:min-keyint=20 \
-preset:v slow \
-c:a libfdk_aac -vbr 4 \
output.mp4
Run Code Online (Sandbox Code Playgroud)
有关更多信息,以下是相关资源:
归档时间: |
|
查看次数: |
18544 次 |
最近记录: |