前端之家收集整理的这篇文章主要介绍了
Ubuntu14.04安装编译ffmpeg,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
因为要用到improved dense trajectory特征,用源码需要编译ffmpeg和OpenCV,网址给出的源码需要的OpenCV-2.4.2 和ffmpeg-0.11.1都比较老,我用的是比较新的opencv2.4.12和ffmpeg-snapshot.tar.bz2 (2016-05-22)。
本文主要基于此官方指导编译
1. 安装依赖
sudo apt
-get update
sudo apt
-get -y install autoconf automake build
-essential libass
-dev libfreetype6
-dev libsdl1
.2-dev libtheora
-dev libtool libva
-dev libvdpau
-dev libvorbis
-dev libxcb1
-dev libxcb
-shm0-dev libxcb
-xfixes0-dev pkg
-config texinfo zlib1g
-dev
mkdir ~/ffmpeg_sources
2. Compilation & Installation
Yasm
1
sudo apt-get install yasm
libx264
1
sudo apt
-get install libx264
-dev
libx265
1
2
3
4
5
6
7
8
sudo apt-get install cmake mercurial
cd ~/ffmpeg_sources
hg clone https://bitbucket.org/multicoreware/x265
cd ~/ffmpeg_sources/x265/build/linux
PATH=
"$HOME/bin:$PATH" cmake -G
"Unix Makefiles" -DCMAKE_INSTALL_PREFIX=
$HOME/ffmpeg_build" -DENABLE_SHARED:bool=off ../../
source
make
make install
make distclean
libfdk-aac
1
2
3
4
5
6
7
8
9
cd ~/ffmpeg_sources
wget
-O fdk
-aac.tar
.gz https:
tar xzvf fdk
-aac.gz
cd mstorsjo
-fdk-aac*
autoreconf
-fiv
./configure
--prefix
="$HOME/ffmpeg_build" --disable
-shared
make
make install
make distclean
libmp3lame
1
sudo apt
-get install libmp3lame
-dev
libopus
1
sudo apt
-get install libopus
-dev
libvpx
1
2
3
4
5
6
7
8
cd ~/ffmpeg_sources
wget http://storage
.googleapis.com/downloads
.webmproject.org/releases/webm/libvpx-
1.5.0.tar.bz2
tar xjvf libvpx-
.bz2
cd libvpx-
.0
PATH=
"$HOME/bin:$PATH" ./configure --prefix=
"$HOME/ffmpeg_build" --disable-examples --disable-unit-tests
PATH=
"$HOME/bin:$PATH" make
make install
make clean
avdevice
1
sudo apt
-get install libavdevice
-dev
ffmpeg
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
cd ~/ffmpeg_sources
wget http://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2
tar xjvf ffmpeg-snapshot.tar.bz2
cd ffmpeg
PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure
-
-prefix="$HOME/ffmpeg_build" -
-pkg-config-flags="--static" -
-extra-cflags="-I$HOME/ffmpeg_build/include" -
-extra-ldflags="-L$HOME/ffmpeg_build/lib" -
-bindir="$HOME/bin" -
-enable-gpl -
-enable-libass -
-enable-libfdk-aac -
-enable-libfreetype -
-enable-libmp3lame -
-enable-libopus -
-enable-libtheora -
-enable-libvorbis -
-enable-libvpx -
-enable-libx264 -
-enable-libx265 -
-enable-nonfree PATH="$HOME/bin:$PATH" make
make install
make distclean
hash -r
到这里ffmpeg就编译安装结束了,编译过的ffmpeg在~/bin
目录下
Usage
两种方法使用ffmpeg
- 进入
~/bin
文件夹,然后调用binary文件:cd ~/bin && ./ffmpeg -i ~/input.mp4 ~/videos/output.mkv
- 使用绝对路径:
/home/yourusername/bin/ffmpeg -i ../input.mp4 ../videos/output.mkv
如果想要ffmpeg在所有地方都能直接调用,需要先注销,然后登陆。
或者执行source ~/.profile
Documentation
如果想要用man ffmpeg
命令看文档,执行下面命令
echo "MANPATH_MAP $HOME/bin $HOME/ffmpeg_build/share/man" >> ~/.manpath
注销,然后登陆即可。
更新FFmpeg
1
rm -rf ~
/ffmpeg_build ~/ffmpeg_sources ~
/bin/{ffmpeg,ffprobe,ffplay,ffserver,vsyasm,x264,x265,yasm,ytasm}
然后从头开始再来一次