標題有點長哈,首先要感謝米爾電子提供的開發板,異構的板子說實話還真的是最近才開始接觸的,在我提交申請后,很快就收到板子了,而且還是順豐給發來的,其實我估計很多人就是為了騙板子,因為米爾的規則還是比較松一些的,還是希望大家多多研究吧,但是,提交的時候既然決定要做一個成品,獎品是次要的,但是履行承諾最重要。
本來是希望再繼續研究一下,再發出來的,結果上午看到米爾的公眾號里發出了一位大佬的研究來,和我的很相似,有點撞車了,都是在搞音視頻,而且都選擇了FFMPEG,而且還有上一篇內容,但是我看了一下論壇里好像并沒有內容。
還要提一句的是,板子目前Ubuntu鏡像還沒有放出來,我給米爾打了好幾個電話了,說是在整理資料,所以如果擁有Ubuntu鏡像的話,那么使用ffmpeg就會方便很多了,直接一個apt命令行就全部搞定了。
一、開箱
開箱其實沒有必要說太多了,大家也都收到板子了,150套呢,真的太大方了,估計開箱的環節不少,簡單來講就是異構板子,雙核A53+M33芯片,瑞薩出的,板載1GB DDR4 + 8GB EMMC,雙千兆網口,雙USB2.0,HDMI以及WiFi模塊。附送了TTL串口線和電源線,TTL是3.3V電平,這么珍貴的板子可得好好保護啊。電源也值得一說,附送了很多種標的AC,DC這面也是經過了一次轉換。
板子真的很結實,盒子也很有設計感,真的很喜歡!
二、環境搭建
環境搭建基本上還是比較輕松的,首先要從官方下載站上下載板子的資源,地址在這里http://down.myir-tech.com/MYD-YG2LX/??梢灾苯釉诶锩娴摹禡YD-YG2LX_Linux軟件開發指南》的第2章中就可以找到了,我使用的是Debian 不帶桌面的系統,我來說一下我的步驟,首先通過WINSCP將03_ToolsToolchainssdk.tar.bz2的文件上傳到Debian電腦里,然后進行解壓。
tar -xjvf sdk.tar.bz2
進入到解壓好的目錄里面,然后:
sudo bash poky-glibc-x86_64-myir-image-full-aarch64-myir-yg2lx-toolchain-3.1.20.sh
因為要將包放到/opt下,所以要用sudo,我因為要涉及到VPU,所以必須要用full的包來進行編譯,然后再把環境引入就OK了,我都是使用的默認的,如果和我一樣使用默認的話,那么也可以直接用下面這個命令。
source /opt/poky/3.1.20/environment-setup-aarch64-poky-linux
這里值得一說的是,如果重啟或者退出SHELL以后重新登錄進來都是需要重新引入一下的,就是你再普通用戶當中引入了,如果使用sudo命令的話,依然是找不到的,因為你沒有在root用戶下引入?。?!
最后可以測試一下。
好了,可以繼續了!可以編一個Hello world來測試一下了!不過編譯完成以后,要到板子上面才可以運行哦!
三、FFMPEG的編譯
終于講到重頭戲了,以上內容可能網絡上的資料一抓一大把,但是這塊的內容可能搜索起來就沒那么容易了,或者版本或者板子不同,編譯起來就都不一樣了,編譯hello world可能只需要一行命令就搞定了,但是我們要搞的肯定不可能只是hello world,尤其是在寫我們自己的項目中,我們不可能去手寫一個264的編碼庫,所以肯定就需要引入別的庫,而且我們希望用到FFMPEG的命令行,以后也要引入FFMPEG的庫,所以先來進行編譯FFMPEG吧。
1.編譯x264
在編譯FFMPEG的時候,還要增加上H.264的軟編解碼,所以還要先編譯x264的庫。
git clone https://code.videolan.org/videolan/x264.git
sudo mkdir /opt/arm
sudo mkdir /opt/arm/x264
cd x264
./configure --prefix=/opt/arm/x264 --enable-shared --enable-static --disable-opencl --enable-pic --disable-asm --host=arm-linux
make -j4
sudo -s
source /opt/poky/3.1.20/environment-setup-aarch64-poky-linux
make install
我已經寫的很詳細了,但是如果在使用git,make的時候發現沒有命令,卻不知道怎么安裝的話,那么是不是先試著學習一下Linux,然后再玩Linux開發板呢,剩下其他的問題應該也是可以通過百度就可以解決的,如果大家發現按照我的命令沒有成功的話,就可以給我留言,我可以幫忙看看是不是我的命令哪里有遺漏。
大概講一下就是,先用git拉庫,先創建安裝的目錄,然后通過configure進行配置,例如配置安裝的目錄,我的安裝目錄是/opt/arm/x264,然后開啟編譯動態庫,靜態庫,關閉一些沒用的,最后的--host是交叉編譯必須加的。然后就是編譯,然后因為安裝的目錄權限問題,所以要切換到root下進行安裝,注意了,這里我上面就說過,切換用戶后要先引入環境,最后直接安裝就可以成功了!
2.編譯FFMPEG
wget https://ffmpeg.org/releases/ffmpeg-6.0.tar.xz
xz -d ffmpeg-6.0.tar.xz
tar -xvf ffmpeg-6.0.tar
cd ffmpeg-6.0
sudo mkdir /opt/arm/ffmpeg
export PKG_CONFIG_PATH=/opt/arm/x264/lib/pkgconfig
./configure --pkg-config="pkg-config --static" --target-os=linux --arch=arm64 --cross-prefix=aarch64-poky-linux- --prefix=/opt/arm/ffmpeg --enable-version3 --enable-libx264 --enable-nonfree --enable-gpl --disable-x86asm --extra-cflags="-I/opt/arm/x264/include" --extra-ldflags="-L/opt/arm/x264/lib" --enable-cross-compile --sysroot=/opt/poky/3.1.20/sysroots/aarch64-poky-linux/
make
sudo -s
source /opt/poky/3.1.20/environment-setup-aarch64-poky-linux
make install
這個地方其實和之前差不多,前5條命令就是下載源碼,然后解壓,撞見安裝目錄。第6條是引入編譯環境,第7條是配置,嗯( ̄▽ ̄),自己看吧,我不知道改怎么解釋了??傊褪呛蛒264不一樣的地方就是有些是因為我們要進行交叉編譯,另外一些是因為要引入x264模塊,還有就是編譯FFMPEG所必須的原因啦。然后就是熟悉的make和make install啦!
如果在configure的過程中出現問題,可以直接看提示,也可以看看ffbuild/config.log記錄。
最后,可以用看一下/opt/arm/x264和/opt/arm/ffmpeg下面,有沒有編譯好的文件就OK了。
剩下的板子上測試,我們下一篇帖子繼續哈,寫文章要比寫代碼累(lll¬ω¬)
審核編輯 黃宇
-
開發板
+關注
關注
25文章
5050瀏覽量
97471 -
交叉編譯
+關注
關注
0文章
32瀏覽量
12642 -
環境搭建
+關注
關注
0文章
53瀏覽量
9057 -
ffmpeg
+關注
關注
0文章
46瀏覽量
7403
發布評論請先 登錄
相關推薦
評論