最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

嵌入式Qt-交叉編譯FFmpeg與視頻播放測試

2022-09-08 22:09 作者:碼農(nóng)愛學(xué)習(xí)-B站  | 我要投稿

想要在Linux板子上通過Qt界面來播放視頻,一種可選的方式是調(diào)用FFmpeg庫來實(shí)現(xiàn)視頻的解碼與播放。本篇先來進(jìn)行FFmpeg庫的交叉編譯,將FFmpeg庫移植到Linux板子上。

1 交叉編譯FFmpeg

FFmpeg需要用到x264庫,需要先編譯這個(gè)庫。

1.1 編譯x264

官網(wǎng)http://www.videolan.org/developers/x264.html下載x264的源碼

然后解壓,并進(jìn)行配置

#解壓
tar -xvf x264-master.tar.bz2

#進(jìn)入源碼目錄, 進(jìn)行配置


一些參數(shù)說明:

  • --host=arm-linux-gnueabihf :指定交叉編譯鏈

  • --enable-shared :允許共享

  • --disable-asm:跳過匯編

  • --prefix=$PWD/_install:指定編譯后存放路徑(當(dāng)前目錄的install子目錄)

然后進(jìn)行編譯

make
make?install

查看文件夾_install,可以看到生成的bin、include、lib子目錄

1.2 編譯FFmpeg

然后編譯FFmpeg,官網(wǎng)下載地址:http://ffmpeg.org/download.html

同樣是進(jìn)行解壓

tar -xvf ffmpeg-snapshot.tar.bz2

進(jìn)入ffmpeg源碼目錄,修改Makefile,添加編譯選項(xiàng):CFLAGS += -fPIC

然后進(jìn)行配置

一些參數(shù)說明:

  • --cross-prefix=arm-linux-gnueabihf-:配置為自己的交叉編譯工具

  • --cc=arm-linux-gnueabihf-gcc:配置為自己的交叉編譯工具

  • --extra-cflags=-I/home/xxpcb/tools/ffmpeg/x264-master/_install/include:配置為剛才x264生成出來的include目錄

  • --extra-ldflags=-L/home/xxpcb/tools/ffmpeg/x264-master/_install/lib --extra-libs=-ldl:配置為剛才x264生成出來的lib目錄

我這里配置后報(bào)錯(cuò),如下:

嘗試將PKG_CONFIG_PATH變量進(jìn)行配置:

export PKG_CONFIG_PATH="/home/xxpcb/tools/ffmpeg/x264-master/_install/lib/pkgconfig"

實(shí)際測試無效,還是報(bào)錯(cuò):

參考這個(gè)帖子:

https://stackoverflow.com/questions/51918409/compiling-ffmpeg-x265-not-found-using-pkg-config/63661853

在配置項(xiàng)增加一條:

--pkg-config="pkg-config --static"

完整的配置項(xiàng)如下:

這次配置成功了:

然后進(jìn)行編譯

make
make install

查看文件夾_x264_install,可以看到生成的bin、include、lib、share子目錄

2 測試FFmpeg

2.1 編譯的庫拷貝到板子中

復(fù)制x264-master的lib目錄中的x264庫文庫到開發(fā)板的/usb/local/lib目錄

復(fù)制ffmpeg的lib目錄中的so庫文庫到開發(fā)板/usb/local/lib目錄

復(fù)制ffmpeg的bin目錄中的ffmpeg文庫到開發(fā)板/usb/local/bin目錄

我使用的是SSH的方式進(jìn)行復(fù)制的,具體命令如下:

SSH復(fù)制有點(diǎn)慢,可以嘗試其它復(fù)制方式。

2.2 視頻播放測試

先輸入ffmpeg,看下是否能找到這個(gè)程序,我這里有報(bào)錯(cuò),提示找不到對應(yīng)的庫(實(shí)際上是有這個(gè)庫的):

添加LD_LIBRARY_PATH變量,并導(dǎo)出

export LD_LIBRARY_PATH=/usr/local/lib

再次輸入ffmpeg,沒有報(bào)錯(cuò)了:

通過ffmpeg指令測試視頻播放

指令輸入后的打印如下:

這個(gè)是播放效果的截圖:


3 總結(jié)

本篇介紹了嵌入式Qt播放視頻的準(zhǔn)備工作:交叉編譯FFmpeg庫并移植到Linux板子中,并先通過ffmpeg指令測試視頻播放效果。下篇將嘗試設(shè)計(jì)Qt界面來結(jié)合FFmpeg進(jìn)行視頻的播放。


嵌入式Qt-交叉編譯FFmpeg與視頻播放測試的評論 (共 條)

分享到微博請遵守國家法律
盐边县| 巍山| 黑水县| 张家川| 囊谦县| 龙江县| 安西县| 凭祥市| 定安县| 吉木萨尔县| 宜章县| 东方市| 合江县| 崇左市| 宜城市| 武威市| 清水县| 南召县| 舒兰市| 水富县| 建昌县| 额尔古纳市| 七台河市| 五家渠市| 保定市| 类乌齐县| 宁强县| 健康| 新河县| 开阳县| 巴南区| 开鲁县| 凤冈县| 望奎县| 西昌市| 招远市| 赤峰市| 昭通市| 天峨县| 佳木斯市| 天台县|