下編譯程序提示缺失 錯誤信息提示
Warning: "No decoder available for type 'video/x-h264, stream-format=(string)avc, alignment=(string)au, level=(string)3, profile=(string)high, codec_data=(buffer)0164001effe100196764001eacd940c037b0110000030001000003003c0f162d9601000668ebe2cb22c0, max-input-size=(int)36046, width=(int)768, height=(int)432, framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1, parsed=(boolean)true'."
也就是說缺失視頻解碼器,造成只有視頻播放界面,不能正常播放視頻的情況
解決方案
先更新一下源,再安裝流媒體框架即可
sudo apt-get update
sudo apt-get install gstreamer1.0-libav
最后成功播放視頻
scp命令出錯 錯誤信息提示
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
: HOST HAS !
即警告:遠程主機標識已更改!
解決方案
移除連接使用的ip地址即可
ssh-keygen -R ipaddr
再次重新執(zhí)行scp命令即可
嵌入式Qt平臺運行可執(zhí)行文件報錯 錯誤信息提示
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
解決方案
vi /etc/profile
# 文件末尾寫入兩句話
export XDG_RUNTIME_DIR=/usr/lib/
export RUNLEVEL=3
#使能環(huán)境變量
source /etc/profile
#最后重新運行可執(zhí)行文件
找不到.so動態(tài)庫 錯誤信息及分析
error while loading shared libraries: libpulse.so.0: cannot open shared object file: No such file or directory
提示找不到.so.0動態(tài)庫,不妨用ldd命令查看一下少了哪些動態(tài)庫
如何使用在開發(fā)板上使用ldd命令詳見 Arm開發(fā)板上使用ldd命令
ldd 可執(zhí)行文件
可以看到 .so.0 => not found 這行報錯信息
解決方案
使用scp命令將.so.0 這個庫復制到 /usr/lib 目錄下即可
棘手的問題
動態(tài)庫缺失的問題解決之后,運行我的Qt視頻播放器,結(jié)果提示
defaultServiceProvider::requestService(): no service found for - "org.qt-project.qt.mediaplayer"
提示找不到"org.qt-.qt."這樣一個服務
運行結(jié)果就是lcd屏幕上出現(xiàn)的只有播放器的框架和背景,但是沒有聲音和畫面
查閱的一些解決方案
解決QT no found for – org.qt-.qt.問題
總結(jié)一下:QT的依賴于linux下的視頻播放器,所以要交叉編譯
然后再將添加進QT配置,接著交叉編譯QT,編譯好之后的QT的目錄下要有文中提到的庫文件
交叉編譯的方法,碼一下 Qt5.9.7交叉編譯
結(jié)果
交叉編譯本體已經(jīng)成功,詳見個人博客 arm-linux交叉編譯
但是添加進QT配置,再重新編譯QT失敗linux下的視頻播放器,未能生成相關(guān)媒體庫
QT官方給的一些說明如下
也就是說要有Qt ,還需要交叉編譯的其他版本,如base good bad ugly,否則光有本體base還是沒用
后續(xù)等有空再研究如何編譯完整的吧,應該能解決這個問題
報錯問題
錯誤信息
xilinx-video amba_pl:xlnx_vipp: dma_alloc_coherent of size 0 failed
大概意思就是分配內(nèi)存失敗了,尚不清楚這是什么信息。應該是沒找到相關(guān)媒體和設(shè)備。
因為在后續(xù)的v4l2編程中也遇到過類似報錯,排查錯誤原因就在于找不到相關(guān)設(shè)備,導致分配0內(nèi)存
寫在最后
僅僅做個記錄,有空再解決吧,QT播放視頻有其他的方案