1. 程式人生 > >IMX.6Q 移植FFmpeg libx264軟體編碼 libmp3lame

IMX.6Q 移植FFmpeg libx264軟體編碼 libmp3lame

ubuntu 16.04 

工具鏈

[email protected]:/$ 

[email protected]:/$ arm-fsl-linux-gnueabi-gcc -v
Using built-in specs.
COLLECT_GCC=arm-fsl-linux-gnueabi-gcc
COLLECT_LTO_WRAPPER=/home/sun/im6q/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../libexec/gcc/arm-fsl-linux-gnueabi/4.6.2/lto-wrapper
Target: arm-fsl-linux-gnueabi
Configured with: /work/build/.build/src/gcc-linaro-4.6-2011.06-0/configure --build=i686-build_pc-linux-gnu --host=i686-build_pc-linux-gnu --target=arm-fsl-linux-gnueabi --prefix=/work/fsl-linaro-toolchain-2.13 --with-sysroot=/work/fsl-linaro-toolchain-2.13/arm-fsl-linux-gnueabi/multi-libs --enable-languages=c,c++ --with-pkgversion='Freescale MAD -- Linaro 2011.07 -- Built at 2011/08/10 09:20' --enable-__cxa_atexit --disable-libmudflap --disable-libgomp --disable-libssp --with-gmp=/work/build/.build/arm-fsl-linux-gnueabi/build/static --with-mpfr=/work/build/.build/arm-fsl-linux-gnueabi/build/static --with-mpc=/work/build/.build/arm-fsl-linux-gnueabi/build/static --with-ppl=/work/build/.build/arm-fsl-linux-gnueabi/build/static --with-cloog=/work/build/.build/arm-fsl-linux-gnueabi/build/static --with-libelf=/work/build/.build/arm-fsl-linux-gnueabi/build/static --with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm -L/work/build/.build/arm-fsl-linux-gnueabi/build/static/lib -lpwl' --enable-threads=posix --enable-target-optspace --enable-plugin --enable-multilib --with-local-prefix=/work/fsl-linaro-toolchain-2.13/arm-fsl-linux-gnueabi/multi-libs --disable-nls --enable-c99 --enable-long-long --with-system-zlib
Thread model: posix

gcc version 4.6.2 20110630 (prerelease) (Freescale MAD -- Linaro 2011.07 -- Built at 2011/08/10 09:20)

[email protected]:~/im6q$ tar xf last_x264.tar.bz2 
[email protected]:~/im6q$ 
[email protected]:~/im6q$ tar xf ffmpeg-3.4.tar.bz2 
[email protected]:~/im6q$ tar xf lame-3.100.tar.gz 

x264

[email protected]:~/im6q/x264-snapshot-20171128-2245$ ./configure --host=arm-fsl-linux-gnueabi --prefix=/x264-imx6q --enable-shared  --disable-asm

make -j4

make install

mp3lame

[email protected]:~/im6q/x264-snapshot-20171128-2245$ ./configure --host=arm-fsl-linux-gnueabi --prefix=/lame-imx6q --enable-shared --disable-static

make -j4

make install


//ffmpeg

[email protected]:~/im6q/ffmpeg-3.4$ ./configure --cross-prefix=arm-fsl-linux-gnueabi- --enable-cross-compile --target-os=linux --cc=arm-fsl-linux-gnueabi-gcc --arch=arm --prefix=/ffmpeg-imx6q --enable-shared --disable-static --enable-gpl --enable-nonfree --enable-libx264 --enable-ffmpeg --disable-ffplay --enable-ffserver --enable-swscale --enable-pthreads  --enable-libmp3lame  --disable-stripping --extra-cflags=-I/x264-imx6q/include --extra-ldflags=-L/x264-imx6q/lib --extra-cflags=-I/lame-imx6q/include --extra-ldflags=-L/lame-imx6q/lib

make -j4

make install

lame-imx6q

x264-imx6q

ffmpeg-imx6q

 lib include目錄下的都複製到板子/usr/lib /usr/include/

單獨的複製ffmpeg-imx6qbin目錄下的檔案nano板子的/usr/bin[ffmpeg ffplay之類的]


[email protected] /home/imx6/x264-imx6q$ 
[email protected] /home/imx6/x264-imx6q$ 
[email protected] /home/imx6/x264-imx6q$ 
[email protected] /home/imx6/x264-imx6q$ ffmpeg -v
ffmpeg version 3.4 Copyright (c) 2000-2017 the FFmpeg developers
  built with gcc 4.6.2 (Freescale MAD -- Linaro 2011.07 -- Built at 2011/08/10 09:20) 20110630 (prerelease)
  configuration: --cross-prefix=arm-fsl-linux-gnueabi- --enable-cross-compile --target-os=linux --cc=arm-fsl-linux-gnueabi-gcc --arch=arm --prefix=/ffmpeg-imx6q --enable-shared --disable-static --enable-gpl --enable-nonfree --enable-libx264 --enable-ffmpeg --disable-ffplay --enable-ffserver --enable-swscale --enable-pthreads --enable-libmp3lame --disable-stripping --extra-cflags=-I/x264-imx6q/include --extra-ldflags=-L/x264-imx6q/lib --extra-cflags=-I/lame-imx6q/include --extra-ldflags=-L/lame-imx6q/lib
  libavutil      55. 78.100 / 55. 78.100
  libavcodec     57.107.100 / 57.107.100

成功


相關推薦

IMX.6Q 移植FFmpeg libx264軟體編碼 libmp3lame

ubuntu 16.04  工具鏈 [email protected]:/$  [email protected]:/$ arm-fsl-linux-gnueabi-gcc -v Using built-in specs. COLLECT_GCC=arm

ffmpeg libx264視訊編碼過程中幀內預測模式a->i_predict4x4[idx]的獲取問題

analyse.c的函式static void x264_mb_analyse_intra(...)中有這麼一段程式碼: if( i_best > 0 )  //註釋來自leixiaohua大神                 {                 

