国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何移植FFmpeg

ElfBoard ? 2024-06-07 15:28 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

?FFmpeg是一款專門用于處理數(shù)字音頻和視頻,支持錄制、轉(zhuǎn)換,并能將這些媒體內(nèi)容轉(zhuǎn)化為實(shí)時(shí)流數(shù)據(jù)的開源計(jì)算機(jī)程序。它遵循LGPL或GPL許可協(xié)議,為用戶提供了涵蓋音視頻錄制、格式轉(zhuǎn)換及流媒體分發(fā)的全方位解決方案,深入掌握FFmpeg已成為每一位多媒體開發(fā)工程師的必修課。今天就跟各位小伙伴分享一篇共創(chuàng)社的學(xué)習(xí)筆記,探討一下如何移植FFmpeg。

配置交叉編譯環(huán)境

ElfBoard官方使用的是arm-poky-linux-gnueabi-gcc交叉編譯器,但是在使用中發(fā)現(xiàn)會(huì)報(bào)錯(cuò),這里使用的是gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux(在實(shí)驗(yàn)中使用gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf會(huì)報(bào)一個(gè)與pkg-config有關(guān)的錯(cuò)誤,暫未找到問題原因及解決方法)。

arm交叉編譯器下載完成后,創(chuàng)建/usr/local/arm目錄并將下載的壓縮包拷貝到該目錄下并解壓。

sudo mkdir /usr/local/arm sudo cp gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux.tar.xz /usr/local/arm/ sudo tar -vxf ggcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux.tar.xz

wKgaomZinXqAB6aXAAFGzbG-50k567.png

之后配置環(huán)境變量,使用命令“sudo gedit /etc/profile”打開profile文件,并在文件最后添加“export PATH=$PATH:/usr/local/arm/gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux/bin”。

wKgaomZinZOAe--NAAQ_7XcJ2G4064.png

最后保存文件并使用reboot命令重啟系統(tǒng),在命令行輸入“arm-linux-gnueabihf-gcc -v”查詢是否搭建成功,如果沒搭建成功,請(qǐng)檢查上一步的PATH路徑是否填寫正確。

wKgaomZinbOAQg30ABmrl2gFNXM430.png

編譯x264

