- 作者:老汪软件技巧
- 发表时间:2024-11-06 00:02
- 浏览量:
AWS EC2 自建音视频编解码硬件选择(GPU&FPGA 硬解方案)
一般我们常见的编解码软件是FFmpeg,它可以充分利用CPU,集成显卡、独立显卡或者专用芯片解码器的资源进行高效的音视频编解码。
AWS EC2为不同的使用场景做了针对性的设计,就编解码而言我们一般使用GPU来进行编解码,所以最好选择具有GPU或者专用芯片的加速型计算型EC2。当我在进行AV1或者VP9编码测试时发现,使用的G4dn机型(带有NVIDIA T4 Tensor Core GPU)速度非常非常慢,后面换用G5机型(NVIDIA A10G Tensor Core GPU)时发现性能也基本没有提升,这时CPU基本跑满但是GPU利用率非常低。后面分析原因发现对于AV1,VP9等新一代编解码算法需要GPU有硬件编解码器才能高效编解码,否则就是低效的CPU软件解码,CPU对AV1、VP9等高压缩率编码格式进行软件计算时效率是极其低下的!
加速型计算型EC2提供Nvidia,AMD和Xilinx U30 FPGA硬件,可用于高效解码。
Nivida GPU:AWS G6开始搭载的L4 GPU开始提供AV1硬件编解码,在这之前的G3、G4dn、G5只能做H264/H265的硬件编码不支持AV1等更新的编解码格式。详情请看Video Encode and Decode GPU Support Matrix,Nvidia GPU是目前使用最广泛的自建编解码方案。Xilinx U30 FPGA:Amazon EC2 VT1 实例搭载的Xilinx U30 FPGA一般用在H264/H265上可以提供最大的性价比。AMD GPU:G4ad可用于H264/H265编解码,AMD GPU价格比Nvidia GPU便宜,在满足同样性能的前提下可以明显节约成本。
具体哪种硬件编解码性价比最高还要考虑实际的业务场景,上面的总结只是硬件编解码模块的支持情况。当我们选择H264、H265或者AV1时,还要考虑浏览器的支持情况,详情见Web video codec guide
GPU&FPGA 专用硬件编解码参考链接:
AWS Accelerates EC2 VT1 Video Transcoding Solutionwith AMDOBS Hardware EncodingAWS EC2 自建音视频编解码硬件选择(CPU软/硬解方案)
目前CPU也内置了一些专用的高级指令集来加速音视频编解码,非常适合短视频场景下的低成本、高弹性小体积音视频文件编解码场景。如果搭配AWS Lambda或者Batch就能够高效的按需申请合适的资源,完成编解码任务后资源自动释放,这样可以节约大量成本。
CPU软/硬编解码参考链接:
AWS 云托管音视频编解码方案
AWS 本身提供media系列云托管服务专用于媒体行业的音视频专业编解码任务。此外如果现代CPU自带的编解码器也能够满足H264的高效编解码需求,在整体成本上有时不比GPU差,也是可以考虑的选项。
比如AWS Elemental MediaConvert可以方便的为我们提供弹性的专业音视频编解码和高级转换操作。