在ubuntu20.04下编译安装ffmpeg

本文详细介绍了如何在Ubuntu 20.04系统中编译并安装FFmpeg,包括下载源码、配置环境、解决libx264 GPL报错、增加x264支持,以及编译和安装过程。此外,还讲解了如何结合nginx实现RTMP推流和播放功能。

参考

在Ubuntu下编译FFmpeg

简介

编译x264

下载源码

git clone http://git.videolan.org/git/x264.git

配置环境

./configure --prefix=/usr/local/ffmpeg/x264/release --enable-shared --enable-static --enable-yasm

编译

make

安装

make install

下载源码

官网地址:http://ffmpeg.org/download.html
历史版本:http://ffmpeg.org/olddownload.html

注意对应的opencv版本,一般下载3的版本ffmpeg-3.3.9

可以下载最新版本
在这里插入图片描述

wget https://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2

解压

$ cd /usr/local/ffmpeg
$ tar -xf ffmpeg-snapshot.tar.bz2

配置

# 查看
ls
ffmpeg ffmpeg-snapshot.tar.bz2
cd ffmpeg

执行如下配置

简化配置

./configure --prefix=/usr/local/ffmpeg/ffmpeg-3.3.9/release --enable-debug=3 --enable-shared --disable-static --enable-sdl2 --enable-libx264 --enable-gpl --extra-cflags=-I/usr/local/ffmpeg/x264/release/include --extra-ldflags=-L/usr/local/ffmpeg/x264/release/lib

./configure --prefix=/usr/local/ffmpeg/ffmpeg-4.0.6/release --enable-debug=3 --enable-shared --disable-static --enable-sdl2 --enable-libx264 --enable-gpl --extra-cflags=-I/usr/local/ffmpeg/x264/release/include --extra-ldflags=-L/usr/local/ffmpeg/x264/release/lib

报错 libx264 is gpl and --enable-gpl is not specified.

增加 --enable-gpl

$./configure --disable-debug --enable-static --enable-libx264 --enable-gpl

增加x264

./configure --prefix=/usr/local/ffmpeg/release --enable-debug=3 --enable-shared --disable-static --enable-sdl2

复杂配置

$ ./configure --prefix=/usr/local/ffmpeg/release --enable-gpl --enable-version3 --enable-shared --disable-w32threads
              --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2
              --enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist
              --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca
              --enable-sdl2 --enable-libaribb24 --enable-libdav1d --enable-libdavs2 --enable-libuavs3d --enable-libzvbi
              --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2
              --enable-libxvid --enable-libaom --enable-libjxl --enable-libopenjpeg --enable-libvpx --enable-mediafoundation
              --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-liblensfun --enable-libvidstab
              --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec
              --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-libshaderc --enable-vulkan
              --enable-libplacebo --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt
              --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame
              --enable-libvo-amrwbenc --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus
              --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite
              --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint

  • prefix是指定安装路径
  • shard是指定生成dyn库
  • 如果要对源码进行操作还可以-enable-debug=3

编译

$ make -j4

安装

$ make install

查看编译完文件

$ ls
$ bin  include  lib  share

配合nginx实现rtmp推流和播放

推流

ffmpeg -re -i test.mp4 -c copy -f flv rtmp://192.168.0.44:1935/live/home

播放

ffplay rtmp://192.168.0.44:1935/live/home
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值