传统的视频转码服务基本都是基于X86下CPU、GPU转码,对硬件性能、功耗、成本来说都比较高。从技术角度来说现有视频转码技术有:
视频编码转变:
1. H.264 => H.265 保持视频分辨率、清晰度不变情况下,更改视频压缩方式,可以有效降低码率、视频帧率,更适合网络传输。
2. H.265 => H.264 保持视频分辨率、清晰度不变情况下,更改视频压缩方式,对一些播放条件要求的进行转换,如WebRTC下无法播放H265视频流,这时就是需要进行视频转码。
3. H.264 => H.264 保持视频分辨率不变情况下,一般用来降低码流、帧率的方式进行视频压缩,使之更适合更低速率的网络进行视频传输。
4. H.265 => H.265 保持视频分辨率不变情况下,一般用来降低码流、帧率的方式进行视频压缩,使之更适合更低速率的网络进行视频传输。
使用技术:
分析市场上产品来看,几乎都在使用ffmpeg来进行视频的编解码、转码,再加上ffmpeg的技术迭代更新比较迅速,技术研发者都比较熟悉其API调用,可以通过少量命令参数、PIPELINE等方式即可进行硬件性能的调用(CUDA、QSV、Vaapi、vdupa等等)。
改变:
通过技术预研,硬件分析等发现基于瑞芯微3588的方案,目前还比较适合用来做视频编解码,本身RK3588的VPU支持最多16路1080P@25fps的编码和解码(同编同解)。编解码侧有rkmpp的sdk