在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            ubuntu+ndk編譯ffmpeg

            作者: 時(shí)間:2016-10-08 來(lái)源:網(wǎng)絡(luò) 收藏

            近來(lái)想把ffmpeg移植到android上來(lái)用,所以就研究了兩天,從網(wǎng)上亂搜一通,網(wǎng)上都說(shuō)在linux系統(tǒng)下比較好編譯通過(guò),所以就聽(tīng)取了意見(jiàn),裝了vmware在里面裝了個(gè)ubuntu13.04的64位系統(tǒng),緊接著我就迫不及待的http://developer.android.com/tools/sdk/ndk/index.html下載了android-ndk-r9b-linux-x86_64.tar.bz2在ubuntu系統(tǒng)下配置好了NDK的環(huán)境變量,又從ffmpeg官網(wǎng)下載了ffmpeg2.0.1版本的源碼,可是按照:http://www.roman10.net/how-to-build-ffmpeg-with-ndk-r9/ 這個(gè)教程搞了一天都沒(méi)編譯通過(guò),老是報(bào)一些莫名奇妙的錯(cuò)誤:“找不到所在目錄和文件”??赡苁俏夷莻€(gè)地方配置的不對(duì)吧。要就有那位兄弟用這個(gè)教程編譯ffmpeg成功生成libffmpeg.so文件的告訴我一聲。

            本文引用地址:http://www.biyoush.com/article/201610/305656.htm

            這個(gè)方法不行那就換個(gè)方法嘍!看到網(wǎng)上說(shuō)ffmpeg不同版本編譯方式也有所不同,既然這樣的話,我就換了一個(gè)低版本的ffmpeg0.8.1。下載此版本的鏈接為:http://www.ffmpeg.org/releases/ffmpeg-0.8.1.tar.gz 同樣ndk也換了個(gè)低版本的。下載鏈接為:http://dl.google.com/android/ndk/android-ndk-r6-linux-x86.tar.bz2

            一、在ubuntu下配置android ndk環(huán)境變量

            把下載好的android-ndk-r6版本解壓到/home/ysx目錄下(注:ysx這個(gè)文件夾是我的,這個(gè)目錄可以隨意換)。

            按Alt+F2在搜索框中輸入gnome-terminal,運(yùn)行它。在出來(lái)的這個(gè)命令窗口中輸入:gedit ~/.bashrc 回車在跳出來(lái)的文件末尾添加:export NDK=/home/ysx/android-ndk-r6 換行 export PATH=${PATH}:$NDK 保存關(guān)閉。

            source ~/.bashrc使其修改的文件生效。

            ndk-build看看咱們配置環(huán)境變量成功沒(méi),只要沒(méi)出command not found就證明環(huán)境變量配置成功。

            二、下載ffmpeg源碼

            我用ffmpeg0.8.1編譯成功了,所以此教程只針對(duì)這個(gè)版本的。下載網(wǎng)址為:http://www.ffmpeg.org/releases/ffmpeg-0.8.1.tar.gz。

            解壓它。

            三、配置ffmpeg環(huán)境

            首先在/home/ysx/android-ndk-r6目錄下新建一個(gè)以ffmpeg命名的文件夾。

            把存放ffmpeg源碼的文件夾改名為jni,然后把存放ffmpeg源碼的jni文件夾剪切到/home/ysx/android-ndk-r6/ffmpeg目錄下。

            進(jìn)入到j(luò)ni文件夾里,在里面創(chuàng)建一個(gè)名字為config.sh的文件。

            添加config.sh文件的內(nèi)容,內(nèi)容如下:(注:cross-prefix、extra-cflags、extra-ldflags這三個(gè)參數(shù)后面的路徑可以根據(jù)自己路徑修改)

            ./configure

            --disable-static

            --enable-shared

            --enable-gpl

            --enable-version3

            --enable-nonfree

            --disable-doc

            --disable-ffmpeg

            --disable-ffplay

            --disable-ffprobe

            --disable-ffserver

            --disable-avdevice

            --disable-avfilter

            --disable-postproc

            --enable-small

            --cross-prefix=/home/ysx/android-ndk-r6/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-

            --enable-cross-compile

            --target-os=linux

            --extra-cflags='-I/home/ysx/android-ndk-r6/platforms/android-9/arch-arm/usr/include'

            --extra-ldflags='-L/home/ysx/android-ndk-r6/platforms/android-9/arch-arm/usr/lib -nostdlib'

            --arch=arm

            --disable-symver

            --disable-debug

            --disable-stripping

            sed -i's/HAVE_LRINT 0/HAVE_LRINT 1/g'config.h

            sed -i's/HAVE_LRINTF 0/HAVE_LRINTF 1/g'config.h

            sed -i's/HAVE_ROUND 0/HAVE_ROUND 1/g'config.h

            sed -i's/HAVE_ROUNDF 0/HAVE_ROUNDF 1/g'config.h

            sed -i's/HAVE_TRUNC 0/HAVE_TRUNC 1/g'config.h

            sed -i's/HAVE_TRUNCF 0/HAVE_TRUNCF 1/g'config.h

            四、執(zhí)行config.sh腳本文件

            首先必須保證你的光標(biāo)定位到了jni文件夾里(注:~/android-ndk-r6/ffmpeg/jni$)

            給config.sh的執(zhí)行權(quán)限:sudo chmod a+x config.sh

            執(zhí)行腳本:./config.sh

            出現(xiàn)下圖的樣子就證明執(zhí)行

            五、把Android.mk文件移到j(luò)ni文件夾里

            Android.mk文件內(nèi)容如下:

            LOCAL_PATH := $(call my-dir)

            include $(CLEAR_VARS)

            LOCAL_MODULE := ffmpeg

            include $(LOCAL_PATH)/config.mak

            LOCAL_CFLAGS := -DHAVE_AV_CONFIG_H -std=c99

            AVUTIL_C_FILES = adler32.c

            aes.c

            audioconvert.c

            avstring.c

            base64.c

            cpu.c

            crc.c

            des.c

            error.c

            eval.c

            fifo.c

            file.c

            imgutils.c

            intfloat_readwrite.c

            inverse.c

            lfg.c

            lls.c

            log.c

            lzo.c

            mathematics.c

            md5.c

            mem.c

            dict.c

            opt.c

            parseutils.c

            pixdesc.c

            random_seed.c

            rational.c

            rc4.c

            samplefmt.c

            sha.c

            tree.c

            utils.c

            arm/cpu.c

            AVUTIL_SRC_FILES = $(addprefix libavutil/, $(sort $(AVUTIL_C_FILES)))

            AVCODEC_C_FILES = allcodecs.c

            audioconvert.c

            avpacket.c

            bitstream.c

            bitstream_filter.c

            dsputil.c

            faanidct.c

            fmtconvert.c

            imgconvert.c

            jrevdct.c

            options.c

            parser.c

            raw.c


            上一頁(yè) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 下一頁(yè)

            關(guān)鍵詞:

            評(píng)論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