腾讯云+FFmpeg打造一条完备高效的视频产品链( 八 )

2.4 性能之痛

腾讯云+FFmpeg打造一条完备高效的视频产品链

性能在多媒体技术中一直是一个永恒的话题,例如压缩技术在十年间可以提升50%的压缩率,但复杂度却会提升10倍以上,这对计算能力提出了一个非常大的挑战。我们知道,所有优化的前提是理解算法与数据流向,并且有Profiling的数据作为支撑,除了算法上面的提升以外,也需要更好更充分的利用已有的硬件资源。大部分情况下,硬件性能优化是在CPU和GPU上完成。以FFmpeg为例,它的CPU优化在上体现在多线程和SIMD优化两个方面,在解码过程中使用了基于Frame和Slice的线程以及更为底层的SIMD优化,在Filter中只用了基于Slice的线程与SIMD。GPU一般来说有二个优化方向,一个是专有硬件,比如Intel GPU中的QSV部分,一块是通用计算加速和3D渲染,分别是CUDA,以及尝试和CUDA对抗的OpenCL,还有历史悠久的OpenGL以及它的继任者Vulkan。

2.4.1 CPU加速

腾讯云+FFmpeg打造一条完备高效的视频产品链

推荐阅读