Ubuntu18.04 LTS 安装FFmpeg

                           
2020年04月11日

FFmpeg-著名音视频开源软件简介

FFmpeg 是视频处理最常用的开源软件。它提供了对音视频的采集、编码、解码、转码、音视频分离、合并、流化、过滤器等丰富的功能,包含了非常先进的音频/视频编解码库 libavcodec,具有非常高的可移植性和编解码质量。

一、直接编译(推荐)

参考内容

Ubuntu18.04/16.04安装ffmpeg - CSDN

Ubuntu16.04下安装FFmpeg(超简单版) - CSDN

1、添加源并更新源

有需要的话可以使用,我没有使用这两行代码。

sudo add-apt-repository ppa:djcj/hybrid
sudo apt-get update

2、安装 ffmpeg

sudo apt-get install ffmpeg

二、手动编译

参考内容

https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu-ffmpeg 官方

Ubuntu18.04 LTS 安装 FFmpeg-代码先锋网

Ubuntu16.04 LTS 安装 FFmpeg-CSDN

1、升级操作

$ sudo apt-get upgrade
$ sudo apt-get update

2、修改镜像源

有需要的话可以使用,我没有修改镜像源。

$ sudo vi /etc/apt/source.list
deb http://cn.archive.ubuntu.com/ubuntu/ bionic main restricted universe multiverse
deb http://cn.archive.ubuntu.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://cn.archive.ubuntu.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://cn.archive.ubuntu.com/ubuntu/ bionic-backports main restricted universe multiverse
##测试版源
deb http://cn.archive.ubuntu.com/ubuntu/ bionic-proposed main restricted universe multiverse
##源码
deb-src http://cn.archive.ubuntu.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://cn.archive.ubuntu.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://cn.archive.ubuntu.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://cn.archive.ubuntu.com/ubuntu/ bionic-backports main restricted universe multiverse
##测试源码
deb-src http://cn.archive.ubuntu.com/ubuntu/ bionic-proposed main restricted universe multiverse
# Canonical 合作伙伴和附加
deb http://archive.canonical.com/ubuntu/ bionic partner
#deb http://extras.ubuntu.com/ubuntu/ bionic main

3、下载 SDL 2 与 ffmpeg

$ wget http://www.libsdl.org/release/SDL2-2.0.8.tar.gz
$ wget https://ffmpeg.org/releases/ffmpeg-4.0.2.tar.bz2

下载的比较慢,下面的网址是本地下载,可以上传服务器编译。

SDL 2 本地下载(直接上传):SDL2-2.0.8.tar

ffmpeg 本地下载(解压后上传):ffmpeg-4.0.2.tar.bz2_.zip

4、安装 yasm

$ sudo apt-get install yasm

如果遇到缺少一些组件,需要使用 apt install 来安装

5、安装 sdl1.2

$ sudo apt-get install libsdl1.2-dev

6、安装 sdl 2.0


$ tar -zxvf SDL2-2.0.8.tar.gz
$ cd SDL2-2.0.8
$ mkdir build
$ cd build
$ ../configure
$ make
$ sudo make install

7、安装 ffmpeg

$ tar jxvf ffmpeg-4.0.2.tar.bz2
$ cd ffmpeg-4.0.2
$ mkdir build
$ cd ./build
$ ../configure --enable-libass --enable-gpl --enable-libx264
$ make
$ sudo make install

【注意】必须使用上面这个命令( ../configure --enable-libass )

要不然会报错,报错内容如下

No such filter: 'subtitles' 
Error reinitializing filters! 
Failed to inject frame into filter network: Invalid argument

如果遇到该报错,请按照上面的代码重新安装 ffmpeg。

8、查看版本

$ ffmpeg -version
$ ffplay -version

三、基本操作

参考内容

ffmpeg 同时添加水印和字幕,详细教程-萌JJ博客

ffmpeg 视频字幕乱码-CSDN

直播编码设置、比特率和分辨率 -天猫直播平台

1、添加字幕

sudo ffmpeg -i A.mp4 -vf subtitles=A.srt B.mp4

以下为 ffmpeg 正常工作后,命令行输出内容

[Parsed_subtitles_0 @ 0x55564d932000] fontselect: (Arial, 400, 0) -> 
/usr/share/fonts/truetype/dejavu/simsun.ttc, 0, SimSun
frame=  138 fps=137 q=31.0 size=     256kB time=00:00:04.57 bitrate= 458.8k
frame=  186 fps=123 q=31.0 size=     512kB time=00:00:06.17 bitrate= 679.5k
frame=  226 fps=112 q=24.8 size=     768kB time=00:00:07.50 bitrate= 838.1k
frame=  267 fps=106 q=31.0 size=    1280kB time=00:00:08.87 bitrate=1181.5k
frame=  300 fps= 99 q=31.0 size=    1536kB time=00:00:09.97 bitrate=1261.3k
frame=  337 fps= 95 q=31.0 size=    2304kB time=00:00:11.21 bitrate=1683.6k
frame=  374 fps= 92 q=31.0 size=    2560kB time=00:00:12.44 bitrate=1685.1k
frame=  412 fps= 90 q=31.0 size=    3072kB time=00:00:13.71 bitrate=1835.1k
frame=  449 fps= 89 q=31.0 size=    3584kB time=00:00:14.94 bitrate=1964.1k

【注意】如果字幕乱码,请按下面步骤操作

打开 Windows 系统中的 C:\Windows\Fonts 文件夹,将 simsun.ttc 文件上传到 云服务器的 /usr/share/fonts/truetype/dejavu 目录,更改文件权限为 644 ,所有者为 root。

本地下载:simsun.ttc (请解压后上传服务器)

执行以下命令

fc-cache -fv

如果提示以下错误,则需要根据提示安装对应依赖

Command 'fc-cache' not found, but can be installed with:

sudo apt install fontconfig

然后再次添加字幕,会发现不再乱码。

如果依旧乱码,请重启。

【注意】如果添加字幕后发现视频变模糊,可以使用下面的命令,-b 后面数字的单位是kbps 。

sudo ffmpeg -i A.mp4 -vf subtitles=A.srt -b 2048000 B.mp4

720P 视频比特率范围:1500Kbps
480P 视频比特率范围:800Kbps
360P 视频比特率范围:400Kbps

冷场莹