国产精品免费无遮挡无码永久视频-国产高潮视频在线观看-精品久久国产字幕高潮-国产精品99精品无码视亚

飛凌RK3399平臺多媒體測試-RK3399 視頻編解碼及攝像頭測試

發(fā)布時間:2020-12-30 09:03    發(fā)布者:哦哈喲
關(guān)鍵詞: 飛凌嵌入式 , 瑞芯微
本文硬件平臺以飛凌嵌入式OK3399-C開發(fā)板為基礎進行講解,其它RK3399產(chǎn)品,由于各個廠家設置不同會有所差異,請參考使用。本文詳細介紹了OK3399-C平臺平臺多媒體測試
產(chǎn)品詳情:https://www.forlinx.com/product/rk3399-100.html

OK3399-C平臺多媒體測試

飛凌RK3399平臺音視頻部分應用層軟件采用的是Gstreamer,支持硬件編解碼。本文所有的示例均是基于Gstreamer命令行的形式。如果您需要帶界面的播放器,您也可以使用Qt的多媒體類,同樣支持硬編解,可以參考飛凌提供的RK3399用戶手冊中Qt測試章節(jié)。

飛凌RK3399平臺內(nèi)部有一個視頻處理單元VPU,支持以下格式的視頻硬編解:
視頻解碼:H264, h265, VP8, VP9,最大支持4Kx2K@60fps
視頻編碼:H264,最大支持1080p@30fps
飛凌RK3399平臺硬件編解碼參數(shù)表:


Video Decoder
Format
Profile
Resolution
Frame rate
HEVC
main/main 10
4096x2304
60 fps
H.264
HP/MP/BP
4096x2304
30 fps
VP9
Profile 0
4096x2304
30 fps
Video Encoder
H.264
HP@level4.1
1920x1080
30 fps
VP8
-
1920x1080
30 fps

飛凌RK3399平臺Video Sink說明:
Video Sink
說明
rkximagesink
基于drm效率最高,單個屏幕無法多個rkximagesink同時使用。
xvimagesink
使用XVideo extension輸出,QT多媒體部分采用的就是xvimagesink,雖效率低于rkximagesink,但兼容性好。
glimagesink
使用OpenGL顯示,效率低于xvimagesink。
ximagesink
使用XWindow輸出,效率最低,兼容性最好。

注意:開始測試前,請將用戶資料\工具目錄的多媒體素材包media.tar.bz2拷貝到/home/forlinx目錄并解壓,以方便后續(xù)的測試。

$ cd /home/forlinx
$ tar xvf media.tar.bz2
解壓完成后,將生成audio 和 video目錄分別存放的是飛凌提供的音視頻測試素材文件。


一、 音頻和視頻播放體驗
1、使用gplay播放器
Gplay是基于Gstreamer實現(xiàn)的音視頻播放器,能夠自動根據(jù)硬件自動選擇合適的插件進行音視頻播放,運行也十分簡單。
$ gst-play-1.0 /home/forlinx/video/1080p_30fps_h265.mp4 --audiosink=pulsesink
2、使用gst-launch播放音視頻
gst-launch是開發(fā)者在開發(fā)階段常用的調(diào)試工具,相比Gplay而言,它更加靈活,當然使用起來也相對復雜。
$ gst-launch-1.0 filesrc location=/home/forlinx/audio/test.mp3 ! id3demux !  mpegaudioparse !
mpg123audiodec ! pulsesink
僅播放視頻:
$ gst-launch-1.0 filesrc location=/home/forlinx/video/1080p_30fps_h265.mp4 ! qtdemux ! queue !
h265parse ! mppvideodec ! xvimagesink
同時播放音頻和視頻:
$ gst-launch-1.0 filesrc location=/home/forlinx/video/1080p_30fps_h265.mp4 ! qtdemux name=dec
dec. ! queue ! h265parse ! mppvideodec ! xvimagesink dec.! queue ! decodebin ! pulsesink

二、視頻硬編碼
飛凌RK3399支持H264格式的視頻編碼,最大支持1080p30fps。
1、H264硬編碼
將YUV420P格式視頻編碼為H264格式視頻:
$ gst-launch-1.0 filesrc location=/home/forlinx/video/yuv420_p352x288.yuv ! rawvideoparse
use-sink-caps=false format=i420 width=352 height=288 ! video/x-raw,width=352,height=288 !
mpph264enc ! queue ! h264parse ! qtmux ! filesink location=yuv2h264.mp4
2、播放編碼的H264視頻:
$ gst-play-1.0 yuv2h264.mp4
可以在屏幕看到視頻播放。

