0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

RK3562 单板机多媒体开发完全手册:视频输入输出与 GStreamer 案例详解(二)

Tronlong创龙科技 来源:Tronlong创龙科技 作者:Tronlong创龙科技 2026-03-17 09:49 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

2 gst_dec_display案例

2.1案例说明

本案例使用GStreamer API实现ARM端从本地导入H.264/H.265编码格式的800x480分辨率视频文件,然后进行H.264或H.265(NV12)解码,将解码后的图像以60fps的帧率实时显示至LVDS显示屏。

备注:播放视频时,本案例的H.264解码功能仅支持H.264编码格式的视频,H.265解码功能仅支持H.265编码格式的视频。

程序流程图如下图所示:

wKgZO2m4sTOAPgVqAAuDqXvdMu0611.png图 3

案例目录说明如下表所示。

wKgZPGm4sfiAToFrAAAenGyTsKM281.png

2.2案例测试

请通过DVI线将LVDS显示屏(厂家:欣瑞达,型号:XT070YTA23R_A6)连接至单板机LVDS OUT接口。将案例video目录下的birds_800x480_60_H.264.mp4、birds_800x480_60_H.265.mp4视频文件和bin目录下的可执行程序gst_dec_display拷贝至单板机系统任意目录下,并进入可执行程序所在目录,执行如下命令查看程序参数信息。

Target# ./gst_dec_display --help

wKgZO2m4sf-ABedpAAA1wN33o4g008.png图 4

参数解析:

-l:选择要播放视频的路径。

-x:选择H.264或H.265格式解码。

-r:选择播放视频时的帧率。

-v:版本信息。

--help:帮助信息。

2.2.1解码H.264格式视频

(1)解码800x480@60fps视频

执行如下命令,以H.264格式对视频进行解码,并将800x480@60fps的视频在LVDS显示屏上播放。

Target# ./gst_dec_display -l birds_800x480_60_H-264.mp4 -x h264 -r 60/1

wKgZPGm4sgWAcIsxAAAdAd3kTvA140.png图 5

LVDS显示屏将会播放birds_800x480_60_H.264.mp4视频文件,如下图所示。

wKgZO2m4sguAU9ldAAiMnDhNiIQ186.png图 6

视频播放完后将自动退出。

wKgZO2m4shKACc21AAUc1sfGG8Q033.png图 7

2.2.2解码H.265格式视频

(1)解码800x480@60fps视频

执行如下命令,以H.265格式对视频进行解码,并将800x480@60fps的视频在LVDS显示屏上播放。

Target# ./gst_dec_display -l birds_800x480_60_H-265.mp4 -x h265 -r 60/1

wKgZPGm4shiAV2CWAAAdJIGqjt4527.png图 8

LVDS显示屏将会播放birds_800x480_60_H.265.mp4视频文件,如下图所示。

wKgZO2m4sh-AVa_PABcPwIlEFkU045.png图 9

视频播放完后将自动退出。

wKgZO2m4siWAf9t5AAAiSnKTbAE537.png图 10

2.3案例编译

将案例src源码目录拷贝至Ubuntu工作目录下,进入源码目录,查看makefile文件,确保"SDK_PATH"为sysroot解压路径,请根据实际情况修改。如下图所示。

wKgZO2m4sn-AeWq1AAD-kL1-S_U815.png图 11

执行如下命令,配置交叉编译工具链环境变量。

Host# source /home/tronlong/RK3562/environment

wKgZO2m4soaASIqCAABJDNqMHTY773.png图 12

执行如下命令进行案例编译,编译完成将会在相同目录下生成可执行程序。

Host# make

wKgZPGm4so6ARQ1SAAIq14TcCNI442.png

2.4案例解析

2.4.1GStreamer管道示意图

wKgZO2m4spaAHLKxAAAOLTrpS0g295.png图 14

管道命令示例如下。

备注:"filesrc location=test.mp4"请根据实际情况修改视频路径。

Appsink: gst-launch-1.0 filesrc location=test.mp4 ! qtdemux ! h264parse ! mppvideodec ! xvimagesink

2.4.2关键代码说明

(1)初始化Gstreamer,创建Pipeline。

wKgZO2m4sp2AcuStAAw5LBa3MOI284.png图 15

(2)初始化Gstreamer元件。

wKgZPGm4sqOAVw7CAAZ95Gh94wg018.png图 16

(3)检查元件初始化情况。

wKgZPGm4sqqABKbGAAWMBrXAzcg169.png图 17

(4)配置各元件参数。

wKgZO2m4sreAbKF7AAPNk6xBHeQ488.png图 18

(5)将元件加入并链接到Pipeline中。

wKgZPGm4sr6Abz7JAA3sA91T_uw889.png图 19

