By Toradex 胡珊逢

1).简介

高清多媒体,甚至是 4K 视频不仅在消费领域有着旺盛的需求,在行业领域同样也获得广泛的关注。NXP 最新的IMX8 处理器不仅配有强劲的 CPU和GPU,还对多媒体应用提供了完善的解决方案,如硬件解码支持H.265 HEVC Main Profile 2160p60 Level 5.1。下面我们将介绍如何从Yocto开始构建包含Gstreamer 的BSP、使用Toradex Easy Installer 安装系统、配置LVDS显示和播放多媒体文件。

本文演示所使用的ARM平台来自Toradex基于NXP iMX8QM SoC平台的Apalis iMX8QM ARM核心板。

2). Yocto/OpenEmbedded编译

Toradex Linux BSP从V3.0开始发生了很多的变化,其中最主要的就是采用基于Poky构建,默认的BSP只提供最小化的软件支持, 为此我们撰写了一篇博文做了详细的说明。用户需要自行构建合适其项目需求的BSP,同时也保持BSP精简。首先,可以参考该网页搭建基础的Yocto/OpenEmbedded环境。然后修改build/conf/local.conf文件,在结尾添加以下内容:

----------------------------------

ACCEPT_FSL_EULA = "1"

IMAGE_INSTALL_append = " packagegroup-fsl-gstreamer1.0 packagegroup-fsl-gstreamer1.0-full imx-gst1.0-plugin"

----------------------------------

保存后使用MACHINE=apalis-imx8 bitbake console-tdx-image命令来生成我们需要的BSP。根据网络和电脑配置情况,首次编译需要数个小时之久。编译完成后在build/deploy/images/apalis-imx8目录下会生成Apalis-iMX8_Console-Image-Tezi_3.0bX-XXXXXXXX.ta r文件。

3).更新BSP

Toradex Easy Installer为用户提供在图形化界面中更新BSP的方法。根据该文档配置好PC和开发板之间的正确连线。然后从这里下载适用于Apalis iMX8QM的Toradex Easy Installer文件。解压后,待Apalis iMX8QM进入恢复模式后执行恢复脚本。

----------------------------------

sudo recovery-linux.sh

----------------------------------

将Apalis-iMX8_Console-Image-Tezi_3.0bX-XXXXXXXX.tar解压后复制到U盘或者SD卡,并插入到底板。在Toradex Easy Installer界面中点击该BSP即可完成安装。最后选择重启模块。

4). LVDS显示器配置

Apalis iMX8QM上连接1080p HDMI显示器可以直接看到Linux系统。在这里我们还将介绍如何配置LVDS接口显示器。目前还不能直接在U-Boot中通过cmdline的方式进行显示配置,用户需要修改device tree文件fsl-imx8qm-apalis.dts,将lvds1_panel的compatible设置适合屏幕的配置。LVDS显示配置是直接编译在内核中,用户可以从drivers/gpu/drm/panel中选择现成的配置,否则需要自行添加适合屏幕参数的配置文件。kyo_tcg121xglp_timing在引脚和色彩配置都符合我们现有的三菱AA104XD02显示器,因此将lvds1_panel配置为kyo,tcg121xglp。然后重新编译device tree。

----------------------------------

make dtbs

----------------------------------

用生成的fsl-imx8qm-apalis.dtb替换核心板上/media/mmcblk0p1/目录下的同名文件,重启生效。

----------------------------------

root@apalis-imx8:~# sync

root@apalis-imx8:~# reoobt

----------------------------------

5).媒体播放

BSP中已经集成了Gstreamer工具和IMX插件,用户可以直接调用。显示分别是播放H.265/H.264编码分辨率为1080p/2K/4K的本地文件。

./ 1080p h.264

----------------------------------

gst-launch-1.0 filesrc location=jellyfish-20-mbps-hd-h264.mkv ! video/x-matroska ! aiurdemux ! \

queue ! h264parse ! v4l2h264dec ! imxvideoconvert_g2d ! queue ! waylandsink

----------------------------------

./ 1080p h.265

----------------------------------

gst-launch-1.0 filesrc location=Elecard_about_Tomsk_part3_HEVC_1080p.mp4 ! video/quicktime ! \

aiurdemux ! queue ! h265parse ! v4l2h265dec ! imxvideoconvert_g2d ! queue ! waylandsink

----------------------------------

./ 2k h.264

----------------------------------

gst-launch-1.0 filesrc location=Gravity-2K.mp4 ! video/quicktime ! aiurdemux ! queue ! h264parse ! \

v4l2h264dec ! imxvideoconvert_g2d ! queue ! waylandsink

----------------------------------

./ 4k h.265

----------------------------------

gst-launch-1.0 filesrc location=Elecard_about_Tomsk_part3_HEVC_UHD.mp4 ! video/quicktime ! aiurdemux ! \

queue ! h265parse ! v4l2h265dec ! imxvideoconvert_g2d ! queue ! waylandsink

----------------------------------

除了本地播放外,RTSP网络播放也是常用的功能。RTSP服务器可以有多种实现方式,如VLC就可以支持流推送。Gst也提供现成的工具实现RTSP服务,如gst-rtsp-server。在下载的时候最好选用和iMX8 BSP中Gstreamer一致的版本。下载后执行autogen.sh,然后直接make编译即可。在example目录中会生成一个名为test-uri的可执行文件。用下面命令推送视频流。

----------------------------------

./test-uri file:///opt/jellyfish-20-mbps-hd-h264.mkv

在PC的8554端口会开启RTSP服务。

