来源:飞凌嵌入式官网
okmx8mm-c是飞凌基于nxp公司i.mx8m mini 四核64位处理器所设计的一款开发板,主频最高达1.8ghz,可提供多种音频接口,包括i2s、ac97、tdm、pdm和spdif。在性能和算力都大幅提高的同时,系统的运行也更加流畅。
△图为okmx8mm-c开发板
飞凌嵌入式okmx8mm-c开发板专注于提供优秀的视频和音频体验,其音视频部分应用层软件采用的是 gstreamer,视频部分则拥有一个视频处理单元vpu,且均支持硬件编解码。
△硬件编解码参数表
下面让我们感受一下,okmx8mm-c开发板在音视频方面的处理能力。
1、使用播放器播放◾ 使用gplay 播放器
gplay是基于 gstreamer 实现的音视频播放器,能够自动根据硬件选择合适的插件进行音视频播放,运行也十分简单。
$ gst-play-1.0 /home/forlinx/video/1080p_30fps_h265.mp4
◾ 使用gst-launch播放音视频
gst-launch是开发者在开发阶段常用的调试工具,相比gplay而言,它更加灵活,当然使用起来也相对复杂。
仅播放音频:
$ gst-launch-1.0 filesrc location=/home/forlinx/audio/test.mp3 ! id3demux ! queue ! \ mpegaudioparse ! decodebin ! audioconvert ! audioresample ! pulsesink
仅播放视频:
$ gst-launch-1.0 filesrc location=/home/forlinx/video/1080p_30fps_h265.mp4 typefind=true ! \ video/quicktime ! aiurdemux ! queue max-size-time=0 ! vpudec ! imxvideoconvert_g2d ! \ video/x-raw, format=rgb16, width=1024, height=600 ! waylandsink
同时播放音频和视频:
$ gst-launch-1.0 filesrc location=/home/forlinx/video/1080p_30fps_h265.mp4 typefind=true ! \ video/quicktime ! aiurdemux name=demux demux. ! queue max-size-buffers=0 \ max-size-time=0 ! vpudec ! imxvideoconvert_g2d ! video/x-raw, format=rgb16, width=1024, \ height=600 ! waylandsink demux. ! queue max-size-buffers=0 max-size-time=0 \
2、视频硬编码◾ h264硬编码
将yuv420格式视频编码为h264格式视频:
$ gst-launch-1.0 filesrc location=/home/forlinx/video/yuv420_p352x288.yuv ! videoparse format=2 \ width=352 height=288 ! video/x-raw,width=352,height=288 ! vpuenc_h264 ! queue ! \ h264parse ! qtmux ! filesink location=yuv2h264.mp4
播放编码的h264视频:
$ gst-launch-1.0 filesrc location=yuv2h264.mp4 typefind=true ! video/quicktime ! aiurdemux ! \ queue max-size-time=0 ! vpudec ! waylandsink
可以在屏幕看到视频播放。
△图为方案音频文件中截图
◾ vp8硬编码
将yuv420格式视频编码为vp8格式视频:
$ gst-launch-1.0 filesrc location=/home/forlinx/video/yuv420_p352x288.yuv ! videoparse format=2 \ width=352 height=288 ! video/x-raw,width=352,height=288 ! vpuenc_vp8 ! queue ! qtmux ! \ filesink location=yuv2vp8.mkv
播放编码的vp8视频:
$ gst-launch-1.0 filesrc location=yuv2vp8.mkv ! qtdemux ! queue ! vpudec ! waylandsink
便可以在屏幕看到视频播放。
3、视频硬解码◾ h264解码
解码并播放h264视频文件:
$ gst-launch-1.0 filesrc location=/home/forlinx/video/1080p_60fps_h264.mp4 typefind=true ! \ video/quicktime ! aiurdemux ! queue max-size-time=0 ! vpudec ! imxvideoconvert_g2d ! \ video/x-raw, format=rgb16, width=1024, height=600 ! waylandsink
解码并播放h264视频文件(带音频):
$ gst-launch-1.0 filesrc location=/home/forlinx/video/1080p_60fps_h264.mp4 typefind=true ! \ video/quicktime ! aiurdemux name=demux demux. ! queue max-size-buffers=0 \ max-size-time=0 ! vpudec ! imxvideoconvert_g2d ! video/x-raw, format=rgb16, width=1024, \ height=600 ! waylandsink demux. ! queue max-size-buffers=0 \ max-size-time=0 ! decodebin ! audioconvert ! audioresample ! pulsesink
◾ h265解码
解码并播放h265视频文件:
$ gst-launch-1.0 filesrc location=/home/forlinx/video/1080p_30fps_h265.mp4 typefind=true ! \ video/quicktime ! aiurdemux ! queue max-size-time=0 ! vpudec ! imxvideoconvert_g2d ! \ video/x-raw, format=rgb16, width=1024, height=600 ! waylandsink
解码并播放h265视频文件(带音频):
$ gst-launch-1.0 filesrc location=/home/forlinx/video/1080p_30fps_h265.mp4 typefind=true ! \ video/quicktime ! aiurdemux name=demux demux. ! queue max-size-buffers=0 \ max-size-time=0 ! vpudec ! imxvideoconvert_g2d ! video/x-raw, format=rgb16, width=1024, \ height=600 ! waylandsink demux. ! queue max-size-buffers=0 max-size-time=0 \ ! decodebin ! audioconvert ! audioresample ! pulsesink
◾ vp8解码
解码并播放vp8视频文件:
$ gst-launch-1.0 filesrc location=/home/forlinx/video/1080p_30fps_vp8.webm typefind=true ! \ video/x-matroska ! aiurdemux ! queue max-size-time=0 ! vpudec ! imxvideoconvert_g2d ! \ video/x-raw, format=rgb16,width=1024, height=600 ! waylandsink
解码并播放vp8视频文件(带音频):
$ gst-launch-1.0 filesrc location=/home/forlinx/video/1080p_30fps_vp8.webm typefind=true ! \ video/x-matroska ! aiurdemux name=demux demux. ! queue max-size-buffers=0 \ max-size-time=0 ! vpudec ! imxvideoconvert_g2d ! video/x-raw, format=rgb16,width=1024, \ height=600 ! waylandsink demux. ! queue max-size-buffers=0 max-size-time=0 \ ! decodebin ! audioconvert ! audioresample ! pulsesink
◾ vp9解码
解码并播放vp9视频文件:
$ gst-launch-1.0 filesrc location=/home/forlinx/video/1080p_30fps_vp9.webm typefind=true ! \ video/x-matroska ! aiurdemux ! queue max-size-time=0 ! vpudec ! imxvideoconvert_g2d ! \ video/x-raw, format=rgb16,width=1024, height=600 ! waylandsink
解码并播放vp9视频文件(带音频):
$ gst-launch-1.0 filesrc location=/home/forlinx/video/1080p_30fps_vp9.webm typefind=true ! \ video/x-matroska ! aiurdemux name=demux demux. ! queue max-size-buffers=0 \ max-size-time=0 ! vpudec ! imxvideoconvert_g2d ! video/x-raw, format=rgb16,width=1024, \ height=600 ! waylandsink demux. ! queue max-size-buffers=0 max-size-time=0 \ ! decodebin ! audioconvert ! audioresample ! pulsesink
在影音体验上,飞凌嵌入式okmx8mm-c开发板可谓是独树一帜,在拥有高性能音视频处理能力的同时,还支持7.1声道声音输出以及环麦输入,用于高保真音乐系统及语音识别应用。
蓝屏代码0x0000007b的解决方法
国内首款低功耗超宽电压FM24LN系列I2C串行EEPROM存储器
“元宇宙”是未来十年的互联网船票?
百佳泰USB实验室—中国首家线缆与连接器认证测试官方实验室
UPS不间断电源的工作方式
【测评】飞凌i.MX8MM开发板,为你带来卓越的影音体验
确保多重FPGA电轨依正确顺序关闭,可避免装置因电压而提早故障
有哪些适合通勤的蓝牙耳机?商务通勤蓝牙耳机推荐
RFID读写头在工业产线中的应用有哪些
低EMI、有源钳位正激式4类用电设备(PD)为PoE应用提供高效解决方案
2020年爆发的新型冠状肺炎疫情加速了无人机的发展
利用人工智能和机器学习更好地跨行业部署自动化
伺服电机的使用寿命 伺服电机的使用注意事项
想要轻松实现工业连接?这份免费资料你一定不能错过!
新全光二极管可用于微型光电路
加拿大再次将5G合同给了三星
MediaTek HyperEngine游戏优化引擎:深度优化,为玩家升级设备
谷歌用AI设计AI芯片;中兴通讯称今年将发布15款以上5G终端产品…
Bourns推出超低压力传感,可提供长期的稳定性
Gartner:2020年 AI平台魔力象限:意外多多