(6)更改Pipeline状态为playing,使其开始工作。

wKgZPGm4ssWAVmTnAACJIKaZSnk608.png图 20

(7)停止Pipeline,并释放资源。

wKgZO2m4ssyAaym_AAA36M-tpNI297.png图 21

由于篇幅过长等原因,部分内容均不逐一展示,如需获取完整版详细资料,请关注Tronlong创龙科技微信公众号或官网,或者评论区留言,感谢您的支持!

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    5209

    文章

    20625

    浏览量

    336759
  • 开发板
    +关注

    关注

    26

    文章

    6405

    浏览量

    120546
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    RK3576 单板机 C/Python/MQTT 应用开发手册(一)

    本文为创龙科技RK3576 单板机应用开发指南,包含开发环境配置、GDB 调试、外设控制(LED/CAN/ 串口)、Python 开发及 M
    的头像 发表于 04-20 13:55 20次阅读
    <b class='flag-5'>RK</b>3576 <b class='flag-5'>单板机</b> C/Python/MQTT 应用<b class='flag-5'>开发</b><b class='flag-5'>手册</b>(一)

    RK3576 单板机 LinuxSDK 开发与系统定制手册

    本文为创龙科技RK3576 单板机 Linux 系统开发指南,涵盖 SDK 搭建、内核与引导程序开发、根文件系统修改、镜像打包、分区配置及硬件资源调优等全流程。提供命令实操、参数说明与
    的头像 发表于 04-16 15:39 135次阅读
    <b class='flag-5'>RK</b>3576 <b class='flag-5'>单板机</b> LinuxSDK <b class='flag-5'>开发</b>与系统定制<b class='flag-5'>手册</b>(<b class='flag-5'>二</b>)

    RK3576 单板机系统使用手册:配置、升级与组件安装指南(三)

    本文为创龙科技RK3576 单板机系统使用指南,全面覆盖系统基础配置、升级流程与组件安装。详解内存存储分区、网络静态 IP 配置、OTA/U 盘升级操作,以及常用开发组件部署方法。创龙
    的头像 发表于 04-07 11:40 106次阅读
    <b class='flag-5'>RK</b>3576 <b class='flag-5'>单板机</b>系统使用<b class='flag-5'>手册</b>:配置、升级与组件安装指南(三)

    RK3576 单板机系统使用手册:配置、升级与组件安装指南(

    本文为创龙科技RK3576 单板机系统使用指南,全面覆盖系统基础配置、升级流程与组件安装。详解内存存储分区、网络静态 IP 配置、OTA/U 盘升级操作,以及常用开发组件部署方法。创龙
    的头像 发表于 04-03 11:39 533次阅读
    <b class='flag-5'>RK</b>3576 <b class='flag-5'>单板机</b>系统使用<b class='flag-5'>手册</b>:配置、升级与组件安装指南(<b class='flag-5'>二</b>)

    RK3576 单板机系统使用手册:配置、升级与组件安装指南(一)

    本文为创龙科技RK3576 单板机系统使用指南,全面覆盖系统基础配置、升级流程与组件安装。详解内存存储分区、网络静态 IP 配置、OTA/U 盘升级操作,以及常用开发组件部署方法。创龙
    的头像 发表于 04-02 10:46 171次阅读
    <b class='flag-5'>RK</b>3576 <b class='flag-5'>单板机</b>系统使用<b class='flag-5'>手册</b>:配置、升级与组件安装指南(一)

    RK3562 单板机嵌入式 eMMC 健康监测开发指南:数据采集与状态分析

    本文为创龙科技RK3562 单板机 eMMC 健康管理开发指南,围绕 emmc_get_info 案例,详解 eMMC 的 EXT_CSD 寄存器查询、多品牌寿命评估(擦写次数、坏块、
    的头像 发表于 03-31 15:07 143次阅读
    <b class='flag-5'>RK3562</b> <b class='flag-5'>单板机</b>嵌入式 eMMC 健康监测<b class='flag-5'>开发</b>指南:数据采集与状态分析

    RK3562 单板机嵌入式 ROS2 开发指南:环境搭建与工程编译

    本文为创龙科技RK3562 单板机 ROS2 Foxy 开发指南,涵盖系统测试与开发全流程。详细说明 Python/C++ 节点通信、turtlesim 可视化测试的实操指令,以及上位
    的头像 发表于 03-27 11:26 7388次阅读
    <b class='flag-5'>RK3562</b> <b class='flag-5'>单板机</b>嵌入式 ROS2 <b class='flag-5'>开发</b>指南:环境搭建与工程编译

    RK3562 单板机图形用户界面开发完全手册:Qt Creator 配置与 LVGL 案例详解

    本节为创龙科技RK3562 单板机 Qt 开发指南,核心包含开发环境配置、工程编译、网络调试及实战案例。详细说明 Qt Creator 交叉编译工具链、Debuggers、Kits 配
    的头像 发表于 02-27 10:42 6262次阅读
    <b class='flag-5'>RK3562</b> <b class='flag-5'>单板机</b>图形用户界面<b class='flag-5'>开发完全</b><b class='flag-5'>手册</b>:Qt Creator 配置与 LVGL 案例<b class='flag-5'>详解</b>(<b class='flag-5'>二</b>)

    RK3562 单板机图形用户界面开发完全手册:Qt Creator 配置与 LVGL 案例详解(一)

    本节为创龙科技RK3562 单板机 Qt 开发指南,核心包含开发环境配置、工程编译、网络调试及实战案例。详细说明 Qt Creator 交叉编译工具链、Debuggers、Kits 配
    的头像 发表于 02-26 11:41 1533次阅读
    <b class='flag-5'>RK3562</b> <b class='flag-5'>单板机</b>图形用户界面<b class='flag-5'>开发完全</b><b class='flag-5'>手册</b>:Qt Creator 配置与 LVGL 案例<b class='flag-5'>详解</b>(一)

    RK3562 单板机 Linux 应用开发实战手册:LED/CAN/TCP/UART 案例与 Python 开发

    本文为创龙科技RK3562 单板机应用开发指南,核心包含交叉编译工具链部署、GDB 远程调试,以及 LED、CAN、TCP/UDP、MQTT 等实战案例。文档支持 C/C++ 与 Python 双语
    的头像 发表于 02-25 11:35 1514次阅读
    <b class='flag-5'>RK3562</b> <b class='flag-5'>单板机</b> Linux 应用<b class='flag-5'>开发</b>实战<b class='flag-5'>手册</b>:LED/CAN/TCP/UART 案例与 Python <b class='flag-5'>开发</b>(<b class='flag-5'>二</b>)

    RK3562 单板机 Linux-RT 系统开发指南:内核配置、实时性优化与案例详解

    本文为创龙科技RK3562 单板机 Linux-RT 开发指南,核心聚焦实时内核的性能测试与开发应用。内容包括 Linux 与 Linux-RT 实时性对比、CPU 负载测试、内核配置
    的头像 发表于 02-10 11:49 1.8w次阅读
    <b class='flag-5'>RK3562</b> <b class='flag-5'>单板机</b> Linux-RT 系统<b class='flag-5'>开发</b>指南:内核配置、实时性优化与案例<b class='flag-5'>详解</b>

    RK3562 单板机系统开发完全手册:U-Boot/Kernel/Rootfs 开发与性能优化

    本文为创龙科技RK3562 单板机 Linux 系统开发指南,核心包含 SDK 配置、内核与文件系统开发、分区配置及 CPU/GPU/NPU 调频等关键技术。文档详细说明镜像制作、程序
    的头像 发表于 02-05 17:20 514次阅读
    <b class='flag-5'>RK3562</b> <b class='flag-5'>单板机</b>系统<b class='flag-5'>开发完全</b><b class='flag-5'>手册</b>:U-Boot/Kernel/Rootfs <b class='flag-5'>开发</b>与性能优化

    3562 单板机 Linux 系统固化完全指南:从 SD 卡启动到 eMMC 永久部署

    效指导开发者完成系统从临时 SD 启动到板载存储固化的全流程操作。内容实操性强,适用于 3562 单板机开发调试、小批量试产与现场部署场景。
    的头像 发表于 02-04 10:34 2048次阅读
    <b class='flag-5'>3562</b> <b class='flag-5'>单板机</b> Linux 系统固化<b class='flag-5'>完全</b>指南:从 SD 卡启动到 eMMC 永久部署

    RK3562单板机系统使用与开发手册:基础操作、升级部署与工具链配置(一)

    本文为创龙科技RK3562 单板机 Linux 系统使用指南,核心包含系统配置、升级部署与组件安装三大模块。内容涉及静态 IP 配置、恢复出厂设置、OTA/U 盘升级,以及 Python
    的头像 发表于 01-27 15:05 359次阅读
    <b class='flag-5'>RK3562</b><b class='flag-5'>单板机</b>系统使用与<b class='flag-5'>开发</b><b class='flag-5'>手册</b>:基础操作、升级部署与工具链配置(一)

    触觉智能RK3562开发板新版强势亮相

    /RK3562J),都支持NPU和CAN功能了,为此触觉智能RK3562开发板进行了迭代升级,全新型号为EVB3562-V2。为了庆祝触觉智能RK3
    的头像 发表于 05-30 11:32 1409次阅读
    触觉智能<b class='flag-5'>RK3562</b><b class='flag-5'>开发</b>板新版强势亮相