繁体   English   中英

以2:1缩小H264视频的最快方法是什么?

[英]what is The fastest way to scale down a H264 video in 2:1?

当我使用ffmpeg缩放H264视频时。 似乎视频被解码为原始图,然后缩放并再次编码。 但是,如果速度非常关键,是否可以指定2:1之类的“好”比率,好像我想每四个像素拾取一个像素,是否有更快的方法呢?

我知道h264的工作原理,将8 * 8/4 * 4像素编码为一组,因此在其范围内拾取1/4像素并不容易。 但是,有没有一种方法可以将4组快速合并为一个组?

当使用ffmpeg进行缩放时,无法避免重新编码到视频的任何部分。 对于规模操作,ffmpeg以管道方式工作,如下所示:

解码器---->定标器----->编码器

缩放器仅在完全解码的帧可用后才进行缩放操作。 由于每个数据包都通过此管道,因此编码器仅接收解压缩(YUV格式)形式的视频帧。 因此,在缩放操作后,每个YUV帧都会重新编码。 我想这阐明了为什么没有办法避免重新编码。

缩放比例确实在复杂性中起作用。 我猜比例比为2:1是可以的,比例比会影响比例算法中使用的抽头数(滤波器系数)。 同样,您可以选择的缩放算法会增加另一层复杂性。 ffmpeg中最小复杂的缩放算法是“ fast_bilinear”。 但是请注意视频质量的权衡。

当然,编码速度是要考虑的另一个因素。 看来您对此相当了解。 一件事,看看是否可以使用系统中可用的硬件解码器和编码器。 如果有HW编解码器,则可以大大提高整个管道的速度。 您可以为ffmpeg使用-hwaccel dxva2选项

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM