在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何移植FFmpeg

ElfBoard ? 2024-06-07 15:28 ? 次閱讀

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

配置交叉編譯環境

ElfBoard官方使用的是arm-poky-linux-gnueabi-gcc交叉編譯器,但是在使用中發現會報錯,這里使用的是gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux(在實驗中使用gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf會報一個與pkg-config有關的錯誤,暫未找到問題原因及解決方法)。

arm交叉編譯器下載完成后,創建/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

之后配置環境變量,使用命令“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命令重啟系統,在命令行輸入“arm-linux-gnueabihf-gcc -v”查詢是否搭建成功,如果沒搭建成功,請檢查上一步的PATH路徑是否填寫正確。

wKgaomZinbOAQg30ABmrl2gFNXM430.png

編譯x264

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

wKgZomZincyAWeJyABAPN5yNVAI848.png

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

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

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

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

其中:

prefix=/home/feng/文檔/開發/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

最后執行

make make install

完成x264的編譯。

編譯FFmpeg

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

wKgaomZintCAGS7NAAJTenbK2Rs940.png

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

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

進入解壓后的ffmpeg文件夾,并修改Makefile文件,添加編譯選項。

CFLAGS += -fPIC

執行如下命令來配置編譯選項。

./configure --cross-prefix=arm-linux-gnueabihf- --enable-cross-compile --target-os=linux --cc=arm-linux-gnueabihf-gcc --arch=arm --prefix=/home/feng/文檔/開發/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/文檔/開發/Linux/proj/ffmpeg/x264_install/include --extra-ldflags=-L/home/feng/文檔/開發/Linux/proj/ffmpeg/x264_install/lib --extra-libs=-ldl

參數說明:

  • cross-prefix=arm-linux-gnueabihf-:配置為自己的交叉編譯工具
  • cc=arm-linux-gnueabihf-gcc:配置為自己的交叉編譯工具
  • arch=arm --prefix=/home/feng/文檔/開發/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/文檔/開發/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

如果出現問題,可以查看/ffmpeg/ffbuild目錄下的config.log文件,查看具體報錯原因。

最后執行:

make make install

完成FFmpeg的編譯。

wKgaomZin3mAT_llAAaWp5h1zzI509.png

文件移植

進入x264_install/lib目錄,將x264_install/lib文件夾下的庫文件拷貝到開發板的/lib/目錄下:

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

進入ffmpeg_install/lib目錄,將ffmpeg_install/lib文件夾下的so庫文件全部拷貝到開發板的/lib/目錄下:

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

進入ffmpeg_install/bin/目錄,將ffmpeg_install/bin/目錄下的ffmpeg文件拷貝到開發板的/bin/目錄下

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

完成文件的移植。

測試

將免驅的USB攝像頭插到ELF 1開發板的USB口上,可以看到在/dev文件夾下會新增一個video2的設備,這個就是攝像頭。

wKgaomZioI2AS0ACAAmJuTeGzq0082.png

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

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

會出現如下所示:

wKgaomZioLmACLsFAAyWvlwjNxs734.png

使用Ctrl+C打斷錄制,這時候會看到/home/root目錄下出現了cam_video.avi文件,這個就是錄制的視頻文件。

將該視頻文件傳輸到電腦上進行查看。在命令行輸入

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

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

wKgaomZioOyAQ4JSAAGU7-U_Nq4144.png

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式
    +關注

    關注

    5096

    文章

    19189

    瀏覽量

    308034
  • 數字音頻
    +關注

    關注

    9

    文章

    204

    瀏覽量

    67173
  • 開發板
    +關注

    關注

    25

    文章

    5134

    瀏覽量

    98339
  • Linux開發
    +關注

    關注

    0

    文章

    34

    瀏覽量

    6965
  • 學習開發板
    +關注

    關注

    0

    文章

    10

    瀏覽量

    307