USB wifi模組mt7601U移植imx 6q android 6.0平臺

        最近公司使用imx6q開發新產品,我們沒有經驗,選了最新的android 6.0平臺來做開發。而硬體給我們提供的wifi模組竟然是使用USB外接的wifi模組,沒錯,就是淘寶上買的那種小型無線網絡卡,不是嵌入式wifi模組(不想說硬體兄弟坑我們了,沒辦法,小

FFMEPG 平臺移植,介面簡化和外部模組接入 (四)ffmpeg android移植(ffmpeg 視訊編碼)

FFMPEG 視訊編碼最常見的H264,H265需要X264,X265外部模組支援,可以從我們開源平臺的FFMPEG編譯專案裡面獲取程式碼和配置進行一鍵式編譯:https://github.com/Car-eye-team/Car-eye-FFMPEG,我們下面的程式碼主要是為了簡化程式碼呼叫結構。只需要配置

FFMPEG實現PCM編碼(不採用封裝格式實現)

技術在於交流、溝通,轉載請註明出處並保持作品的完整性。 原文:https://blog.csdn.net/hiwubihe/article/details/81260923   [音訊編解碼系列文章] 音訊編解碼基礎 FFMPEG實現音訊重取樣 FFM

FFMPEG實現PCM編碼(採用封裝格式實現)

技術在於交流、溝通,轉載請註明出處並保持作品的完整性。 原文:https://blog.csdn.net/hiwubihe/article/details/81260882   [音訊編解碼系列文章] 音訊編解碼基礎 FFMPEG實現音訊重取樣 FFM

Mac環境下Android Studio移植FFmpeg

準備: 1. Android Studio 2. FFmpeg-2.8.4   3. android-ndk-r10e 一、ndk編譯ffmpeg 1.下載ffmpeg和ndk ffmpeg下載地址:http://

hi3531下交叉編譯移植 FFMPEG X264 XVID

1. 主機環境:   Thinkpad x230 CTO      win7 64位      +   VMware 11.1.2  + ubun

Android 移植ffmpeg報錯:"atof" referenced by "libavformat.so"

cannot locate symbol "atof" referenced by "libavformat-57.so"... 原因:android的stdlib.h中atof是內聯的, 外部模組不能直接使用。跟android版本有關。 解決辦法:將所有的atof改成strtod 修改

最簡單的基於FFMPEG的視訊編碼器(YUV編碼為H.264)

                =====================================================最簡單的基於FFmpeg的視訊編碼器文章列表:=====================================================本文介紹一個最簡單的

最簡單的基於FFMPEG的音訊編碼器(PCM編碼為AAC

                本文介紹一個最簡單的基於FFMPEG的音訊編碼器。該編碼器實現了PCM音訊取樣資料編碼為AAC的壓縮編碼資料。編碼器程式碼十分簡單,但是每一行程式碼都很重要。通過看本編碼器的原始碼,可以瞭解FFMPEG音訊編碼的流程。本程式使用最新版的類庫(編譯時間為2014.5.6),開發平

FFMPEG H264/H265 編碼延遲問題

最新使用FFmpeg進行H264的編碼時,發現視訊編碼有延遲,不是實時編碼,進過一番研究發現,只要在呼叫avcodec_open2函式 打開編碼器時,設定AVDictionary引數即可,關鍵程式碼如

最簡單的基於FFMPEG的影象編碼器(YUV編碼為JPEG)

伴隨著畢業論文的完成,這兩天終於騰出了空閒,又有時間搞搞FFMPEG的研究了。想著之前一直搞的都是FFMPEG解碼方面的工作,很少涉及到FFMPEG編碼方面的東西,於是打算研究一下FFMPEG的編碼。在網上看了一些例子,發現要不然是難度略微有些大,要不然就是類庫比較陳舊,於是

idea軟體編碼已經設定好了為utf-8,但是svn中down下來的檔案格式本身不是utf-8的,此時開啟後會出現中文亂碼解決方法

我是個idea的忠實使用者,新公司的專案都是用eclipse做的,通過svn拉下程式碼後發現,註釋的內容裡,中文內容都是亂碼。問過專案負責人,說可能是GBK編碼。 但是,我通過idea的setting設定了編碼,試了5種編碼都沒用,中文內容還是亂碼。最後還是自己試出來解決方案。 詳細的原因請參考

[原]從管道傳送資料到ffmpeg進行視訊編碼

在windows編譯ffmpeg,一般的方法是mingw+msys,編譯出來的是windows的可執行檔案ffmpeg.exe。 閱讀 ffmpeg 原始碼的時候,發現 ffmpeg 支援 pipe,也就是說,傳遞給ffmpeg.exe程序的輸入檔案引數和輸出檔案引數不需

基於imx6q平臺移植ffmpeg

交叉編譯ffmpeg並生成ffplay -------------------------------------------------------------------------------

Android之ffmpeg-H264解碼-移植ffmpeg中的H264解碼部分到Android

H264解碼器原始碼,移植ffmpeg中的H264解碼部分到Android,深度刪減優化,在模擬器(320x480)中驗證通過。 程式的採用jni架構。介面部分,檔案讀取,視訊顯示都是用java做的,底層的視訊解碼用C來做滿足速度的要求。 在這個版本中,從H264碼

ffmpeg + ios 移植ffmpeg 到ios 平臺上

#!/bin/sh # FFMpeg,SDK版本號 VERSION="2.1" SDKVERSION="8.2" #最低支援的SDK版本號 MINSDKVERSION="7.0" # 原始檔路徑 SRCDIR="$(pwd)" BUILDDIR="${SRCDIR}/build" mkdir -p

FFMPEG 用H264編碼封裝mp4 有聲音無影象。或者解碼錯誤

那是因為解碼時用到的sps,pps資訊缺失。  out_stream = avformat_new_stream(ptrBoxObj->ofmt_ctx, NULL);   if (!out_stream) {    av_log(NULL, AV_LOG_ERROR

android移植ffmpeg的編譯

一,ffmpeg編譯(版本ffmpeg-HEAD-b2ad33d.tar) 1,安裝彙編編譯器[sudo apt-get install yasm]. 2,ffmpeg根目錄放編譯指令碼build_android.sh內容如下:(備註:NDK相關路徑按自己實際情況修改,若