gstreamer 開發中,一般開發思路為:尋找命令行實現--命令行驗證--將命令行集成到代碼中---代碼工程化。當然如果你要代碼更優雅一點,可以用命令行用對應的 API 來實現。本節來總結一下 gstreamer 的常用使用過程。 將配套資料通過 U 盤拷貝到開發板的根目錄下,如下圖所示。配套資料的路徑在“iTOP-3399 開發板/02_iTOP-3399 開發板資料匯總(不含光盤容)/12_iTOP-3399 開發板音視頻開發資料/測試資料” ![]() 1 gst-inspect-1.0 測試 gst-inspect 可以查看插件或者元素,輸入以下命令查看所有元素 gst-inspect-1.0 ![]() 查看并過濾相關元素,輸入以下命令,如下圖所示: gst-inspect-1.0 |grep xxxx ![]() 查看某一個元素,輸入以下命令,如下圖所示: gst-inspect-1.0 xxx ![]() 輸入以下命令查看黑名單元素,通常某些插件的依賴庫不存在,gstreamer 會將它列入黑名單,不可使用,通過該命可以追蹤某些異常的插件。 gst-inspect-1.0 -b ![]() 2 播放器工具 gst-play-1.0 如播放一個視頻,輸入以下命令: gst-play-1.0 /video/1080p_30fps_h265.mp4 ![]() 3 gstreamer 日志級別設置 gst 的日志等級分為 none(0)error(1) warning(2) info(3) debug(4) log(5)。默認 gst 的日志等級為 1,即 error打印,出錯時會打印。 1)全局日志級別設置 如果需要更高級別打印,修改環境變量 GST_DEBUG 即可。如需要 warning 級別打印,配置 export GST_DEBUG=2 ,如圖所示 ![]() 2)某個插件日志級別設置 set GST_DEBUG=GST_AUTOPLUG:5,GST_ELEMENT_*:4,d3dvideosink:3 即自動插件為 5,所有元素默認為 4,d3dvideosink 元素為 3。 3)日志打印函數 日志打印函數 GST_ERROR(),GST_WARNING(),GST_INFO(),GST_LOG()和 GST_DEBUG()宏。它們就像 printf 一樣可以接受一些參數并且它們是使用默認種類的 4)日志另存為文件,配置環境變量 GST_DEBUG_FILE=文件路徑 如:Set GST_DEBUG_FILE = C:\\test.log。日志就重定向到 C:\\test.log 文件里。 5) GST_REGISTRY_UPDATE 環境變量用來查找插件是否更新,即是否重新掃描去更新 cache 內容,將這個環境變量的值設置成”no”,這樣 gstreamer 框架在初始化的時候就不會檢查 plugin 的更新,這樣可以加速啟動。輸入以下命令: Set GST_REGISTRY_UPDATE=”no” 更多內容關注:北京迅為 |