zoukankan      html  css  js  c++  java
  • win10子系统linux编译ffmpeg

    android-ndk-r14b(linux版)

    ffmpeg-4.0

    开启win10子系统(控制面板-》程序和功能-》启用或关闭Windows功能 然后在 适用与 Linux 的 Windows 子系统前面打勾)

    然后点击确定,等待安装,电脑会重启

    然后在win10应用商店 搜索ubuntu安装后 即可打开liunx控制台(以后直接在windows控制台输入bash即可进入linux控制台)

    首次进入linux控制台后还需要安装gcc和make

    安装 gcc
    apt-get install gcc
    安装 make
    apt-get install make

     下面是执行的命令 ffmpeg的configure不需要做任何修改

    android-ndk-r14b可以编译成功,但是使用android-ndk-r16却编译不通过

    在e:/ffmpeg/4.0/build/ffmpeg-4.0/目录下 新建 build.sh 文件内容如下 cd到该目录下 执行chmod 777 build.sh  在执行./build.sh    

    #!/bin/sh
    cd /mnt/e/ffmpeg/4.0/build/ffmpeg-4.0
    #这里的这些变量根据自己本地的环境切换
    export NDK=/mnt/e/ffmpeg/SDK/android-ndk-r14b
    export PREBUILT=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt 
    export PLATFORM=$NDK/platforms/android-16/arch-arm
    export TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64
    export CPU=arm
    export PREFIX=/mnt/e/ffmpeg/4.0/build/android/$CPU
    
    build_one(){
    ./configure 
    --target-os=linux 
    --prefix=$PREFIX 
    --enable-cross-compile 
    --disable-asm 
    --arch=$CPU 
    --cross-prefix=$PREBUILT/linux-x86_64/bin/arm-linux-androideabi- 
    --disable-stripping 
    --nm=$PREBUILT/linux-x86_64/bin/arm-linux-androideabi-nm 
    --sysroot=$PLATFORM 
    --enable-gpl 
    --enable-static 
    --disable-shared 
    --enable-small 
    --disable-ffprobe 
    --disable-ffplay 
    --disable-ffmpeg 
    --disable-debug 
    $ADDITIONAL_CONFIGURE_FLAG
    make clean
    make j8
    make install
    }
    
    build_one
    
    $TOOLCHAIN/bin/arm-linux-androideabi-ld 
    -rpath-link=$PLATFORM/usr/lib 
    -L$PLATFORM/usr/lib 
    -L$PREFIX/lib 
    -soname libffmpeg.so -shared -nostdlib -Bsymbolic --whole-archive --no-undefined -o 
    $PREFIX/libffmpeg.so 
    libavcodec/libavcodec.a 
    libavfilter/libavfilter.a 
    libswresample/libswresample.a 
    libavformat/libavformat.a 
    libavutil/libavutil.a 
    libswscale/libswscale.a 
    libpostproc/libpostproc.a 
    libavdevice/libavdevice.a 
    -lc -lm -lz -ldl -llog --dynamic-linker=/system/bin/linker 
    $TOOLCHAIN/lib/gcc/arm-linux-androideabi/4.9.x/libgcc.a 
    
    cd ..

     这里我只编译了arm架构的

    android ffmpeg的简单使用

  • 相关阅读:
    Html语言基础
    acm练习(四)
    acm练习(三)
    acm练习(二)
    acm练习(一)
    android自定义控件属性
    android ViewGroup getChildDrawingOrder与 isChildrenDrawingOrderEnabled()
    java 用Arrays.binarySearch解读 快速定位数字范围
    android极光推送初步了解...
    GridView与ListView冲突
  • 原文地址:https://www.cnblogs.com/rchao/p/8973811.html
Copyright © 2011-2022 走看看