首先從以下網(wǎng)站獲取x264的源碼并下載。(http://download.videolan.org/pub/videolan/x264/snapshots/)

wKgZomZincyAWeJyABAPN5yNVAI848.png

將下載的壓縮包放到你的工作目錄下并解壓,并創(chuàng)建一個(gè)“x264_install”文件夾用于存放編譯后生成的文件。

tar -vxf x264-snapshot-20191217-2245-stable.tar.bz2 mkdir x264_install

之后進(jìn)入解壓的“x264-snapshot-20191217-2245-stable”文件夾下(我這里將文件夾重命名為了x264),并執(zhí)行如下命令。

./configure --enable-shared --prefix=/home/feng/文檔/開發(fā)/Linux/proj/ffmpeg/x264_install/ --host=arm-linux-gnueabihf --disable-asm

其中:

prefix=/home/feng/文檔/開發(fā)/Linux/proj/ffmpeg/x264_install/表示指定編譯后存放路徑。

host=arm-linux-gnueabihf :表示指定交叉編譯鏈,用戶需要修改為自己的交叉編譯器。

wKgaomZingiAZImLAAP-VUjttq4410.png

之后修改“config.mak”文件,需要將交叉編譯工具修改為自己使用的交叉編譯工具。

SYS_ARCH=ARM SYS=LINUX CC= arm-linux-gnueabihf-gcc LD=arm-linux-gnueabihf-gcc -o AR= arm-linux-gnueabihf-ar rc RANLIB= arm-linux-gnueabihf-ranlib

wKgZomZinjCAWLH2AALH3csEFA4273.png

最后執(zhí)行

make make install

完成x264的編譯。

編譯FFmpeg

首先從以下網(wǎng)站上下載ffmpeg源碼并放置在工作目錄下。(http://ffmpeg.org/download.html)

wKgaomZintCAGS7NAAJTenbK2Rs940.png

之后與x264編譯類似,解壓并創(chuàng)建文件夾ffmpeg_install用于存放生成的文件

tar -vxf ffmpeg-snapshot.tar.bz2 mkdir ffmpeg_install

進(jìn)入解壓后的ffmpeg文件夾,并修改Makefile文件,添加編譯選項(xiàng)。

CFLAGS += -fPIC

執(zhí)行如下命令來配置編譯選項(xiàng)。

./configure --cross-prefix=arm-linux-gnueabihf- --enable-cross-compile --target-os=linux --cc=arm-linux-gnueabihf-gcc --arch=arm --prefix=/home/feng/文檔/開發(fā)/Linux/proj/ffmpeg/ffmpeg_install --enable-shared --disable-static --enable-gpl --enable-nonfree --disable-ffplay --enable-swscale --enable-pthreads --disable-armv5te --disable-armv6 --disable-armv6t2 --disable-x86asm --disable-stripping --enable-libx264 --extra-cflags=-I/home/feng/文檔/開發(fā)/Linux/proj/ffmpeg/x264_install/include --extra-ldflags=-L/home/feng/文檔/開發(fā)/Linux/proj/ffmpeg/x264_install/lib --extra-libs=-ldl

參數(shù)說明:

  • cross-prefix=arm-linux-gnueabihf-:配置為自己的交叉編譯工具
  • cc=arm-linux-gnueabihf-gcc:配置為自己的交叉編譯工具
  • arch=arm --prefix=/home/feng/文檔/開發(fā)/Linux/proj/ffmpeg/ffmpeg_install:編譯后存放路徑
  • extra-cflags=-I/home/ubuntu/work/ffmpeg/_x264_install/include:x264的include路徑
  • extra-ldflags=-L/home/ubuntu/work/ffmpeg/_x264_install/lib :x264的lib路徑
wKgaomZinx2ASFxRAAdh9kb2dCA144.png

這一步可能遇到的問題:

ERROR: x264 not found using pkg-config

解決方法:需要指定x264/lib/pkgconfig的路徑:

export PKG_CONFIG_PATH=/home/feng/文檔/開發(fā)/Linux/proj/ffmpeg/x264_install/lib/pkgconfig

error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directory

解決方法:

sudo apt-get install apt-file sudo apt-file update sudo apt-file search libz.so.1 sudo apt-get install lib32z1

如果出現(xiàn)問題,可以查看/ffmpeg/ffbuild目錄下的config.log文件,查看具體報(bào)錯(cuò)原因。

最后執(zhí)行:

make make install

完成FFmpeg的編譯。

wKgaomZin3mAT_llAAaWp5h1zzI509.png

文件移植

進(jìn)入x264_install/lib目錄,將x264_install/lib文件夾下的庫(kù)文件拷貝到開發(fā)板的/lib/目錄下:

scp -o HostKeyAlgorithms=+ssh-rsa *x264* root@192.168.0.232:/lib/

進(jìn)入ffmpeg_install/lib目錄,將ffmpeg_install/lib文件夾下的so庫(kù)文件全部拷貝到開發(fā)板的/lib/目錄下:

scp -o HostKeyAlgorithms=+ssh-rsa *lib* root@192.168.0.232:/lib/

進(jìn)入ffmpeg_install/bin/目錄,將ffmpeg_install/bin/目錄下的ffmpeg文件拷貝到開發(fā)板的/bin/目錄下

scp -o HostKeyAlgorithms=+ssh-rsa ffmpeg root@192.168.0.232:/bin/

完成文件的移植。

測(cè)試

將免驅(qū)的USB攝像頭插到ELF 1開發(fā)板的USB口上,可以看到在/dev文件夾下會(huì)新增一個(gè)video2的設(shè)備,這個(gè)就是攝像頭。

wKgaomZioI2AS0ACAAmJuTeGzq0082.png

之后測(cè)試使用FFmpeg錄制攝像頭視頻并保存

ffmpeg -f video4linux2 -s 320x240 -i /dev/video2 /home/root/cam_video.avi

會(huì)出現(xiàn)如下所示:

wKgaomZioLmACLsFAAyWvlwjNxs734.png

使用Ctrl+C打斷錄制,這時(shí)候會(huì)看到/home/root目錄下出現(xiàn)了cam_video.avi文件,這個(gè)就是錄制的視頻文件。

將該視頻文件傳輸?shù)?a target="_blank">電腦上進(jìn)行查看。在命令行輸入

scp -o HostKeyAlgorithms=+ssh-rsa cam_video.avi feng@192.168.0.1:/home/feng/

其中“feng@192.168.0.1:/home/feng/”需要改成自己電腦的用戶名和ip地址以及想要存放文件的路徑,這時(shí)候在/home/feng/文件夾下就能看到并播放錄制的視頻了。

wKgaomZioOyAQ4JSAAGU7-U_Nq4144.png

至此,就完成了FFmpeg的移植。期望這一過程能為正在探索嵌入式領(lǐng)域知識(shí)的小伙伴們帶來實(shí)質(zhì)性的幫助。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5198

    文章

    20449

    瀏覽量

    334079
  • 數(shù)字音頻
    +關(guān)注

    關(guān)注

    9

    文章

    224

    瀏覽量

    68202
  • 開發(fā)板
    +關(guān)注

    關(guān)注

    26

    文章

    6291

    瀏覽量

    118135
  • Linux開發(fā)
    +關(guān)注

    關(guān)注

    0

    文章

    46

    瀏覽量

    7693
  • 學(xué)習(xí)開發(fā)板

    關(guān)注

    0

    文章

    10

    瀏覽量

    715
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    Tiny4412移植ffmpeg實(shí)現(xiàn)視頻解碼

    ?FFmpeg是一套可以用來記錄、轉(zhuǎn)換數(shù)字音頻、視頻,并能將其轉(zhuǎn)化為流的開源計(jì)算機(jī)程序。采用LGPL或GPL許可證。它提供了錄制、轉(zhuǎn)換以及流化音視頻的完整解決方案。它包含了非常先進(jìn)的音頻/視頻編解碼
    的頭像 發(fā)表于 09-29 15:31 ?2601次閱讀
    Tiny4412<b class='flag-5'>移植</b><b class='flag-5'>ffmpeg</b>實(shí)現(xiàn)視頻解碼

    【風(fēng)火輪YY3568開發(fā)板免費(fèi)體驗(yàn)】第二章:YY3568 ffmpeg 編譯以及 nanogui 移植

    本章主要記錄如何移植 nanogui 以及在 buildroot 下快樂編譯 ffmpeg
    的頭像 發(fā)表于 08-11 15:41 ?4654次閱讀
    【風(fēng)火輪YY3568開發(fā)板免費(fèi)體驗(yàn)】第二章:YY3568  <b class='flag-5'>ffmpeg</b> 編譯以及 nanogui <b class='flag-5'>移植</b>

    飛凌嵌入式ElfBoard ELF 1板卡-如何移植FFmpeg

    的全方位解決方案,深入掌握FFmpeg已成為每一位多媒體開發(fā)工程師的必修課。今天就跟各位小伙伴分享一篇共創(chuàng)社的學(xué)習(xí)筆記,探討一下如何移植FFmpeg。 配置交叉編譯環(huán)境ELFbord官方
    發(fā)表于 06-06 09:17

    嵌入式學(xué)習(xí)-飛凌嵌入式ElfBoard ELF 1板卡-如何移植FFmpeg

    的全方位解決方案,深入掌握FFmpeg已成為每一位多媒體開發(fā)工程師的必修課。今天就跟各位小伙伴分享一篇共創(chuàng)社的學(xué)習(xí)筆記,探討一下如何移植FFmpeg。 配置交叉編譯環(huán)境ELFbord官方
    發(fā)表于 06-06 09:32

    【飛凌嵌入式OK3588J-C開發(fā)板體驗(yàn)】OK3588J-C開發(fā)板的支持RKMPP的FFmpeg移植

    沒辦法了,我們自己進(jìn)行編譯一下吧,而且飛凌官方也給我們提供具體的移植過程,OK3588 5.10.66 Forlinx Desktop20.04 移植ffmpeg,不過也可以按照我這里面來進(jìn)行
    發(fā)表于 12-30 08:57

    ffmpeg可以移植到SMT32H7嗎?

    找不到相關(guān)資料,ffmpeg移植到stm32的資源
    發(fā)表于 03-14 07:44

    【HZ-RK3568開發(fā)板免費(fèi)體驗(yàn)】合眾HZ-RK3568 移植 ffmpeg 支持 mpp 庫(kù)來加速

    1 第一步 下載 ffmpeg git clone https://github.com/FFmpeg/FFmpeg.git 2 在 ffmpeg 的編解碼器上注冊(cè) mpp 硬件編解碼
    發(fā)表于 09-15 01:28

    【OK210申請(qǐng)】物聯(lián)網(wǎng)控制器,實(shí)時(shí)視頻項(xiàng)目

    申請(qǐng)理由:已買ok6410, 對(duì)比一下性能。 希望推薦給同事和朋友。作為M2M team培訓(xùn)的開發(fā)板。項(xiàng)目描述:1,移植ffmpeg, ffserver vlc等 流媒體服務(wù)器。 2,使用linaro構(gòu)建rootfs。3,機(jī)器人控制等。
    發(fā)表于 06-29 21:25

    如何將ffmpeg移植到ARM平臺(tái)

    ffmpeg移植到ARM平臺(tái)。開發(fā)板使用迅為i.MX6ULL終結(jié)者和USB免驅(qū)攝像頭,交叉編譯工具為arm-linux-gnueabihf,yocto Qt5文件系統(tǒng)。
    發(fā)表于 12-28 06:24

    迅為imx6開發(fā)板QT系統(tǒng)移植FFmpeg-編譯x264

    ffmpeg 移植到ARM 平臺(tái)。相關(guān)的配套資料在網(wǎng)盤資料的“iTOP-i.MX6 開發(fā)板資料匯總(不含光盤資料)\08_iTOP-i.MX6 開發(fā)板 Linux 系統(tǒng)開發(fā)資料\09-Linux 系統(tǒng)移植
    發(fā)表于 10-14 11:25

    迅為imx6開發(fā)板QT系統(tǒng)移植FFmpeg移植到ARM開發(fā)板和測(cè)試

    我們通過 ssh 將_x264_install 下的庫(kù)文件拷貝到開發(fā)板的/lib/目錄下,大家也可以使用 nfs 或者 U 盤拷貝文件到開發(fā)板,如下圖所示:將_ffmpeg_install/lib
    發(fā)表于 10-28 11:18

    ffmpeg第三方庫(kù)如何在harmony 3.0上編譯跑通?

    該如何編譯,目前是沒有config.h文件的。因?yàn)榧冃率趾芏嗷A(chǔ)都不懂,之前看過連老師在openharmony 1.0 上的第三方庫(kù)移植,用的是hi3861,但是我嘗試了一下移植ffmpeg到1.0
    發(fā)表于 12-20 13:16

    Purple Pi R1 FFMPEG移植與測(cè)試

    FFMPEG移植與測(cè)試下載源碼git clone https://github.com/aaron201912/ffmpeg.git將ffmpeg-master.zip 放到Ubun
    發(fā)表于 09-06 15:22

    瑞芯微RK3588平臺(tái)FFmpeg硬件編解碼移植及性能測(cè)試實(shí)戰(zhàn)攻略

    本文介紹瑞芯微RK3588平臺(tái),FFmpeg硬件編解碼移植及性能測(cè)試方法。FFmpeg簡(jiǎn)介與實(shí)測(cè)數(shù)據(jù)FFmpeg簡(jiǎn)介FFmpeg是一套多媒體
    的頭像 發(fā)表于 10-21 13:51 ?1750次閱讀
    瑞芯微RK3588平臺(tái)<b class='flag-5'>FFmpeg</b>硬件編解碼<b class='flag-5'>移植</b>及性能測(cè)試實(shí)戰(zhàn)攻略

    瑞芯微RK3562平臺(tái)FFmpeg硬件編解碼移植及性能測(cè)試實(shí)戰(zhàn)攻略

    本文介紹瑞芯微RK3562平臺(tái),FFmpeg硬件編解碼移植及性能測(cè)試方法。FFmpeg簡(jiǎn)介與實(shí)測(cè)數(shù)據(jù)FFmpeg簡(jiǎn)介FFmpeg是一套多媒體
    的頭像 發(fā)表于 11-28 19:02 ?1305次閱讀
    瑞芯微RK3562平臺(tái)<b class='flag-5'>FFmpeg</b>硬件編解碼<b class='flag-5'>移植</b>及性能測(cè)試實(shí)戰(zhàn)攻略