----------------------------------

rtsp://127.0.0.1:8554/test

----------------------------------

IMX8上运行下面命令

----------------------------------

gst-launch-1.0 rtspsrc location=rtsp://ip_of_pc:8554/test name=source1 ! queue ! rtph264depay ! \

queue ! h264parse ! v4l2h264dec ! imxvideoconvert_g2d ! queue ! waylandsink

----------------------------------

6).总结

IMX8QM可以轻松的实现对视频文件的硬件编解码,而不占用过多的CPU资源,从而保证用户应用顺畅运行。除了视频播放,我们接下来还会介绍IMX8更多的应用。

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

264编码 yocto_在 NXP iMX8 上进行 4K 视频播放测试相关推荐

  1. 在 NXP iMX8 上进行 Qt5移植和开发

    By Toradex 胡珊逢 简介 高清多媒体,甚至是 4K 视频不仅在消费领域有着旺盛的需求,在行业领域同样也获得广泛的关注.NXP 最新的IMX8 处理器不仅配有强劲的 CPU和GPU,还对多媒体 ...

  2. 264编码 yocto_评测

    近年来,人工智能话题越来越热,受到了更多人的关注.我也是大概在18年末开始接触到百度AI社区,通过使用文字识别.图像识别等百度AI技术,逐步感受到了AI技术的强大,同时也感觉到了百度AI技术的进步:A ...

  3. NXP iMX8平台上使用imx-gpu-sdk开发

    By Toradex胡珊逢 Apalis iMX8 计算机模块采用了 NXP 的 i.MX 8 QuadMax 处理器.该处理器具有两个 Vivante GC7000/XSVX 单元,能够支持 Ope ...

  4. C++实现RTMP协议发送H.264编码及AAC编码的音视频

    C++实现RTMP协议发送H.264编码及AAC编码的音视频 RTMP(Real Time Messaging Protocol)是专门用来传输音视频数据的流媒体协议,最初由Macromedia 公司 ...

  5. 开发直播APP软件一定要了解的H.264编码,即时通讯中的战斗机

    开发直播APP软件一定会涉及即时通讯,即时通讯系统在直播系统中的主要作用是实现观众与主播.观众与观众之间的文字.音频.视频互动,现在比较火的主播连麦PK等功能的背后都显现着即时通讯的影子,而在即时通讯 ...

  6. RTMP协议发送H.264编码及AAC编码的音视频,实现摄像头直播

    RTMP协议发送H.264编码及AAC编码的音视频,实现摄像头直播 摘要: RTMP协议发送H.264编码及AAC编码的音视频,实现摄像头直播 RTMP(Real Time Messaging Pro ...

  7. H.264软件解码器在PXA270平台上的优化

    罗 嵘,何 苦 时间:2009年04月24日 摘 要: 研究了嵌入式系统中H.264 Baseline软件解码器设计和优化的问题,提出了四种有效的优化方法,并在PXA270平台上进行了测试.测试结果显 ...

  8. fpga 开源264编码_更好的开源安全性,学习编码,开放式家庭设计等

    fpga 开源264编码 在本周的开源新闻摘要中,我们将介绍更易于访问的开源安全性,用于学习代码的新平台,开源家庭设计等等! 开源新闻让您阅读愉快. 2014年9月20日至26日 Dropbox和Go ...

  9. 视频基础知识:浅谈视频会议中H.264编码标准的技术发展

    浅谈视频会议中H.264编码标准的技术发展 浅谈视频会议中H.264编码标准的技术发展 数字视频技术广泛应用于通信.计算机.广播电视等领域,带来了会议电视.可视电话及数字电视.媒体存储等一系列应用,促 ...

最新文章

  1. java arraylist 删除回车符_2种Java删除ArrayList中的重复元素的方法
  2. Git与SVN区别 \git学习
  3. MySQL 高级 - 存储过程 - 语法 - if判断 || 传递参数 (IN - 输入 OUT-输出)
  4. java中的reader_java中BufferedReader 有什么用
  5. java 水印乱码,linux java程序加水印及中文乱码方案
  6. zabbix监控磁盘io
  7. (11)Zynq SPI控制器介绍
  8. ajax跨域post请求的java代理实现
  9. 视频显示器与服务器之间使用什么线连接,显示器连接线有哪些?四种主流连线科普。...
  10. 杭电acm 4282 A very hard mathematic problem
  11. Qt QDir用法及实战案例
  12. SFP+光纤模块使用
  13. Tony Bai带你入门Go语言
  14. 【IoT】 产品设计之α、β、λ测试
  15. 晚上几点入睡比较好,如果每天1点睡,8点半起,可以保持健康吗?
  16. 2017283418魏扬
  17. CDR X7 限时3折618年中大促,是时候出手了!
  18. ros:init()
  19. 用python来画出高光谱遥感影像的3D立体图
  20. s9306 mib之entPhysicalTable

热门文章

  1. vxWorks6.8 操作系统下 QT 安装设置、运行方法
  2. 交流发光二极管的普及
  3. compressing 压缩和解压缩文件和文件夹
  4. 高强板车身件热冲压成形技术最新进展总结一览
  5. A desmos graph supersampling test
  6. 把文件存到桌面不占C盘空间
  7. PR模板|MOGRT动态开场视频模板剪辑素材
  8. 《JavaScript权威指南第7版》第15章 Web浏览器中的JavaScript 15.1 15.2 15.3
  9. 影视解析Xyplayer 3.94源码
  10. 51nod 1679 连通率