完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
高清H264视频解码大信(QQ:8125036) 感谢电子发烧友网与米尔科技给予的MYD-JX8MMA7开发板开发板试用机会。MYD-JX8MMA7开发板是一款整合了高性能ARM与较高参数的FPGA的异构硬件平台。 MYD-JX8MMA7开发板采用ARM+FPGA的异构处理架构,其ARM处理是基于NXP i.MX8M Mini四核 Cortex-A53、Cortex-M4、1.8GHz主频。FPGA则是使用AMDXilinx XC7A25T Artix-7芯片,FPGA与ARM处理器间采用PCIE连接,具有高带宽实时数据采集与处理的低延迟数据接入的需求。 该开发板在高级图形、高级成像、高级机器视觉、高端音频、高端语音、高端视频和高安全的嵌入式应用等跨领域的多种应用场景比较适用。 本次将探索该开发板的音视频性能,并使用其SDK快速开发一个实时高清视频编码推流的测试用用。 一、多媒体能力简介 MYD-JX8MMA7开发板的ARM处理器使用的是NXP公司i.MX8M Mini系列处理器,4核ARM Cortex A53处理器,主频高达1.8GHz,支持2D、3D图形加速,支持MIPI DSI 4-lane 1080P显示, 支持LVDS与RGB显示接口扩展,支持触摸屏扩展。5个SAI通道,提供多种音频接口:I2S、AC97、TDM和S/PDIF多数字音频接口,可用于高保真音乐系统。 iMX8M GPU支持OpenGL ES2.0、OpenVG1.1,支持3D、1080P高清显示。iMX8M还有一个视频处理单元VPU,视频解码最大支持4Kp60:HEVC/H265、VP9;视频解码最大支持4Kp30:AVC/H.264;视频编码支持H.264和VP8硬编码。 二、GStreamer介绍 iMX8M音视频部分应用层软件采用的是GStreamer,它支持了VPU的硬件编解码。 GStramer是一个创建流媒体应用程序的框架。GStreamer的程序开发框架使得编写任意类型的流媒体应用程序成为了可能。GStreamer并不受限于音频和视频处理它能够处理任意类型的数据流。管道设计的方法对于实际应用的滤波器几乎没有负荷,它甚至可以用来设计出对延时有很高要求的高端音视频应用程序。 GStreamer最基本的应用是构建播放器上, GStreamer已经支持很多格式的档了,包括: MP3、Ogg/Vorbis. MPEG-12、 AVI、 Quicktime、 mod等等。从这个角度看, GStreamer更像是一个播放器。但是它主要的优点却是在于它的可插入组件能够很方便的接入到任意的管道当中。 GStreamer框架是基于插件的,有些插件中提供了各种各样的多媒体数字信号编译码器,也有些提供了其它的功能。所有的插件都能够被链接到任意的已经定义了的数据流管道中。 GStreamer框架的结构如下图: GStreamer结构清晰且功能强大:可以使用一系列的工具来创建媒体管道,而不用去写一行代码,从而使得复杂的媒体控制变得非常简单。GStreamer 向插件提供了简洁而简单的API来创建self- plugin(自包含)插件,同时还集成了大量的调试和跟踪机制和工具。GStreamer也提供了一系列现实例子。 GStreamer具有灵活的可扩展性能:所有的GStreamer对象都可以采用GObject继承的方法进行扩展。所有的插件都可以被动态装载。 GStreamer非常像Microsoft下的DirectShow 威廉希尔官方网站
,直接通过拖拽就可以设计出各种音视频应用的graphic。然后通过框架就可以运行,非常灵活,简单强大,易于扩展且开发使用简便。 三、GStreamer功能测试 首先可以使用gst-launcher来执行一些多媒体的基本功能: 1.播放H264 编码高清视频文件: 使用 gststreamer解码,执行视频播放命令: gst-playlandscape.mp4 2.播放H265 编码高清视频文件: gst-play h265.mp4 开发板视频输出效果: 3.播放监控探头视频 这里准被了一个大华的监控摄像头,把摄像头接到和开发板同一个网络内。在开发板上调用该摄像头的视频流并播放: 执行播放摄像头监控流 板上输出监控高清摄像头画面 Rtsp推流测试,首先需要一个rtsp服务,推流软件先使用rtsp协议把流推送到rtsp服务上,然后播放器通过连接rtsp服务器进行拉流播放。Rtsp服务这里使用了 gst-rtsp-server开源rtsp服务器为Gstreamer开发的组件,地址为: https://github.com/GStreamer/gst-rtsp-server/tree/1.14 这里基于它里面的例程 test-launcher修改而成,也可以基于Gstreamer库进结合其它rtsp库开发,这里直接使用gst-rtsp-server库来开发rtsp应用程序。 代码如下:
交叉编译: 板上运行,先用测试信号做直播测试,测试信号是gstreamer内置的一个元件,可知直接使用。执行命令: ./test-launch \"(videotestsrc is-live=true ! vpuenc_h264 ! rtph264pay name=pay0 pt=96)\" 另外一台windwos电脑上打开VLC ,输入板子的IP地址的rtsp流,即可看到测试信号输出的直播流: 再测试把板子上的视频文件使用rtsp直播出去,板子上输入: ./test-launch \"(filesrc location=./landscape.mp4 is-live=true ! qtdemux ! rtph264pay name=pay0 pt=96 )\" 可见从文件里输出rtsp直播流,是不需要编码的,直接封包后就发出了。 在播放器上播放,可见看到直播视频: 再测试使用摄像头直播视频原,采集摄像头的视频使用rtsp直播出去,把LogicC270 USB 摄像头插入USB接口中,如下图: 在板子上输入: ./test-launch \"(v4l2src device=/dev/video1 is-live=true ! vpuenc_h264 ! rtph264pay name=pay0 pt=96 )\" 从输出信息可见VPU 系统的软件与固件版本: ======VPUENC: 4.6.3 build on Nov 9 202107:46:01. ====== wrapper: 3.0.0 (VPUWRAPPER_ARM64_LINUXBuild on Oct 28 2021 01:23:12) vpulib: 1.1.1 firmware: 1.1.1.65535 同样使用在另外一台电脑上使用VLC播放rtsp流,就可以看到直播流画面: 成功的验证了通过rtsp输出摄像头采集编码视频流,发布到本地8554端口上。整个测试下来非常流畅,延迟在1秒左右,分析原因主要是因为USB的v4l uvb摄像头采集延迟严重,如果使用mipi接口的摄像头,应该会好很多。 五、开发测试总结 通过从这次在MYD-JX8MMA7开发板上进行GStreamer的移植编译与应用开发测试过程看,GStreamer的例程在该开发板上移植非常容易,而且Gstreamer功能强大,结合硬件的多媒体能力强大的硬件,更好的发挥出音视频应用的功能和效果。同时基于Gsteamer灵活的使用方法,可以开发出各种流媒体网关,服务器,转码器等应用。也验证了该开发板的c/c++的多媒体开发工具与库支持比较完善,对复杂的音视频工程也有很好的支持。 这也大大方便了试用该方案进行复杂音视频开发的可行性,同时能够利用开源社区大量的音视频应用资源,开发出多种嵌入式的音视频应用产品。 高清H265视频解码 |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
【米尔-Xilinx XC7A100T FPGA开发板试用】 UART测试
1171 浏览 0 评论
【米尔RK3576开发板评测】+项目名称米尔RK3576开发板人脸疲劳检测代码测试
895 浏览 0 评论
【米尔RK3576开发板评测】+项目名称值得购买的米尔RK3576开发板
830 浏览 0 评论
【米尔RK3576开发板评测】+项目名称2、基于gstreamer + mpp硬件编码 实现摄像头推流
1216 浏览 0 评论
【米尔-紫光MYB-J7A100T国产FPGA开发板试用】米尔-紫光PG2L100H国产FPGA开发板开箱评测
1250 浏览 0 评论
【米尔-瑞米派兼容树莓派扩展模块-试用体验】基于ROS系统的三麦轮小车自主导航
3755浏览 2评论
【米尔NXP i.MX 93开发板试用评测】5、安装Debian和排除启动故障
888浏览 2评论
【米尔NXP i.MX 93开发板试用评测】2、异构通信环境搭建和源码编译
1002浏览 2评论
【米尔-瑞米派兼容树莓派扩展模块-试用体验】Free RTOS应用开发环境部署
1528浏览 1评论
【米尔-芯驰D9开发板- 国产平台试用】- 03- 外设接口测试-U盘、485总线
6861浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-2-2 23:23 , Processed in 0.580850 second(s), Total 67, Slave 50 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号