三、視頻硬解碼
飛凌RK3399支持H264,H265、VP8、VP9視頻硬解碼,H265最大支持4Kx2K@60fps。
飛凌RK3399使用mppvideodec組件進行視頻硬解碼,它的輸出格式為:NV12,I420,YV12。
1、H264解碼
解碼并播放H264視頻文件:
$ gst-launch-1.0 filesrc location=/home/forlinx/video/1080p_60fps_h264.mp4 ! qtdemux ! queue !
h264parse ! mppvideodec ! xvimagesink
解碼并播放H264視頻文件(帶音頻):
$ gst-launch-1.0 filesrc location=/home/forlinx/video/1080p_60fps_h264.mp4 ! qtdemux
name=dec dec. ! queue ! h264parse ! mppvideodec ! xvimagesink dec. ! queue ! aacparse !
decodebin ! pulsesink
使用rkximagesink解碼播放4K視頻文件(帶音頻):
$ gst-launch-1.0 filesrc location=/home/forlinx/video/4K.mp4 ! qtdemux name=dec dec. ! queue ! h264parse ! mppvideodec ! queue ! rkximagesink dec. ! queue ! aacparse ! decodebin ! pulsesink
2、H265解碼
解碼并播放H265視頻文件:
$ gst-launch-1.0 filesrc location=/home/forlinx/video/1080p_30fps_h265.mp4 ! qtdemux ! queue !
h265parse ! mppvideodec ! xvimagesink
解碼并播放H265視頻文件(帶音頻):
$ gst-launch-1.0 filesrc location=/home/forlinx/video/1080p_30fps_h265.mp4 ! qtdemux name=dec
dec. ! queue ! h265parse ! mppvideodec ! xvimagesink dec. ! queue ! decodebin ! pulsesink
3、VP8解碼
解碼并播放VP8視頻文件:
$ gst-launch-1.0 filesrc location=/home/forlinx/video/1080p_30fps_vp8.webm
typefind=true ! video/webm ! matroskademux ! queue  ! mppvideodec ! xvimagesink
解碼并播放VP8視頻文件(帶音頻):
$ gst-launch-1.0 filesrc location=/home/forlinx/video/1080p_30fps_vp8.webm
typefind=true ! video/webm ! matroskademux name=dec dec. ! queue ! mppvideodec !
xvimagesink dec. ! queue ! decodebin ! audioconvert ! audioresample ! pulsesink
4、VP9解碼
解碼并播放VP9視頻文件:
$ gst-launch-1.0 filesrc location=/home/forlinx/video/1080p_30fps_vp9.webm
typefind=true ! video/webm ! matroskademux ! queue  ! mppvideodec ! xvimagesink
解碼并播放VP9視頻文件(帶音頻):
$ gst-launch-1.0 filesrc location=/home/forlinx/video/1080p_30fps_vp9.webm
typefind=true ! video/webm ! matroskademux name=dec dec. ! queue ! mppvideodec !
xvimagesink dec. ! queue ! decodebin ! audioconvert ! audioresample ! pulsesink

