zoukankan      html  css  js  c++  java
  • 【FFMEPG】windows下编译ffmpeg2.5——使用VS2013,ARMLINUX,ANDORID编译ffmpeg

    原文:http://blog.csdn.net/finewind/article/details/42784557

    一、准备:

    1. 本机环境: win7 64bit;

    2. 安装MinGW到C:MinGW,下载地址http://www.mingw.org/;

    3. 安装yasm,下载地址http://yasm.tortall.NET/;

    (2,3步请参考http://blog.csdn.net/finewind/article/details/38854517)

    4. 下载ffmpeg源码:我是从https://github.com/FFmpeg/FFmpeg上拉的release/2.5分支;

    二、使用VS2013编译ffmpeg2.5:

    VS2013已基本完整支持C99,使用VS2013,可以省去C89到C99的转换过程,并且FFMPEG2.5版本已经完整支持msvc工具链(实际FFMPEG2.3即已经支持),这使得使用VS2013编译ffmpeg变得异常简单,详细步骤可参考http://blog.csdn.net/finewind/article/details/38854517

    1. 安装VS2013,假设装在D盘;

    2. 编辑C:MinGWmsys1.0msys.bat文件,在此文件的最前面(@echo off之后)添加一行如下内容:

    [plain] view plain copy
     在CODE上查看代码片派生到我的代码片
    1. call "D:Program Files(x86)Microsoft Visual Studio 12.0VCinvcvars32.bat"  

    3. 重命名 C:/MinGW/msys/1.0/bin/link.exe 为link_renamed.exe;

    4. 在FFMPEG代码目录下新建文件build_msvc.sh,内容如下:

    [plain] view plain copy
     在CODE上查看代码片派生到我的代码片
    1. #!/bin/sh  
    2.   
    3. # for msvc  
    4. MSVC_PREFIX=$(pwd)/out/msvc       
    5.   
    6. function build_msvc  
    7. {  
    8. ./configure       
    9.     --prefix=$MSVC_PREFIX   
    10.     --enable-static       
    11.     --enable-shared       
    12.     --enable-debug        
    13.     --toolchain=msvc  
    14. make clean  
    15. make          
    16. make install      
    17. }  
    18.   
    19. build_msvc  
    5. 双击C:MinGWmsys1.0msys.bat文件,在打开的命令行窗口下切换到ffmpeg源码目录,为build_msvc.sh添加执行权限,并执行;

    6. 等待脚本执行完成。

    二、使用Android NDK编译ffmpeg2.5:

    1. 安装android ndk,下载地址:developer.android.com/tools/sdk/ndk/index.html,我使用的是ndk-r9d,安装目录为E:android;

    2. 在FFMPEG代码目录下新建文件build_android.sh,内容如下:

    [plain] view plain copy
     在CODE上查看代码片派生到我的代码片
    1. NDK=E:/android/android-ndk-r9d  
    2. SYSROOT=$NDK/platforms/android-19/arch-arm/  
    3. TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.8/prebuilt/windows-x86_64  
    4. PREFIX=$(pwd)/out/android  
    5.   
    6. function build_android  
    7. {  
    8. ./configure   
    9.     --prefix=$PREFIX   
    10.     --enable-shared   
    11.     --disable-static   
    12.     --disable-doc   
    13.     --disable-ffmpeg   
    14.     --disable-ffplay   
    15.     --disable-ffprobe   
    16.     --disable-ffserver   
    17.     --disable-avdevice   
    18.     --disable-doc   
    19.     --disable-symver   
    20.     --enable-cross-compile   
    21.     --sysroot=$SYSROOT    
    22.     --cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi-   
    23.     --target-os=linux   
    24.     --arch=arm  
    25. make clean  
    26. make  
    27. make install  
    28. }  
    29.   
    30. build_android  
    3. 双击C:MinGWmsys1.0msys.bat文件,在打开的命令行窗口下切换到ffmpeg源码目录,为build_android.sh添加执行权限,并执行;

    4. 等待脚本执行完成。


    三、使用ARM Linux工具链编译ffmpeg2.5:

    1. 安装arm-none-linux-gnueabi-gcc,下载地址:http://www.veryarm.com/arm-none-linux-gnueabi-gcc,我使用的是windows安装版arm-2014.05-29-arm-none-linux-gnueabi.exe,安装路径:F:arm-201405;

    2. 在FFMPEG代码目录下新建文件build_armlinux.sh,内容如下:

    [plain] view plain copy
     在CODE上查看代码片派生到我的代码片
    1. TOOLROOT=F:/arm-201405  
    2. PREFIX=$(pwd)/out/armlinux  
    3.   
    4. function build_armlinux  
    5. {  
    6. ./configure   
    7.     --prefix=$PREFIX   
    8.     --enable-shared   
    9.     --disable-static   
    10.     --disable-doc   
    11.     --disable-ffmpeg   
    12.     --disable-ffplay   
    13.     --disable-ffprobe   
    14.     --disable-ffserver   
    15.     --disable-avdevice   
    16.     --disable-doc   
    17.     --disable-symver   
    18.     --enable-cross-compile   
    19.     --sysroot=$TOOLROOT/arm-none-linux-gnueabi/libc    
    20.     --cross-prefix=$TOOLROOT/bin/arm-none-linux-gnueabi-   
    21.     --target-os=linux   
    22.     --arch=arm  
    23. make clean  
    24. make  
    25. make install  
    26. }  
    27.   
    28. build_armlinux  
    3. 双击C:MinGWmsys1.0msys.bat文件,在打开的命令行窗口下切换到ffmpeg源码目录,为build_armlinux.sh添加执行权限,并执行;

    4. 等待脚本执行完成。

  • 相关阅读:
    973. K Closest Points to Origin
    919. Complete Binary Tree Inserter
    993. Cousins in Binary Tree
    20. Valid Parentheses
    141. Linked List Cycle
    912. Sort an Array
    各种排序方法总结
    509. Fibonacci Number
    374. Guess Number Higher or Lower
    238. Product of Array Except Self java solutions
  • 原文地址:https://www.cnblogs.com/huty/p/8517633.html
Copyright © 2011-2022 走看看