【视频转码】基于RK3588的视频转码探索

传统的视频转码服务基本都是基于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,图片缩放有RGA。

同样也可以使用ffmpeg的api接口来进行调用,github上有位大佬集成了mpp和rga链接ffmpeg with rockchip,通过此分支利用无缝的把X86上的程序迁移至arm上运行。

Decoders/Hwaccel:

bash 复制代码
V..... av1_rkmpp            Rockchip MPP (Media Process Platform) AV1 decoder (codec av1)
 V..... h263_rkmpp           Rockchip MPP (Media Process Platform) H263 decoder (codec h263)
 V..... h264_rkmpp           Rockchip MPP (Media Process Platform) H264 decoder (codec h264)
 V..... hevc_rkmpp           Rockchip MPP (Media Process Platform) HEVC decoder (codec hevc)
 V..... mpeg1_rkmpp          Rockchip MPP (Media Process Platform) MPEG1VIDEO decoder (codec mpeg1video)
 V..... mpeg2_rkmpp          Rockchip MPP (Media Process Platform) MPEG2VIDEO decoder (codec mpeg2video)
 V..... mpeg4_rkmpp          Rockchip MPP (Media Process Platform) MPEG4 decoder (codec mpeg4)
 V..... vp8_rkmpp            Rockchip MPP (Media Process Platform) VP8 decoder (codec vp8)
 V..... vp9_rkmpp            Rockchip MPP (Media Process Platform) VP9 decoder (codec vp9)

Encoders:

bash 复制代码
 V..... h264_rkmpp           Rockchip MPP (Media Process Platform) H264 encoder (codec h264)
 V..... hevc_rkmpp           Rockchip MPP (Media Process Platform) HEVC encoder (codec hevc)

Filters:

bash 复制代码
... overlay_rkrga     VV->V      Rockchip RGA (2D Raster Graphic Acceleration) video compositor
 ... scale_rkrga       V->V       Rockchip RGA (2D Raster Graphic Acceleration) video resizer and format converter
 ... vpp_rkrga         V->V       Rockchip RGA (2D Raster Graphic Acceleration) video post-process (scale/crop/transpose)
相关推荐
Android系统攻城狮9 小时前
Android16进阶之音频播放定位MediaPlayer.seekTo调用流程与实战(二百二十七)
音视频·mediaplayer·android16·音频进阶·音频性能实战
晚霞的不甘10 小时前
Flutter for OpenHarmony 可视化教学:A* 寻路算法的交互式演示
人工智能·算法·flutter·架构·开源·音视频
听麟10 小时前
HarmonyOS 6.0+ 跨端智慧政务服务平台开发实战:多端协同办理与电子证照管理落地
笔记·华为·wpf·音视频·harmonyos·政务
晚霞的不甘11 小时前
Flutter for OpenHarmony 实现计算几何:Graham Scan 凸包算法的可视化演示
人工智能·算法·flutter·架构·开源·音视频
零一iTEM12 小时前
MAX98357A_音频输出测试
单片机·嵌入式硬件·开源·音视频·硬件工程
Android系统攻城狮13 小时前
Android16进阶之获取播放位置MediaPlayer.getCurrentPosition调用流程与实战(二百二十八)
音视频·android16·音频进阶·音频性能实战
愚公搬代码15 小时前
【愚公系列】《AI短视频创作一本通》020-AI短视频创作实例精解(文旅宣传AI短视频实例精解)
人工智能·音视频
有位神秘人15 小时前
Android获取设备中本地音频
android·音视频
硫酸锌0115 小时前
使用ffmpeg合并文件夹内的所有*.mp4格式视频
ffmpeg·音视频
源文雨15 小时前
shell调用ffmpeg递归转换所有wav至flac的脚本
ffmpeg·bash·音视频·音频·unix·shell·音频编码