Ubuntu16.04TLS安装ffmpeg

FFmpeg的名称来自MPEG视频编码标准,前面的“FF”代表“Fast Forward”,FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。可以轻易地实现多种视频格式之间的相互转换。FFmpeg的用户有Google,Facebook,Youtube,优酷,爱奇艺,土豆等。

  • 组成

    • libavformat:用于各种音视频封装格式的生成和解析,包括获取解码所需信息以生成解码上下文结构和读取音视频帧等功能,包含demuxers和muxer库;
    • libavcodec:用于各种类型声音/图像编解码;
    • libavutil:包含一些公共的工具函数;
    • libswscale:用于视频场景比例缩放、色彩映射转换;
    • libpostproc:用于后期效果处理;
    • ffmpeg:是一个命令行工具,用来对视频文件转换格式,也支持对电视卡实时编码;
    • ffsever:是一个HTTP多媒体实时广播流服务器,支持时光平移;
    • ffplay:是一个简单的播放器,使用ffmpeg 库解析和解码,通过SDL显示;
  • 需要准备的东西

    • ffmpeg-2.4.1.tar.bz2 下载地址https://www.ffmpeg.org/releases/
    • 下载ffmpeg所需要的所有依赖库文件libx264、libfaac、libmp3lame、libtheora、libvorbis、libxvid、libxext、libxfixes

安装libx264

因为libx264依赖yasm,所以我们先安装yasm

sudo apt-get install yasm

  • 使用aptitude安装libx264

    sudo aptitude install libx264-dev

    有的同学没有aptitude,下载一个就行了

    sudo apt-get install aptitude

  • tar.gz安装包安装libx264,我们需要去下载last_x264.tar.bz2

    tar -zxvf last_x264.tar.bz2

    进入目录进行编译并安装

    ./configure –enable-shared –enable-pic
    make
    make install

安装ffmpeg

我们一个一个来安装ffmpeg的依赖,请确保每个依赖都安装成功!(可以使用echo $?来判断是否成功)

  • libfaac

    sudo aptitude install libfaac-dev

  • libmp3lame-dev

    sudo aptitude install libmp3lame-dev

  • libtheora-dev

    sudo aptitude install libtheora-dev

  • libvorbis-dev

    sudo aptitude install libvorbis-dev

  • libxvidcore-dev

    sudo aptitude install libxvidcore-dev

  • libxext-dev

    sudo aptitude install libxext-dev

  • libxfixes-dev

    sudo aptitude install libxfixes-dev

  • libasound2-dev (lz后续想使用alsa录音,遇到了麻烦FFMPEG: Unknown input format:’alsa’,点击可以跳转到lz参考的解决办法)

    sudo apt-get install libasound2-dev

  • 安装ffmpeg

    tar -xjvf ffmpeg-2.4.1.tar.bz2
    cd ffmpeg-2.4.1

    编译并安装,–prefix指定安装后的目录(方便卸载),后面我添加上了alsa的支持**–enable-indev=alsa,–enable-outdev=alsa**


    $ ./configure –prefix=/usr/local/ffmpeg –enable-gpl –enable-version3 –enable-nonfree –enable-postproc –enable-pthreads –enable-libfaac –enable-libmp3lame –enable-libtheora –enable-libx264 –enable-libxvid –enable-x11grab –enable-libvorbis –enable-indev=alsa –enable-outdev=alsa

    $ sudo make

    $ sudo make install

假如我们不添加alsa支持,后续我们可能无法正常录音,录屏还是可以的.使用ffmpeg -devices可以查看ffmpeg支持的设备
devices

配置ffmpeg环境变量

这里有很多配置环境变量的方法,可以按照自己的方式配,也可以按照我的配

sudo vim /etc/profile

在文件里面添加一行代码

export FFMPEG_HOME=/usr/local/ffmpeg
export PATH=$PATH:$FFMPEG_HOME/bin

保存退出vim使环境变量生效

source /etc/profile

查看环境变量是否可行

echo $PATH

查看ffmpeg是否可行

ffmpeg -version

ffmpeg version

转换命令:

ffmpeg -i “20090401010.mp4” -y -ab 32 -ar 22050 -qscale 10 -s 640*480 -r 15 /opt/a.flv

-i 是要转换文件名
-y 是覆盖输出文件
-ab 是音频数据流,大家在百度听歌的时候应该都可以看到 128 64
-ar 是声音的频率 22050 基本都是这个。
-qscale 是视频输出质量,后边的值越小质量越高,但是输出文件就越“肥”
-s 是输出文件的尺寸大小!
-r 帧率是视频文件中每一秒的帧数,肉眼想看到连续移动图像至少需要15帧。
-b 码率(比特率):是一个确定整体视频/音频质量的参数,秒为单位处理的字节数,码率和视频质量成正比,在视频文件中中比特率用bps来表达。

资料

FFmpeg官网: http://www.ffmpeg.org

FFmpeg doc : http://www.ffmpeg.org/documentation.html

FFmpeg wiki : https://trac.ffmpeg.org/wiki

FFmpeg基础: http://wenku.baidu.com/view/296eefcaf90f76c661371af1.html

FFmpeg基本用法 : http://blog.csdn.net/doublefi123/article/details/24325159

FFmpeg参数详解 : http://www.cuplayer.com/player/PlayerCode/FFmpeg/2014/0706/1399.html


Ubuntu16.04TLS安装ffmpeg
http://example.com/2017/07/23/2017-7-23-在ubuntu1.6.04安装ffmpeg/
Author
Hoey
Posted on
July 23, 2017
Licensed under