精华内容
参与话题
问答
  • windows 编译FFMPEG

    2018-12-24 09:12:58
    'ERROR_NOT_ENOUGH_MEMORY' is undeclared in the function 'ff_gai_strerror' of file 'libavformat/os_support.c' 在os_support.h头文件中增加:winerror.h

    'ERROR_NOT_ENOUGH_MEMORY' is undeclared in the function 'ff_gai_strerror' of file 'libavformat/os_support.c'

    在os_support.h头文件中增加:winerror.h

    展开全文
  • windows编译ffmpeg

    2017-10-11 11:00:25
    这方法很烂,建议使用mingw完整的环境: ...系统环境:Windows 7 64位  需要安装的软件和工具:  Visual Studio 2015 With Update 3  MSYS2  YASM  一、VS2015  安装VS2015时,选择Git。 ...

    这方法很烂,建议使用mingw完整的环境:
    https://blog.csdn.net/tifentan/article/details/79663499

    系统环境:Windows 7 64位
      需要安装的软件和工具:
      Visual Studio 2015 With Update 3
      MSYS2
      YASM
      一、VS2015
      安装VS2015时,选择Git。
      
      二、msys2
      1、到这里下载:
      http://msys2.github.io. 选择第二个:msys2-x86_64-20160921.exe
      下载后,安装默认安装到C:\ msys64
      2.安装后,到msys2窗口执行,安装编译程序: pacman -S make gcc diffutils pkg-config
      3. 重命名C:\msys64\usr\bin\link.exe 为C: \msys64\usr\bin\link.bak, 避免和MSVC 的link.exe抵触。
      三、YASM
      1. YASM下载地址:http://yasm.tortall.net/Download.html,下载其64位版本Win64 .exe (64 位 Windows 通用)。
      2、下载后,将下载回来的yasm-1.3.0-win64.exe 改名为yasm.exe,并放置于 MSYS2 安装目录中。就是放置到c:\msys64\usr\bin\ 中。
      四,ffmpeg
    下载最新版本ffmpeg,本文是在2016.10.21下载,如果速度太慢,可以翻墙后再执行:
      进入windows命令行,在C:\FFMPEG目录下执行:
      git clone git://source.ffmpeg.org/ffmpeg.git
      四,编译ffmpeg
      1、使用VC2015编辑C:\msys64\msys2_shell.cmd,将其中的:
      rem set MSYS2_PATH_TYPE=inherit
      “rem”注释删除掉,成为:
      set MSYS2_PATH_TYPE=inherit
      2、到开始菜单,执行“Visual Studio 2015-> VS2015 x64 本机工具命令提示符”(编译32位选x86),在命令窗口下,CD \msys64,执行:msys2_shell.cmd -mingw64
      3、在启动的 MSYS2 终端中分别运行一下命令观察各便于工具组件是否被正确找到:
      这里写图片描述
      5、修改msys2窗口代码页为GBK,避免编译时显示乱码:
      
      4、编译ffmpeg
      在msys2窗口:
      cd /
      cd /ffmpeg
      cd /ffmgeg
      进入下载ffmpeg目录中
      

    ./configure  --toolchain=msvc  --arch=x86  --enable-yasm  --enable-asm --enable-shared  --disable-static

      
      make
      make install
      这样以后,编译生产的执行文件ffmpeg.exe和DLL文件在目录C:\msys64\usr\local\bin中,开发头文件在C:\msys64\usr\local\include中。

    展开全文
  • Windows编译FFmpeg

    2020-08-03 15:28:03
    我是使用MSVC来编译FFmpeg。 参考博文为: https://blog.csdn.net/danjuan123/article/details/65444054 https://blog.csdn.net/longji/article/details/54891236 如果你需要使用MSVC的link.exe,请将msys2中...

    我是使用MSVC来编译的FFmpeg。
    参考博文为:
    https://blog.csdn.net/danjuan123/article/details/65444054
    https://blog.csdn.net/longji/article/details/54891236

    如果你需要使用MSVC的link.exe,请将msys2中的/usr/bin/link.exe改成link.exe.bak。

    然后输入脚本
    Windows 10 x64

    ./configure \
            --toolchain=msvc \
            --disable-programs \
            --disable-d3d11va \
            --disable-dxva2 \
            --arch=x86_64 \
            --enable-shared \
            --enable-cross-compile \
            --target-os=win32 \
            --extra-cflags="-MD -DWINAPI_FAMILY=WINAPI_FAMILY_APP -D_WIN32_WINNT=0x0A00" \
            --extra-ldflags="-APPCONTAINER WindowsApp.lib" \
            --prefix=./Build/Windows10/x64
     make clean
     make
     make install
    

    Windows 10 x86

    ./configure \
            --toolchain=msvc \
            --disable-programs \
            --disable-d3d11va \
            --disable-dxva2 \
            --arch=x86 \
            --enable-shared \
            --enable-cross-compile \
            --target-os=win32 \
            --extra-cflags="-MD -DWINAPI_FAMILY=WINAPI_FAMILY_APP -D_WIN32_WINNT=0x0A00" \
            --extra-ldflags="-APPCONTAINER WindowsApp.lib" \
            --prefix=./Build/Windows10/x86
     make clean
     make
     make install
    

    如果你要编译出exe文件,请删除disable-programs选项,并加上enable-ffmpeg

    x64:
    然后在fftools/ffmpeg.c中找到

    void init_dynload(void)
    {
    #ifdef _WIN32
        /* Calling SetDllDirectory with the empty string (but not NULL) removes the
         * current working directory from the DLL search path as a security pre-caution. */
        SetDllDirectory("");
    #endif
    }
    

    改成

    void init_dynload(void)
    {
    #ifdef _WIN32
        /* Calling SetDllDirectory with the empty string (but not NULL) removes the
         * current working directory from the DLL search path as a security pre-caution. */
        SetDllDirectoryA("");
    #endif
    }
    

    x86
    SetDllDirectoryA("");和GetModuleHandleA(NULL)都要注释掉。

    展开全文
  • Windows编译ffmpeg步骤

    2019-04-02 12:08:30
    包含windows 编译ffmpeg的编译详细步骤及相关软件,支持ffplay播放 支持openssl
  • windows下基于MinGW编译ffmpeg之初级篇的随档软件。绝对是初学者入门ffmpeg的绝佳材料。
  • windows编译ffmpeg流程

    2019-04-09 15:36:30
    1、下载安装 NDKhttps://developer.android.google.cn/ndk/downloads/ MInGWhttps://sourceforge.net/projects/mingw/files/ yasm http://www.tortall.net/projects/yasm/releases FFMPEG源码https:...

    1、下载安装

    NDK      https://developer.android.google.cn/ndk/downloads/ 

    MInGW     https://sourceforge.net/projects/mingw/files/ 

    yasm   http://www.tortall.net/projects/yasm/releases

    FFMPEG源码    https://ffmpeg.org/download.html 

    2、安装NDK

    配置环境变量:

    配置ndk环境变量path,在其中加入D:\android\android-ndk;

    3、MinGW下载安装配置

    全部勾选,执行安装点击左上角的installation,然后点击apply change

    配置环境变量path,在其中加入两个路径:

    ;D:\MinGW\bin;

    D:\MinGW\msys\1.0\bin

    安装完成后执行msys.bat代替window的cmd窗口执行编译命令

    4、yasm下载安装

    1)下载: http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz

    2)解压:yasm-1.3.0.tar.gz

    3)切换路径: cd yasm-1.3.0

    4)执行配置: ./configure

    5)编译:make

    6)安装:make install
     

    5、FFMPEG源码下载,及修改configure文件,及创建build_android.sh脚本文件

    下载解压:

    修改configure文件:

    # 原来的配置内容:
    SLIBNAME_WITH_MAJOR='$(SLIBNAME).$(LIBMAJOR)'
     
    LIB_INSTALL_EXTRA_CMD='$$(RANLIB) "$(LIBDIR)/$(LIBNAME)"'
     
    SLIB_INSTALL_NAME='$(SLIBNAME_WITH_VERSION)'
     
    SLIB_INSTALL_LINKS='$(SLIBNAME_WITH_MAJOR)$(SLIBNAME)'
     
    #替换后的内容:
     
    SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(FULLNAME)-$(LIBMAJOR)$(SLIBSUF)'
     
    LIB_INSTALL_EXTRA_CMD='$$(RANLIB) "$(LIBDIR)/$(LIBNAME)"'
     
    SLIB_INSTALL_NAME='$(SLIBNAME_WITH_MAJOR)'
     
    SLIB_INSTALL_LINKS='$(SLIBNAME)'
    

    新建一个 build_android.sh 脚本文件 , 用于配置及编译使用 (名字不唯一)

    #!/bin/sh
    
    NDK_HOME=D:/Android/sdk/ndk-bundle
    PREFIX=android-build
    HOST_PLATFORM=linux-x86_64
    PLATFORM=android-21
    
    COMMON_OPTIONS="\
        --target-os=android \
        --disable-static \
        --enable-shared \
        --enable-small \
        --enable-cross-compile \
        --enable-neon \
        --disable-programs \
        --disable-ffmpeg \
        --disable-ffplay \
        --disable-ffprobe \
        --disable-doc \
        --disable-symver \
        --disable-asm \
        --enable-decoder=h264 \
        --enable-decoder=mpeg4 \
        --enable-decoder=mjpeg \
        --enable-decoder=png \
        --enable-decoder=vorbis \
        --enable-decoder=opus \
        --enable-decoder=flac 
        "
    
    build_all(){
        for version in armeabi armeabi-v7a arm64-v8a x86 x86_64; do
            echo "======== > Start build $version"
            case ${version} in
            armeabi )
                ARCH="arm"
                CPU="armv5te"
                CROSS_PREFIX="$NDK_HOME/toolchains/arm-linux-androideabi-4.9/prebuilt/$HOST_PLATFORM/bin/arm-linux-androideabi-"
                SYSROOT="$NDK_HOME/platforms/$PLATFORM/arch-arm/"
                EXTRA_CFLAGS="-march=armv5te"
                EXTRA_LDFLAGS="-Wl,-L${SYSROOT}/usr/lib"
            ;;
            armeabi-v7a )
                ARCH="arm"
                CPU="armv7-a"
                CROSS_PREFIX="$NDK_HOME/toolchains/arm-linux-androideabi-4.9/prebuilt/$HOST_PLATFORM/bin/arm-linux-androideabi-"
                SYSROOT="$NDK_HOME/platforms/$PLATFORM/arch-arm/"
                EXTRA_CFLAGS="-march=armv7-a -mfpu=neon -mfloat-abi=softfp -mvectorize-with-neon-quad"
                EXTRA_LDFLAGS="-Wl,--fix-cortex-a8 -L${SYSROOT}/usr/lib"
            ;;
            arm64-v8a )
                ARCH="aarch64"
                CPU="armv8-a"
                CROSS_PREFIX="$NDK_HOME/toolchains/aarch64-linux-android-4.9/prebuilt/$HOST_PLATFORM/bin/aarch64-linux-android-"
                SYSROOT="$NDK_HOME/platforms/$PLATFORM/arch-arm64/"
                EXTRA_CFLAGS="-march=armv8-a"
                EXTRA_LDFLAGS="-Wl,-L${SYSROOT}/usr/lib"
            ;;
            x86 )
                ARCH="x86"
                CPU="i686"
                CROSS_PREFIX="$NDK_HOME/toolchains/x86-4.9/prebuilt/$HOST_PLATFORM/bin/i686-linux-android-"
                SYSROOT="$NDK_HOME/platforms/$PLATFORM/arch-x86/"
                EXTRA_CFLAGS="-march=i686 -mtune=intel -mssse3 -mfpmath=sse -m32"
                EXTRA_LDFLAGS="-Wl,-L${SYSROOT}/usr/lib"
            ;;
            x86_64 )
                ARCH="x86_64"
                CPU="x86_64"
                CROSS_PREFIX="$NDK_HOME/toolchains/x86_64-4.9/prebuilt/$HOST_PLATFORM/bin/x86_64-linux-android-"
                SYSROOT="$NDK_HOME/platforms/$PLATFORM/arch-x86_64/"
                EXTRA_CFLAGS="-march=x86-64 -msse4.2 -mpopcnt -m64 -mtune=intel"
                EXTRA_LDFLAGS="-Wl,-L${SYSROOT}/usr/lib"
            ;;
            esac
    
            echo "-------- > Start clean workspace"
            make clean
    
            echo "-------- > Start config makefile"
            configuration="\
                --prefix=${PREFIX} \
                --libdir=${PREFIX}/libs/${version}
                --incdir=${PREFIX}/includes/${version} \
                --pkgconfigdir=${PREFIX}/pkgconfig/${version} \
                --arch=${ARCH} \
                --cpu=${CPU} \
                --cross-prefix=${CROSS_PREFIX} \
                --sysroot=${SYSROOT} \
                --extra-ldexeflags=-pie \
                ${COMMON_OPTIONS}
                "
    
            echo "-------- > Start config makefile with ${configuration}"
            ./configure ${configuration}
    
            echo "-------- > Start make ${version} with -j8"
            make j8
    
            echo "-------- > Start install ${version}"
            make install
            echo "++++++++ > make and install ${version} complete."
    
        done
    }
    
    echo "-------- Start --------"
    build_all
    echo "-------- End --------"

     

     打开msys.bat进入ffmpeg目录

    然后输入

    $chmod 777 build_android.sh

    ./build_android.sh

    编译完成,会在ffmpeg源码文件夹中生成一个android-build文件

    可能错误:libavformat/os_support.c:194:10: error: 'ERROR_NOT_ENOUGH_MEMORY' undeclared (first use in this function)
    解决方法:在FFmpeg\libavformat\os_support.h的开始加上#include "winerror.h"

    展开全文
  • windows 编译ffmpeg 播放 rtmp

    千次阅读 2014-09-22 11:42:37
    ffmpeg 编译 $ ./configure --enable-shared --disable-static --enable-memalign-hack --enable- libx264 --enable-gpl --extra-cflags=-I/usr/local/x264/include --extra-ldflags= -L/usr/local/x264/lib ...
  • windows 编译ffmpeg64位

    2020-11-03 23:00:12
    windows 编译ffmpeg64位1. 下载ffmepg安装包2. 下载Mingw643. 下载msys24. 更改配置5. 编译ffmpeg 测试环境: win10 + VS2019 最新版ffmpeg4.3未尝试编译 不过应该也可以 32位编译也可参考本方法 1. 下载ffmepg...
  • ./configure --enable-gpl --enable-doc --enable-avcodec --enable-avdevice --enable-avcodec --enable-avformat --enable-swresample --enable-swscale --enable-postproc --enable-avfilter --enable-avresample...
  • windows编译 ffmpeg 3.2.4(3)

    千次阅读 2017-04-11 08:54:57
    接上回,说是杀毒软件的问题,今天以开机,再次来编译,居然没有提示昨天的错误了。。。。 不过yasm.exe 放在system32下面还是找不到,需要放到C:\MinGW\msys\1.0\bin 这个下面 1、安装pkg-config.exe 1)、...
  • window 编译 FFmpeg 2.5.11, 支持 G711 和 H264 编解码 ,包含 ( dll ,include ,lib)
  • windows编译 ffmpeg 3.2.4(2)

    千次阅读 2017-04-10 11:56:15
    win10 64位 vc2012 三. 卸载杀毒软件 为什么将删除软件单独拿出来说,原因是被它坑了很长...当我重启电脑运行C:\MinGW\msys\1.0目录下的脚本文件msys.bat启动MinGW终端时,发生如下错误: ...怎么搞
  • windows编译 ffmpeg 3.2.4(1)

    千次阅读 2017-04-10 11:37:15
    ca :还没开始编译就出现这种问题,真不知道这样的错误要怎么解决, baidu google 都没找到类似的问题。。。。 检测gcc --version有时弹出来又是正常的, mb的,怎么弄啊!
  • windows编译ffmpeg2.2.4并外挂h265

    千次阅读 2014-07-07 16:36:23
    据说新出来了h265的视频,在迅雷看看上面看到的,网上查看了一下简介,貌似h265的视频比h264的视频压缩率要高,而且能做4K的视频,看来是最适合在移动端播放的视频编码了吧。
  • 之前windows系统上面都是直接使用ffmpeg官网编译好的动态库,已经包含了H264,能满足使用条件就没有去折腾,但是最近项目需要解决ffmpeg rtsp视频流 udp传输,存在丢包、花屏、严重马赛克等问题,需要修改ffmpeg源码...
  • 如题,按照网上的方法搭建了mingw+msys环境,编译ffmpeg mingw装在 c:/MinGW ffmpeg代码位置:d:/ffmpeg/ffmpeg-0.10.1 执行./configure --enable-shared --disable-static --enable-nonfree --enable-memalign-...
  • windows下ffmpeg的编译环境,windows编译ffmpeg。在ffmpeg源码目录下新建文件夹3rdparty,3rdparty里面创建include和lib两个文件夹,分别存放依赖编码器的头文件和库文件。 ffmpeg支持libx264 首先下载编译libx...
  • 最近有个朋友在编译ffmpeg的时候出现这个问题,他很郁闷。 我就说,为什么我弄的时候就没问题呢??直接./configure +加上后面的参数 安全度过。 然后,我就想了,估计他的gcc的系统变量没有设置吧。 然后看了...
  • 近期有个朋友在编译ffmpeg的时候出现这个问题,他非常郁闷。 我就说,为什么我弄的时候就没问题呢??直接./configure +加上后面的參数 安全度过。 然后,我就想了,预计他的gcc的系统变量没有设置吧。 然后看了...
  • 前言 ffmpeg是一个跨平台的音...在windows平台下编译ffmpeg有多种方式: 1、windows下装linux虚拟机编译用于Linux,Android平台使用的库 2、windows下通过Cygwin或minGW+MSYS编译用于windows,Android平台的库 这里采
  • 由于现有的FFmpeg版本不支持 G711 + H264 ,所以需要重新编译. 路径: ffmpeg-2.5.11\install-2.5 (不支持H264编解码)
  • 吾之所以费了这么大的事情,关键就在于,试图在WIN7虚拟机上编译,于是有各种莫名其妙的错误。 参考:https://www.jianshu.com/p/5f175dec9109。 下载FFmpegInterop https://github.com/microsoft/FFmpegInterop ...
  • windows平台编译ffmpeg

    万次阅读 2017-12-24 22:54:14
    1. 安装MinGW和msys. 使用mingw在线安装工具安装mingw和msys其到F盘,位置可以任意指定. ...gt; Apply开始安装。 修改F:\MinGW\msys\1.0\etc目录下的fstab.sample文件名为fstab,在文件中输入如下内容: ...
  • Windows编译FFmpeg

    千次阅读 2017-04-15 00:27:41
    MinGW:配置path:gcc测试:入口:下载yasm:直接拷贝到System32,当然你也可以放到MinGw/bin下,都没关系:用ffmpeg-3.1.3,之前用linux编译,mac编译,都是这个版本。通过./configure脚本 生成make文件:开行执行如下...
  • windows编译ffmpeg

    2013-02-22 11:51:57
    windows编译好的ffmpeg库,共享免得在去编译
  • 上一章我介绍了用Linux系统编译FFmpeg的过程,但实际情况是很多人没有Linux系统,只能在Windows系统上进行编译。本篇文章我将介绍如何用Windows系统编译FFmpeg for Android。 前期准备: Windows系统(我用的是win...
  • windows编译ffmpeg 今天由于工作需求需重新编译ffmpeg,百度,goole了一大堆,看眼花缭乱的,但几乎都是三种方案,大部分都是直接转发,一字不漏,错误的缺文件的还是照转,可是问题都大把的,于是乎,我整理如下...
  • 一、准备:

空空如也

1 2 3 4 5 ... 20
收藏数 1,889
精华内容 755
关键字:

windows编译ffmpeg