四、攝像頭測試
飛凌RK3399支持OV13850 MIPI攝像頭,同時也支持UVC攝像頭。首先來測試一下UVC攝像頭,這里以羅技C270進程測試,將USB攝像頭插入開發(fā)板,將自動安裝uvc驅(qū)動。
1、UVC Camera測試
然后可以看到uvc設備節(jié)點:
$ v4l2-ctl --list-devices
查看攝像頭支持的格式與分辨率:
$ v4l2-ctl --list-formats-ext -d /dev/video10
1.1、攝像頭預覽
$ gst-launch-1.0 v4l2src device=/dev/video10 io-mode=4 ! videoconvert !
video/x-raw,format=NV12,width=640,height=480 ! xvimagesink
可以在屏幕看到攝像頭預覽畫面。
1.2、攝像頭拍照
$ gst-launch-1.0 v4l2src device=/dev/video10 num-buffers=1 ! videoconvert !
video/x-raw,format=NV12,width=640,height=480 ! mppjpegenc ! filesink location=/tmp/pic.jpg
然后將pic.jpg拷貝到Windows下,打開它可以看到拍到的照片。
1.3、攝像頭預覽時視頻編碼H264
$ gst-launch-1.0 v4l2src device=/dev/video10 num-buffers=100 ! videoconvert !
video/x-raw,format=NV12,width=640,height=480 ! tee name=t ! queue ! mpph264enc ! queue !
h264parse ! qtmux ! filesink location=/tmp/uvc_h264.mp4 t. ! queue ! xvimagesink
上面這條命令會開啟攝像頭的預覽和錄像,錄像文件的編碼格式為H264.
播放編碼后的H264視頻:
$ gst-launch-1.0 filesrc location=/tmp/uvc_h264.mp4 ! qtdemux ! queue ! h264parse !
mppvideodec ! xvimagesink
2、OV13850測試
OV13850的測試方法與UVC Camera的測試方法基本相同。首先確認攝像頭設備節(jié)點。本節(jié)測試以RK3399開發(fā)板前置OV13850為例,測試后置時請將“video1”修改為“video6”即可。
2.1、攝像頭預覽(前置)
$ gst-launch-1.0 v4l2src device=/dev/video1 ! video/x-raw, format=NV12, width=640,
height=480, framerate=30/1 ! xvimagesink
可以在屏幕看到攝像頭預覽畫面。
2.2、攝像頭拍照(前置)
$ gst-launch-1.0 v4l2src device=/dev/video1 num-buffers=1 ! video/x-raw,format=NV12,
width=640,height=480 ! mppjpegenc ! filesink location=/tmp/pic.jpg
然后將pic.jpg拷貝到Windows下,打開它可以看到拍到的照片。
2.3、攝像頭預覽時視頻編碼H264(前置)
$ gst-launch-1.0 v4l2src device=/dev/video1 num-buffers=100 ! video/x-raw,format=NV12,
width=640,height=480 ! tee name=t ! queue ! mpph264enc ! queue !
h264parse ! qtmux ! filesink location=/tmp/13850_h264.mp4 t. ! queue ! xvimagesink
上面這條命令會開啟攝像頭的預覽和錄像,錄像文件的編碼格式為H264.
播放編碼后的H264視頻:
$ gst-launch-1.0 filesrc location=/tmp/13850_h264.mp4 ! qtdemux ! queue ! h264parse !
mppvideodec ! xvimagesink
3、雙路Camera測試(USB Camera+OV13850)
$ gst-launch-1.0 v4l2src device=/dev/video10 io-mode=4 ! queue ! videoconvert !
video/x-raw,format=NV12,width=640,height=480 ! queue ! xvimagesink & gst-launch-1.0 v4l2src device=/dev/video1 ! video/x-raw, format=NV12, width=640, height=480, framerate=30/1 ! xvimagesink

五、rkximagesink測試
在前面幾節(jié)的測試中,我們使用的都是xvimagesink,相對來說兼容性和性能都不錯。如果客戶想追求極致性能體驗,可以嘗試rkximagesink。rkximagesink可以做到播放4k視頻幾乎不占用CPU負載。
使用rkximagesink需要綁定屏幕,一個屏幕只能使用一個rkximagesink,且擴展顯示時無法拖動到其它屏幕顯示。
首先使用modetest查看屏幕的Connector ID:
例如,播放視頻在DP屏幕上:
$ gst-launch-1.0 filesrc location=/home/forlinx/video/1080p_30fps_h265.mp4 ! qtdemux ! queue !
h265parse ! mppvideodec ! rkximagesink connector-id=93
注意:使用rkximagesink如果窗體不在connector-id對應的屏幕上無法顯示時正常現(xiàn)象。
可以看到CPU負載非常低。

原文鏈接:https://www.forlinx.com/article_view_587.html



本文地址:http://www.4huy16.com/thread-752476-1-1.html     【打印本頁】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點和對其真實性負責;文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問題,我們將根據(jù)著作權(quán)人的要求,第一時間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區(qū)
  • 常見深度學習模型介紹及應用培訓教程
  • Microchip第22屆中國技術(shù)精英年會——采訪篇
  • “芯”光璀璨,鵬城共賞——2025 Microchip中國技術(shù)精英年會深圳站回顧
  • 技術(shù)熱潮席卷三城,2025 Microchip中國技術(shù)精英年會圓滿收官!
  • 貿(mào)澤電子(Mouser)專區(qū)
關(guān)于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表