zoukankan      html  css  js  c++  java
  • Ubantu编译安装FFmpeg

     这几天安装FFmpeg搞得很头疼,直接用apt-get安装工具安装会比较方便,但是想要自定义编解码器就比较麻烦了。所以编译安装FFmpeg倒成了一个比较靠谱的做法。

     FFmpeg版本:

     平台: Ubantu 12.0 64位

    1. 首先下载最新版本的FFmpeg源码

    sudo git clone https://github.com/FFmpeg/FFmpeg.git

    2. 然后按照需求配置

    sudo ./configure --prefix=/usr/local/ffmpeg --enable-shared --enable-nonfree --enable-gpl --enable-pthreads --disable-yasm --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libfaac --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-libvpx --enable-x11grab --extra-cflags=-I/usr/local/ffmpeg/include/ --extra-ldflags=-L/usr/local/ffmpeg/lib --enable-version3 --extra-version=syslin 

    --prefix=PREFIX 设置的是ffmpeg安装目录

    --enable-shared 设置允许编译共享库

    --enable-nonfree --enable-gpl 设置对License的限制,分别为允许使用付费代码和gpl代码。

    --disable-yasm 禁用汇编程序

    --enable-lib* 设置可能会用到的编解码器

    --enable-x11grab 允许录制屏幕,需要安装libxfixes库。

    --extra-ldflags 设置动态链接库目录(后面还会提到)

    如果设置系统没安装的编解码器,上面命令就会报错。例如,系统中没有 libfaac,而上述命令中包含enable-libfaac,上述命令就会执行错误。

    ERROR: libfaac not found

    只要安装libfaac就可以解决了。执行

    sudo apt-get install libfaac-dev

    上述配置前,需要执行一个安装编解码器的操作。

    sudo apt-get install libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libvpx-dev libx264-dev libxvidcore-dev libxfixes-dev

    3. 编译安装

    sudo make

    sudo make install

    安装完成后,如果我们直接运行ffmpeg程序,会报错:

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

    这是因为还有一些动态链接库没有注册到系统中。第4步执行注册动态链接库。

    4. 注册动态链接库

     我们设置了动态链接库的目录,需要注册到系统中。

     echo "/usr/local/ffmpeg/lib" > /etc/ld.so.conf.d/ffmpeg.conf

     ldconfig -v

    4. 设置快捷方式

     进入ffmpeg的安装目录,运行ffmpeg,可以发现是正常的。然后通过设置连接设置快捷方式。

     cd /usr/local/bin

     ln -sf /usr/local/ffmpeg/ffmpeg

     ln -sf /usr/local/ffmpeg/ffserver

     ln -sf /usr/local/ffmpeg/ffprobe

    这样ffmpeg就安装完成了。

    5. 常见错误

    Unknown input or output format: x11grab -- 安装时未设置允许录制屏幕

    error while loading shared libraries: libavdevice.so.55 -- 未注册动态链接库

    ERROR: libfaac not found -- 编解码器不存在

  • 相关阅读:
    库存管理系统
    2018/12/9数据库的增删改查
    小学生出题系统(文件输入输出)
    第五次实验动手动脑
    (异常处理)JAVA项目中的常用的异常处理情况
    学习进度——第十三周
    程序员修炼之道:从小工到专家读后感02
    第一阶段意见评论
    学习进度——第十二周
    share团队冲刺10
  • 原文地址:https://www.cnblogs.com/hongyanee/p/3309882.html
Copyright © 2011-2022 走看看