版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

...

基于 Rockchip MPP(Media Process Platform)框架的硬解码工具信息:

项目详情
工具名称ppvidedec
工具版本1.14.4
依赖库路径/usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstrockchipmpp.so
支持编码格式HEVC/H.265、AVC/H.264、VP8、VP9
解码类型硬件加速解码
最大解码能力8K 10-bit 视频解码,支持 8K 60Hz 视频输出
2.测试步骤:
2.1.准备测试视频:
代码块
languageshell
titlebash
#1.本地测试视频路径:
C:\Users\Administrator\Desktop\test_video\4K_60fps.mp4

# 2.通过 ADB 将视频推送至开发板:
adb push "C:\Users\Administrator\Desktop\boot\4K_60fps.mp4" /tmp/

...

代码块
languageshell
titlebash
# 使用gst-launch-1.0调用 MPP 硬解码工具,验证解码功能:
gst-launch-1.0 filesrc location=/tmp/4K_60fps.mp4 ! \
qtdemux ! \
h264parse ! \
mppvideodec ! \
videoconvert ! \
autovideosink

 2.3.测试验证要点

  • 视频播放状态:需无花屏、绿屏、卡顿等异常现象;
  • 日志信息:终端输出中不得出现decode errorResource not foundpipeline doesn't want to preroll等报错,需呈现正常启动流程(示例如下);
  • 显示效果:执行播放命令后,显示界面应呈现完整、清晰的视频画面(无解码异常导致的画面畸变、色彩失真)。

日志信息正常输出示例(说明)

代码块
languageshell
titlebash
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Pipeline is PREROLLED ...
Prerolled, waiting for async message to finish...
Setting pipeline to PLAYING ...
New clock: GstSystemClock

#日志逐行说明:
#Setting pipeline to PAUSED ...:GStreamer 管道进入暂停状态,开始初始化音视频解码组件(如 MPP 硬解码器),无报错代表组件加载初始化无异常;
#Pipeline is PREROLLING ...:管道进入预滚动阶段,开始读取视频文件并解析码流,为硬解码做数据准备;
#Pipeline is PREROLLED ...:预滚动完成,视频码流解析成功,RK3566 的 MPP 硬解码单元已获取有效数据;
#Prerolled, waiting for async message to finish...:预滚动完成后等待异步消息确认,是 GStreamer 适配嵌入式设备的正常等待流程,无异常;
#Setting pipeline to PLAYING ...:管道切换至播放状态,硬解码开始输出视频帧至显示设备;
#New clock: GstSystemClock:系统时钟同步完成,音视频时序匹配,无卡顿、音画不同步风险。

...

代码块
languageshell
titlebash
# 操作说明:通过ADB远程执行top命令,查看系统资源占用(取前20行关键信息)
adb shell "top -n1 | head -20"

 3  3.2系统状态输出示例(终端执行后输出如下,红框为核心监控项)

代码块
languageshell
titlebash
#
top - 06:01:06 up 17:57,  1 user,  load average: 2.10, 2.61, 2.56
Tasks: 276 total,   2 running, 274 sleeping,   0 stopped,   0 zombie
%Cpu(s):  3.8 us,  6.0 sy,  0.0 ni, 90.2 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   3899.3 total,     91.5 free,    822.6 used,   2985.2 buff/cache
MiB Swap:      0.0 total,      0.0 free,      0.0 used.   1694.6 avail Mem

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
   1981 root      20   0 4747336 266284 215960 R  50.0   6.7 877:37.20 Xorg
   2456 blueber+  20   0 1839264  74872  56884 S  12.5   1.9  60:46.06 xfwm4
   2513 blueber+  20   0  314400  39220  29936 S  12.5   1.0  44:54.98 xfce4-p+
  38043 root      20   0  529528  23188  11316 S  12.5   0.6   0:13.87 gst-lau+
  38263 root      20   0    9048   3400   2712 R   6.2   0.1   0:00.02 top
      1 root      20   0  165012   9932   7220 S   0.0   0.2   5:17.56 systemd
      2 root      20   0       0      0      0 S   0.0   0.0   0:00.45 kthreadd
      3 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_gp
      4 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_par+
      8 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 mm_perc+
      9 root      20   0       0      0      0 S   0.0   0.0   0:00.00 rcu_tas+
     10 root      20   0       0      0      0 S   0.0   0.0   0:00.00 rcu_tas+
     11 root      20   0       0      0      0 S   0.0   0.0   0:04.57 ksoftir+

  3.3状态分析

监控项结果说明
CPU 整体负载用户 3.8% + 系统 6.0% + 空闲 90.2%空闲占比超 90%,CPU 资源冗余充足;当前高占比进程为桌面服务(Xorg、xfwm4),属于系统基础负载
内存状态总 3899MB,已用 829MB,可用 2968MB内存剩余充足,无内存不足风险
关键进程 CPU 占比桌面服务(Xorg)占 50%,终端(tilda)占 12.5%若此时运行视频播放进程,需重点关注其 % CPU 值(硬解码生效时通常<10%)
内存占用已用 829MB,缓存占 2864MB内存缓存占比高,系统数据读写效率有保障

3 3.4测试结论:视频功能播放正常,无卡顿、花屏现象;CPU 4测试结论:视频功能播放正常,无卡顿、花屏现象;CPU 占用率低(硬解码加速生效),系统资源负载符合预期。

...