1、android的NDK開發需要在linux下進行: 因為需要把C/C++編寫的代碼生成能在arm上運行的.so文件,這就需要用到交叉編譯環境,而交叉編譯需要在linux系統下才能完成。
2、安裝android-ndk開發包,這個開發包可以在google android 官網下載: 通過這個開發包的工具才能將android jni 的C/C++的代碼編譯成庫
android應用程序開發環境: 包括eclipse、java、 android sdk、 adt等。
NDK編譯步驟:
a.選擇 ndk 自帶的例子 hello-jni ,我的位於E:\android-ndk-r5\samples\hello-jni( 根據具體的安裝位置而定 ) 。
b.運行 cygwin ,輸入命令 cd /cygdrive/e/android-ndk-r5/samples/hello-jni ,進入到 E:\android-ndk-r5\samples\hello-jni 目錄。
c.輸入 $NDK/ndk-build ,執行成功後,它會自動生成一個 libs 目錄,把編譯生成的 .so 文件放在裡面。 ($NDK是調用我們之前配置好的環境變數, ndk-build 是調用 ndk 的編譯程序 )
d.此時去 hello-jni 的 libs 目錄下看有沒有生成的 .so 文件,如果有,ndk 就運行正常啦。
『貳』 ffmpeg在window下編譯和linux下編譯的不同
你是哪個系統下用的?Windows和Linux下都有直接拿來用的。 另外還要看你干什麼用,你的要求特殊一些的話是需要編譯的,有的功能默認沒有開啟。一般情況下直接就用了啊,不需要編譯的。Linux下也是用安裝命令安裝一下就好了,極其簡單。
『叄』 如何編譯ffmpeg以支持dshow設備
ffmpeg編譯及使用ffmpeg編譯及使用 1 ffmpeg介紹 ffmpeg是音視頻的分離,轉換,編碼解碼及流媒體的完全解決方案,其中最重要的就是libavcodec庫
,
『肆』 如何將ffmpeg在windows編譯和使用
如下:
1. 配置編譯環境
2. 下載FFMPEG的代碼
3. 編譯,獲取FFMPEG庫(頭文件,lib,和DLL)
4. 在VC下配置,測試
1. 配置編譯環境
1)安裝MSys
下載文件:
bash-3.1-MSYS-1.0.11-snapshot.tar.bz2
msysCORE-1.0.11-20080826.tar.gz
解壓msysCORE-1.0.11-20080826.tar.gz,比如解壓到X:\msys(以下內容都使用該路徑描述,X為你安裝的盤符)。
解壓bash-3.1-MSYS-1.0.11-snapshot.tar.bz2,產生一個名為bash-3.1的目錄,在該目錄下有一個子目錄名為bin,其他的目錄不需要關心。復制bin目錄中的所有文件到D:\msys\bin,提示是否要覆蓋sh.exe的時候,選擇是。
到「D:\msys\postinstall」目錄下執行pi.bat,在出現的提示中輸入n回車後(這個不搞錯了),按任意鍵退出即可。
2)安裝MinGW
下載文件:
binutils-2.20-1-mingw32-bin.tar.gz
(binutils-2.19.1-mingw32-bin.tar.gz)
gcc-core-3.4.5-20060117-3.tar.gz
gcc-g++-3.4.5-20060117-3.tar.gz
w32api-3.13-mingw32-dev.tar.gz
mingwrt-3.16-mingw32-dev.tar.gz
(mingwrt-3.15.2-mingw32-dev.tar.gz)
mingwrt-3.16-mingw32-dll.tar.gz
(mingwrt-3.15.2-mingw32-dll.tar.gz)
把它們全部解壓到X:\msys\mingw。
3)修改「msys.bat」
用文本編輯器打開D:\msys\msys.bat,由於打算用MSVC++編譯程序,所以需要有.lib文件才能鏈接到FFmpeg的庫,這些.lib文件可以使用微軟的工具鏈中lib命令產生。為此,機器上必須已經安裝了微軟的Visual Studio或是Visual C++。把下面一行加到msys.bat的最前面,把路徑替換成機器上vcvars32.bat實際存在的路徑,比如我的在「D:\program files\Microsoft Visual Studio 8\VC\bin」,於是就添加:
call "D:\program files\Microsoft Visual Studio 8\VC\bin"
4)系統整合
復制D:\msys\etc\fstab.sample為X:\msys\etc\fstab,用文本編輯器打開D:\msys\etc\fstab編輯。(需要使用一個支持Unix換行風格的編輯器,比如Notepad++),把下面這行:
D:/mingw /mingw
改為:
D:/msys/mingw /mingw
注意:改的這個目錄為mingw你所安裝的目錄,所以按本文來講是這個目錄。如果你安裝不目錄不同,就要改成你所安裝的目錄。
完成以上步驟,MSys+MinGW系統就配置完成了。
2. 下載FFMPEG的代碼
下載代碼的辦法由兩個,一個就是用svn 下載下來。我覺得哪怕你知道svn是啥,也不用這個方法,因為太慢了。一個文件一個文件下,最關鍵SVN對應的地址是國外,都不知道什麼才能全部下完。另外一個直接下一個代碼的壓縮包。
『伍』 如何在ubuntu上編譯ffmpeg
下載ffmpeg源代碼,解壓縮。
用shell定位到目錄,執行
./configure --prefix=你要安裝的目錄
等待結束並生成makefile文件,至於--prefix=目錄,可以省略,如果省略會裝到/usr下,這在很多情況下是危險的,不可控的,可能會帶來麻煩,而且需要root許可權來安裝。
過程中如果失敗結束,一般是依賴不滿足,你需要按照錯誤提示補上需要的庫,這個問題很麻煩,我沒法確定你缺哪個庫,也沒法告訴你一個好的方法去安裝這些庫。但是你需要知道,流程就是如此,如果你知道缺哪個庫,你可以嘗試sudo apt-get install packages的方法安裝或用新立德軟體包安裝程序。
如果成功結束,將產生Makefile文件,這是之需要
make
編譯程序,如果成功結束,程序就編譯好了。
安裝程序使用
make install
根據你是否使用--prefix可能需要root許可權。
如果你僅僅是想使用ffmpeg,那麼不要編譯它,很麻煩的請直接apt-get install ffmpeg
『陸』 ios編譯ffmpeg時如何添加x264的庫
找到問題了編譯的時候首先要連接libx264 ,le-libx264 --enable-gpl --extra-cflags=-I/usr/local/include --extra-ldflags=-L/usr/local/lib 然後要打開這個編碼器--enable-encoder=libx264,我就是這一步搞錯了一直找不到,我在編譯的時候禁掉了所有的編碼器,終於可以繼續走下去了 到DEVDIV.COM網站查看回答詳情>>
『柒』 如何用vs08編譯ffmpeg
1.下載最新git版本的源代碼
2. 放到MSYS環境里配置,生成config.h文件。mingw gcc是能順利編譯通過整個項目的,並生成最新版的ffmpeg。
3. 建立vc6工程,把相關代碼都加入到工程中。由於在vc生成的obj都在一個目錄下,所以需要修改文件名,讓其不重名。
4. 安裝intel compiler 11編譯器,單獨提取其icl.exe及相關include目錄,替換掉vc6自帶的cl.exe, 在工程設置里加上/Qstd=c99,用於支持C99語法。
5. 安裝intel compiler 10編譯器,單獨提取lib目錄,因為此版本調試庫的結構能完美支持vc6的調試信息。
6. 在vc6的options里設置include/exe/lib查找目錄,指向intel編譯器。
7. 開始修改代碼,添加C99的相關linux頭文件, 用於支持vc6
8. 添加C99和linux的相關實現代碼,ffmpeg需要用到: getopt_long, strtoll, gettimeofday, atoll, usleep等
9. 修改windows的相關兼容代碼,GetWindowLongPtr -> GetWindowLong, GWLP_USERDATA
10. 去除硬體加速libavcodec代碼,和依賴庫代碼。選擇所需要的模塊,修改相關的allcodec.c, alldevices.c, allfilters.c, allformats.c
『捌』 ffmpeg在嵌入式linux裡面編譯之後有多大
這個真的要看你的編譯選項了(./configure ……)變得多了體積就大,就我來說我自己編的大概有8-9M,當然我見過人家編出來600K的
『玖』 怎麼判斷自己編譯的ffmpeg是否支持rtsp了
你看看是否設置對了。默認情況下ffmpeg是支持rtsp的,一般需要選擇對應muxer或者demuxer的順序是:--disable-demuxers --enable-demuxer=rtsp --enable-demuxer=sdp