下編譯程序提示缺失 錯(cuò)誤信息提示
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'."
也就是說(shuō)缺失視頻解碼器,造成只有視頻播放界面,不能正常播放視頻的情況
解決方案
先更新一下源,再安裝流媒體框架即可
sudo apt-get update
sudo apt-get install gstreamer1.0-libav
最后成功播放視頻
scp命令出錯(cuò) 錯(cuò)誤信息提示
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
: HOST HAS !
即警告:遠(yuǎn)程主機(jī)標(biāo)識(shí)已更改!
解決方案
移除連接使用的ip地址即可
ssh-keygen -R ipaddr
再次重新執(zhí)行scp命令即可
嵌入式Qt平臺(tái)運(yùn)行可執(zhí)行文件報(bào)錯(cuò) 錯(cuò)誤信息提示
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
#最后重新運(yùn)行可執(zhí)行文件
找不到.so動(dòng)態(tài)庫(kù) 錯(cuò)誤信息及分析
error while loading shared libraries: libpulse.so.0: cannot open shared object file: No such file or directory
提示找不到.so.0動(dòng)態(tài)庫(kù),不妨用ldd命令查看一下少了哪些動(dòng)態(tài)庫(kù)
如何使用在開(kāi)發(fā)板上使用ldd命令詳見(jiàn) Arm開(kāi)發(fā)板上使用ldd命令
ldd 可執(zhí)行文件
可以看到 .so.0 => not found 這行報(bào)錯(cuò)信息
解決方案
使用scp命令將.so.0 這個(gè)庫(kù)復(fù)制到 /usr/lib 目錄下即可
棘手的問(wèn)題
動(dòng)態(tài)庫(kù)缺失的問(wèn)題解決之后,運(yùn)行我的Qt視頻播放器,結(jié)果提示
defaultServiceProvider::requestService(): no service found for - "org.qt-project.qt.mediaplayer"
提示找不到"org.qt-.qt."這樣一個(gè)服務(wù)
運(yùn)行結(jié)果就是lcd屏幕上出現(xiàn)的只有播放器的框架和背景,但是沒(méi)有聲音和畫面
查閱的一些解決方案
解決QT no found for – org.qt-.qt.問(wèn)題
總結(jié)一下:QT的依賴于linux下的視頻播放器,所以要交叉編譯
然后再將添加進(jìn)QT配置,接著交叉編譯QT,編譯好之后的QT的目錄下要有文中提到的庫(kù)文件
交叉編譯的方法,碼一下 Qt5.9.7交叉編譯
結(jié)果
交叉編譯本體已經(jīng)成功,詳見(jiàn)個(gè)人博客 arm-linux交叉編譯
但是添加進(jìn)QT配置,再重新編譯QT失敗linux下的視頻播放器,未能生成相關(guān)媒體庫(kù)
QT官方給的一些說(shuō)明如下
也就是說(shuō)要有Qt ,還需要交叉編譯的其他版本,如base good bad ugly,否則光有本體base還是沒(méi)用
后續(xù)等有空再研究如何編譯完整的吧,應(yīng)該能解決這個(gè)問(wèn)題
報(bào)錯(cuò)問(wèn)題
錯(cuò)誤信息
xilinx-video amba_pl:xlnx_vipp: dma_alloc_coherent of size 0 failed
大概意思就是分配內(nèi)存失敗了,尚不清楚這是什么信息。應(yīng)該是沒(méi)找到相關(guān)媒體和設(shè)備。
因?yàn)樵诤罄m(xù)的v4l2編程中也遇到過(guò)類似報(bào)錯(cuò),排查錯(cuò)誤原因就在于找不到相關(guān)設(shè)備,導(dǎo)致分配0內(nèi)存
寫在最后
僅僅做個(gè)記錄,有空再解決吧,QT播放視頻有其他的方案