1、下载
git clone https://github.com/FFmpeg/FFmpeg.git
进入FFmpeg目录
2、check
git checkout 74c6a6d3735f79671b177a0e0c6f2db696c2a6d2
3、清理
make clean
4、编辑profile文件:
vi /etc/profile
在文件末尾加上两句话:
export FFMPEG_HOME=/usr/local/ffmpeg
export PATH=$FFMPEG_HOME/bin:$PATH
# 强制保存只读文件( w !sudo tee % )
./configure --enable-shared --disable-yasm --prefix=/usr/local/ffmpeg
5、安装
sudo make
sudo make install
6、查看
ffmpeg -version
7、如果“ ffmpeg: error while loading shared libraries: libavdevice.so.58: cannot open shared object file: No”,则是ubuntu通过源码安装软件未进行环境变量配置,找不到启动路径
sudo vi /etc/ld.so.conf
在文件中添加路径:
/usr/local/ffmpeg/lib
然后更新
sudo ldconfig
8、支持库的安装(按需安装,不一定要安装,一般安装ffmpeg的时候会带上这些库。)
(安装了这些到时候只能去根目录下删除)
这里参考了博客:ubuntu16.04安装ffmpeg最新版
libavutil是一个包含简化编程功能的库,包括随机数生成器、数据结构、数学例程、核心多媒体实用程序等。
libavcodec是一个包含音频/视频 解码器和编码器的库。
libavformat是一个库,包含用于多媒体容器格式的合成和拆分的库。
libavdevice是一个包含输入和输出设备的库,用于从许多常见的多媒体输入/输出软件框架(包括Video4Linux, Video4Linux2, VfW, and ALSA)中获取和呈现多媒体输入/输出软件框架。
libavfilter是一个包含媒体过滤器的库。
libswscale是一个执行高度优化的图像缩放和颜色空间/像素格式转换操作的库。
libswressample是一个执行高度优化的音频重采样、重矩阵和示例格式转换操作的库
sudo apt-get install -y autoconf automake build-essential git libass-dev libfreetype6-dev libsdl2-dev libtheora-dev libtool libva-dev libvdpau-dev libvorbis-dev libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev pkg-config texinfo wget zlib1g-dev
apt install libavformat-dev
apt install libavcodec-dev
apt install libswresample-dev
apt install libswscale-dev
apt install libavutil-dev
apt install libsdl1.2-dev
9问题:jni/ffmpeg/libavutil/common.h:44:32: fatal error: libavutil/avconfig.h: No such file or directory
有可能是上面的那些支持库没安装好!!!
需要apt install(上面)安装
10支持x264、x265的安装
参考博客:Linux下编译安装ffmpeg(修改-简单复杂最终版本-)
https://blog.csdn.net/zhangwu1241/article/details/52354604
(0)在github上搜索264265ffmpeg文件包
(1)安装x264
(2)安装x265
问题1:apt-get install libnuma-dev
问题2:NASM在Ubuntu上的安装与简单使用
https://blog.csdn.net/longintchar/article/details/49386929
(3)ERROR: x265 not found using pkg-config
https://blog.csdn.net/whereisdog/article/details/105572840