FFmpeg学习(一)FFmpeg安装与测试
基于Ubuntu16.04
一:FFmpeg的下载
(一)git命令下载源码(太慢)
git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg
(二)官网下载源码:http://www.ffmpeg.org/download.html
(三)文件解压
tar -jxvf ffmpeg-snapshot-git.tar.bz2
(四)目录分析
1)libavcodec:音视频编解码库;(不做具体编解码操作,只是调用H264、H265...) 2)libavdevice:音视频输出输入设备库;(sdl显示设备,alsa音频输出设备,opengl图形加速设备,v4l2视频设备(比如摄像头)...的采集) 3)Libavfilter:音视频滤镜库,滤镜主要是用来实现图像的各种特殊效果; 4)libavformat:音视频格式库,用于各种音视频封装格式的解析和封装; 5)libavutil:音视频工具库,包含一些公共的工具函数; 6)libpostproc:音视频后期效果处理库;
7)libavresample:音频重采样; 8)libswresample:功能和libavresample十分类似,是FFmpeg相对早期的实现方法; 9)libswscale:视频场景比例缩放、色彩映射转换库;
二:FFmpeg配置与安装
(一)安装依赖库yasm、libx264、libx265(后面会用到)
1.yasm等库安装
sudo apt-get update sudo apt-get -y install autoconf automake build-essential libass-dev libfreetype6-dev libtheora-dev libtool libvorbis-dev pkg-config texinfo zlib1g-dev
sudo apt-get install libfdk-aac-dev
sudo apt-get install libmp3lame-dev
sudo apt-get install yasm
2.libx264安装 下载地址:http://www.videolan.org/developers/x264.html
(1)安装依赖
sudo apt-get install cmake sudo apt install cmake-curses-gui
(2)进入解压后的源代码目录
./configure --enable-shared --enable-static --disable-asm
sudo make && sudo make install
(3)查看文件
3.libx265安装 下载地址:http://www.videolan.org/developers/x265.html
(1)安装依赖,使得支持hg命令下载libx265
sudo apt-get install mercurial
(2)进入./x265_2.9/build/linux目录
./make-Makefiles.bash
sudo make && sudo make install
(3)查看文件
(二)配置命令及安装(尽可能多配置,比如libfdk-aac后面会用于音频编解码)
./configure --enable-shared --prefix=/usr/local/ffmpeg --enable-gpl --enable-libx264 --enable-libx265 --enable-debug --disable-optimizations --enable-pthreads --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libtheora --enable-libvorbis --enable-libmp3lame --enable-nonfree --enable-gpl
sudo make && sudo make install
(三)配置环境变量
ubuntu通过源码安装软件未进行环境变量配置,找不到启动路径。
如果直接使用ffmpeg -version会报错:ffmpeg: error while loading shared libraries: libavdevice.so.58: cannot open shared object file: No such file or directory
1.打开动态库配置文件
sudo gedit /etc/ld.so.conf
2.添加路径信息
/usr/local/ffmpeg/lib/
3.更新配置文件
sudo ldconfig
(四)测试命令
/usr/local/ffmpeg/bin/ffmpeg -version
(五)配置环境变量(使得直接使用ffmpeg命令)
1.临时设置:
export PATH=/usr/local/ffmpeg/bin/:$PATH
2.当前用户的全局设置:
vi ~/.bashrc
添加bin目录到环境变量文件中:
export PATH=$PATH:/usr/local/ffmpeg/bin
使之生效:
source .bashrc
直接测试ffmpeg:
3.所有用户的全局设置
修改/etc/profile即可,使用source profile生效
作者:山上有风景
欢迎任何形式的转载,但请务必注明出处。
限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端