zoukankan      html  css  js  c++  java
  • 移植 FFMPEG-2.2.4 -(编译)

    源码下载:
    http://www.ffmpeg.org/download.html
    编译安装:

    http://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu

     sudo apt-get -y --force-yes install autoconf automake build-essential libass-dev libfreetype6-dev libgpac-dev   libsdl1.2-dev libtheora-dev libtool libva-dev libvdpau-dev libvorbis-dev libxcb1-dev libxcb-shm0-dev
      263  sudo apt-get -y --force-yes install autoconf automake build-essential libass-dev libfreetype6-dev libgpac-dev libsdl1.2-dev libtheora-dev libtool libva-dev libvdpau-dev libvorbis-dev libxcb1-dev libxcb-shm0-dev  libxcb-xfixes0-dev pkg-config texi2html zlib1g-dev

    Notes:

    • Server users can omit the ffplay and x11grab dependencies: libsdl1.2-dev libva-dev libvdpau-dev libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev.
    sudo add-apt-repository ppa:kirillshkrogalev/ffmpeg-next
    sudo apt-get update
    sudo apt-get install ffmpeg
    

    Install FFmpeg on Ubuntu 14.10 Using PPA

    问题:

    ffmpeg x11grab compilation 
    
        sudo apt-get install libxfixes-dev
        sudo apt-get install libxext-dev
    http://blog.csdn.net/qiuchangyong/article/details/21104423

    -ffast-math -maccumulate-outgoing-args -Wall -pipe -MT
    xmm_quantize_sub.lo -MD -MP -MF .deps/xmm_quantize_sub.Tpo -c
    xmm_quantize_sub.c -fPIC -DPIC -o .libs/xmm_quantize_sub.o
    xmm_quantize_sub.c: In function 'fht_SSE2':
    xmm_quantize_sub.c:172:20: warning: variable 'v_s2' set but not used
    [-Wunused-but-set-variable]
    __m128 v_s2;
    ^
    case $(uname -m) in
       i?86) sed -i -e '/xmmintrin.h/d' configure ;;
    esac
    http://www.linuxfromscratch.org/blfs/view/svn/multimedia/lame.html

    MinGW 是什么?         

    MinGW 提供了一套简单方便的Windows下的基于GCC 程序开发环境。MinGW 收集了一系列免费的Windows 使用的头文件和库文件;同时整合了GNU ( http://www.gnu.org/ )的工具集,特别是GNU 程序开发工具,如经典gcc, g++, make等。MinGW是完全免费的自由软件,它在Windows平台上模拟了Linux下GCC的开发环境,为C++的跨平台开发提供了良好基础支持, 为了在Windows下工作的程序员熟悉Linux下的C++工程组织提供了条件。

    MinGW provides gcc and headers, MSys provides shell utilities like make and bash. 
    

      

     windows编译安装ffmpeg流程

    http://trac.ffmpeg.org/wiki/CompilationGuide/MinGW

    在干活之前,先把下面五个软件下载下来。
    
    1)MinGW-MSYS Bundle   http://sourceforge.net/projects/mingwbundle/
    
    2) SDL                                 http://www.libsdl.org/download-1.2.php
    
    3)yasm                                http://yasm.tortall.net/Download.html
    
    4)FFmpeg                           http://www.ffmpeg.org/download.html
    
    5)pthreadgc2.dll                http://www.dll-files.com/dllindex/dll-files.shtml?pthreadgc2 
    

    windows编译ffmpeg2.2.4并外挂h265         

      

    以下是我这次在windowns上编译ffmpeg的步骤:
    1:先在http://sourceforge.net/projects/mingwbundle/下载mingw-msys-bundle-0.6,该版本的bundle能够顺利编译出ffmpeg库及相关的exe文件,但是当我下载qt-win-opensource-4.8.1-mingw.exe及qt-creator-win-opensource-2.5.2.exe并设置好环境变量后,在mingw命令行下编译整个StreamAnalysis出错,怀疑跟当我安装creator时提示的mingw gcc版本低的原因。之后下载mingw-msys-core-4.7.2-x86.zip,本以为这个库的版本应该能够达到要求,然而其连基本的ffmpeg库都没有编译过去。
    
    2:在上述方法无果的情况下,转到QT+VS2010编译,结果用mingw编译的ffmpeg win32库的头文件与vs中的不匹配。无语。。,之后为了不那么麻烦,采用下面的步骤
    
    3:之后到mingw官网下载windows下的安装文件,然后就是漫长的安装。下载完后,本以为可以了,结果其跟mingw-msys-core-4.7.2-x86.zip的情况一样,无法编译ffmpeg库。
    并且其vim环境没有色彩配置
    
    4:没有办法了,在网上浏览下,发现qt-windows-opensource-5.1.0-mingw48_opengl-x86-offline.exe自身就包含了mingw(但不包含msys),发现安装后qtcreator中的example都能够运行起来。之后就将mingw-msys-bundle-0.6对应的msys与5.1.0中的mingw匹配下,发现可以正常编译ffmpeg。
    
    5:因为我的solution原来在ubuntu下qt4.8.1基础上开发的,为了不想升级到qt5.1的麻烦。我又安装了先前下载的qt4.8.1的mingw库,重新设置好环境变量后,最后终于编译成功了。但是运行起来一跑就挂。gdb跟了下,是挂在qtgui库中了,怀疑是跟gcc的版本有关系(编译器内嵌函数)。之后再次确认下,连qtcreator2.5.2中的example也是这个错误。
    
    6:最后实在没有办法,只得考虑升级了。将solution升级后,可以正常运行
    

      

    参考:

     MinGW和MSYS的安装与管理

    QT 5.1.0(MinGW)的安装及使用

    MinGW的安装 (可在windows 下 使用Linux 环境进行gcc编程)

    linux和windows下ffmpeg的安装

    win7 X64 编译ffmpeg

    基于FFmpeg和Qt的播放器 QtAV库

    用mingw静态编译Qt4.8.2和Qt5.1.1

    Qt在Windows下的三种编程环境搭建

    windows上安装MinGW 4.4、Qt library 4.8.4和Qt Creator

    github上ffmpeg 3rd编译过程中的一些错误:

    1:  autoreconf not found
    
    sudo apt-get install autoconf2.13
    
    2: ./configure: line 3880: LT_INIT: command not found
    
    sudo apt-get install libtool
    

    3:ERROR: libass not found
    sudo apt-get install libass-dev
    4:ERROR: libtheora not found
    sudo apt-get install libtheora-dev

    5:ERROR: libvorbis not found
    sudo apt-get install libvorbis-dev

    6:ERROR: openssl not found
    sudo apt-get install libssl-dev
    7:ERROR: Xfixes not found
    sudo apt-get install libxfixes-dev


    install prefix            /home/yingc/git/thirdparty/av/ffmpeg/output/ffmpeg_build/
    source path               .
    C compiler                gcc
    C library                 glibc
    ARCH                      x86 (generic)
    big-endian                no
    runtime cpu detection     yes
    yasm                      yes
    MMX enabled               yes
    MMXEXT enabled            yes
    3DNow! enabled            yes
    3DNow! extended enabled   yes
    SSE enabled               yes
    SSSE3 enabled             yes
    AVX enabled               yes
    XOP enabled               yes
    FMA3 enabled              yes
    FMA4 enabled              yes
    i686 features enabled     yes
    CMOV is fast              yes
    EBX available             yes
    EBP available             no
    debug symbols             yes
    strip symbols             no
    optimize for size         no
    optimizations             no
    static                    yes
    shared                    no
    postprocessing support    yes
    new filter support        yes
    network support           yes
    threading support         pthreads
    safe bitstream reader     yes
    SDL support               no
    opencl enabled            no
    libzvbi enabled           no
    texi2html enabled         no
    perl enabled              yes
    pod2man enabled           yes
    makeinfo enabled          no

    SDL support               no(系统如果探测不到相关的sdl,则不会编译ffplay)

    sudo apt-get install libsdl1.2-dev

     StreamAnalysis中的编译错误
    1: /usr/bin/ld: cannot find -lz
    sudo apt-get install zlib1g-dev

    aa

  • 相关阅读:
    PHP大文件上传断点续传源码
    PHP大文件上传断点续传解决方案
    Flash大文件断点续传解决方案
    Flash大文件断点续传功能
    ASP.NET上传断点续传
    B/S文件上传下载解决方案
    web文件夹上传下载方案
    Codeforces 460E Roland and Rose(暴力)
    iOS_25_彩票骨架搭建+导航栏适配
    配置Redmine的邮件通知功能
  • 原文地址:https://www.cnblogs.com/jingzhishen/p/3818415.html
Copyright © 2011-2022 走看看