zoukankan      html  css  js  c++  java
  • Ubuntu10.04编译FFmpeg

    刚开始安装折腾了好久,很多软件包都找不到,可能是跟软件源有关,所以先说一下我的软件源:

    软件源是用的中国默认的官方源
    http://cn.archive.ubuntu.com/ubuntu/

    一、安装编译所需的工具和库:
    (1)先可以执行命令:
    sudo apt-get purge ffmpeg x264 libx264-dev

    清除原来的安装包

    (2)然后执行命令:

    sudo apt-get install build-essential subversion git-core checkinstall yasm texi2html libfaac-dev libfaad-dev libMP3lame-dev libsdl1.2-dev libtheora-dev libx11-dev libxvidcore-dev zlib1g-dev
    

    注意:ubuntu10.04以前的版本请将libxvidcore-dev替换为libxvidcore4-dev,否则会找不到包。

    二、编译和安装x264库(可选)
    git clone git://git.videolan.org/x264.git
    cd x264
    ./configure
    make
    sudo make install
    有时候编译不过去,则可以使用新力德软件安装程序来进行安装,使用方便。


    三、编译和装ffmpeg:
    svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg

    ./configure --enable-gpl --enable-nonfree --enable-pthreads --enable-libfaac  --enable-libmp3lame --enable-libtheora --enable-libx264 --enable-libxvid --enable-x11grab --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopencore-amrnb --enable-version3
    

    注意:配置中没有这一项--enable-libfaad暂时移除,还需要安装两个包libopencore-amrnb-dev libopencore-amrwb-dev

    make

    make install

    完成了上面几步,就可以使用FFmpeg的各项功能了。

    上面很多内容也是来源于网络资源,自己根据实际情况做了一些小的修改,做个记录。

    10/15更新:

    按上面的配置编译完成之后,播放视频音频是没有什么问题了,但是不能用来编译自己写的程序,总会报错。后来发现要加上--enable-shared这个选项,这样才可以编译自己的例子。还有,要把--enable-libx264这个选项也先去掉,可能也是在编译的时候没有配置shared选项,暂时先不管了,有空再看。下面是一个更新之后的配置选项:

    ./configure --enable-shared --enable-gpl --enable-nonfree --enable-pthreads --enable-libfaac  --enable-libmp3lame --enable-libtheora --enable-libxvid --enable-x11grab --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopencore-amrnb --enable-version3
    

    在configure,make, make install之后,执行ffplay时会报下面的错:

    ffplay: error while loading shared libraries: libavdevice.so.52: cannot open shared object file: No such file or directory

    这个是因为默认的*.so库是安装到了/usr/local/lib这个目录下面,这个目录并不是系统默认的路径,所以会说找不到文件或目录。解决方法有两种:

    1. 把/usr/local/lib目录下的库拷贝到/usr/lib下面。

    2. 修改/etc/ld.so.conf文件,在下面加上一行include /usr/local/lib,然后执行一下sudo ldconfig。

    编译ffmpeg/libavcodec/api-example.c命令:

    gcc -o api-example api-example.c -lavcodec -lavformat -lavutil
    
  • 相关阅读:
    touchesBegan: withEvent: <--- with UIScrollView / UIImageView
    #ifdef,#else,#endif,#if 拾忆
    内联函数 inline 漫谈
    WebKit框架 浅析
    在iOS中获取UIView的所有层级结构 相关
    initWithFrame、initWithCoder、awakeFromNib的区别和调用次序 & UIViewController生命周期 查缺补漏
    iOS 常用代码块
    NSObject Class 浅析
    Alamofire 框架浅析
    ReactiveX--响应式编程の相关概念 浅析
  • 原文地址:https://www.cnblogs.com/cnhome/p/1849165.html
Copyright © 2011-2022 走看看