android 视频转码需要权限,android 使用 ffmpeg 进行视频转码(一)
以下步驟在 Ubuntu 16.04.2 LTS 下完成
第一步:到 ffmpeg 官網(wǎng) 下載 ffmpeg-2.6.9.tar.gz 包到 study/目錄并解壓,然后給文件夾讀寫權(quán)限。這里選擇 2.6.9 版本,因為目前這個版本比較穩(wěn)定
>$mkdir study/
>$cd study
>$wget ffmpeg.org/releases/ffmpeg-2.6.9.tar.gz
>$tar -xvf ffmpeg-2.6.9.tar.gz
>$sudo chmod -R 777 ffmpeg-2.6.9
第二步:進入ffmpeg-2.6.9 文件夾,然后新建 build_android.sh 文件
>$cd ffmpeg-2.6.9
>$touch build_android.sh
文件中添加如下內(nèi)容:
#!/bin/bash
make clean
export NDK=/home/user/IDE/sdk/ndk-bundle
export SYSROOT=$NDK/platforms/android-9/arch-arm/
export TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64
export CPU=arm
export PREFIX=$(pwd)/android/$CPU
export ADDI_CFLAGS="-marm"
./configure --target-os=linux \
--prefix=$PREFIX --arch=arm \--disable-doc \--enable-shared \--disable-static \--disable-yasm \--disable-symver \--enable-gpl \--disable-ffmpeg \--disable-ffplay \--disable-ffprobe \--disable-ffserver \--disable-doc \--disable-symver \--cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \--enable-cross-compile \--sysroot=$SYSROOT \--extra-cflags="-Os -fpic $ADDI_CFLAGS" \--extra-ldflags="$ADDI_LDFLAGS" \$ADDITIONAL_CONFIGURE_FLAG
make clean
make
make install
其中以下三個地方需要修改
export NDK=你的 NDK 所在路徑
export SYSROOT=你的NDK中的平臺
export TOOLCHAIN=你的 NDK 工具鏈交叉編譯環(huán)境
一般情況下,只要配置好 NDK 路徑即可,SYSROOT 和 TOOLCHAIN可以不做修改,如果需要修改,請根據(jù)自己的 NDK 路徑情況進行修改。其他配置參數(shù)不用改動
第三步:給 build_android.sh 添加可執(zhí)行權(quán)限,并運行該腳本
>$ sudo chmod +x build_android.sh
>$ sudo ./build_android.sh
運行完成后,會在 ffmpeg-2.6.9 文件夾下生成 android 目錄,里面的內(nèi)容如下:
arm
├── include
│ ├── libavcodec
│ ├── libavdevice
│ ├── libavfilter
│ ├── libavformat
│ ├── libavutil
│ ├── libpostproc
│ ├── libswresample
│ └── libswscale
└── lib
├── libavcodec-56.so
├── libavdevice-56.so
├── libavfilter-5.so
├── libavformat-56.so
├── libavutil-54.so
├── libpostproc-53.so
├── libswresample-1.so
├── libswscale-3.so
其中 include 目錄下存放 ffmpeg 八大模塊的頭文件,lib 則存在放著編譯后生成的帶版本號的 .so 庫文件。這些文件后續(xù)在使用 android NDK 進行 ffmpeg 視頻轉(zhuǎn)碼編程中需要用到。
PS:以上博文內(nèi)容根據(jù) 動腦學(xué)院 Android 課程內(nèi)容整理而成,如有侵權(quán),請通知
總結(jié)
以上是生活随笔為你收集整理的android 视频转码需要权限,android 使用 ffmpeg 进行视频转码(一)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【C++】atomic简介
- 下一篇: 记录一次腾讯面试经历