收藏 人收藏

    評論

    相關推薦

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

    本篇介紹了嵌入式Qt播放視頻的準備工作:交叉編譯FFmpeg庫并移植到Linux板子中,并先通過ffmpeg指令測試視頻播放效果。下篇將嘗試設計Qt界面來結合FFmpeg進行視頻的播放
    的頭像 發表于 09-15 02:08 ?2553次閱讀
    嵌入式Qt-交叉編譯<b class='flag-5'>FFmpeg</b>與視頻播放測試

    Tiny4412移植ffmpeg實現視頻解碼

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

    【風火輪YY3568開發板免費體驗】第二章:YY3568 ffmpeg 編譯以及 nanogui 移植

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

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

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

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

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

    【飛凌嵌入式OK3588J-C開發板體驗】OK3588J-C開發板的支持RKMPP的FFmpeg移植

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

    【OK210申請】物聯網控制器,實時視頻項目

    申請理由:已買ok6410, 對比一下性能。 希望推薦給同事和朋友。作為M2M team培訓的開發板。項目描述:1,移植ffmpeg, ffserver vlc等 流媒體服務器。 2,使用linaro構建rootfs。3,機器人控制等。
    發表于 06-29 21:25

    iTOP-iMX6ULL開發板-FFmpeg移植

    將其轉化為流的多媒體視頻處理工具,擁有視頻采集功能、視頻格式轉換、視頻抓圖等功能。本文檔介紹如何將 ffmpeg 移植到 ARM 平臺。開發板使用迅為i.MX6ULL終結者和USB免驅攝像頭,交叉編譯
    發表于 09-04 10:28

    如何將ffmpeg移植到ARM平臺

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

    怎么實現ffmpeg解碼器到龍芯3B的移植

    本文實現了ffmpeg解碼器到龍芯3B的移植,并針對龍芯3B實現了對向量擴展指令支持的特點,對ffmpeg解碼器進行了手工向量化。
    發表于 06-02 06:57

    迅為imx6開發板QT系統移植FFmpeg-編譯x264

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

    迅為imx6開發板QT系統移植FFmpeg移植到ARM開發板和測試

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

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

    該如何編譯,目前是沒有config.h文件的。因為純新手很多基礎都不懂,之前看過連老師在openharmony 1.0 上的第三方庫移植,用的是hi3861,但是我嘗試了一下移植ffmpeg到1.0
    發表于 12-20 13:16

    Purple Pi R1 FFMPEG移植與測試

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

    介紹FFmpeg是什么?與關于FFmpeg的問題回答

    FFmpeg誕生于十幾年前,最初是作為一個MPlayer播放器的一個子項目出現。因為當時的播放器有需要支持各種各樣解碼的需求, 其中有一位Mplayer的開發者看到了這樣的需求,于是編寫了FFmpeg
    的頭像 發表于 07-28 09:10 ?2.4w次閱讀
    介紹<b class='flag-5'>FFmpeg</b>是什么?與關于<b class='flag-5'>FFmpeg</b>的問題回答
    主站蜘蛛池模板: 亚洲第一成人在线 | 欧美无限看| 最新欧美精品一区二区三区 | 尤物蜜芽福利国产污在线观看 | 成人免费无毒在线观看网站 | 日本人的色道www免费一区 | 色噜噜狠狠色综合久 | 与子乱刺激对白在线播放 | 欧美黑人粗硬大在线看 | 天天操夜夜摸 | 天天搞天天色 | 欧美综合在线视频 | 欧美地区一二三区 | www.精品视频| 色老头影院 | 日韩99| 免费在线观看大片影视大全 | 8050午夜一级二级全黄 | 一级视频片| a网在线| 欧美性色xo影院69 | 午夜神马福利免费官方 | 福利社91 | 在线欧美激情 | 精品欧美一区二区三区 | 午夜一级成人 | 免费在线观看a | 欧美日韩色图 | 国产亚洲精品线观看77 | 午夜精品久久久久久久第一页 | 日韩操穴 | 激情九月婷婷 | 国产资源免费观看 | 六月丁香激情 | 成年香蕉大黄美女美女 | 午夜伦理片在线观看 | 久久亚洲一级毛片 | 狠狠狠色丁香婷婷综合激情 | 禁漫画羞羞动漫入口 | 国产剧情麻豆三级在线观看 | 久久综合九色 |