ffmpeg工具简介
ffmpeg是一个专门用来做音视频处理的开源的项目,官网是:http://ffmpeg.org/ 官网介绍ffmpeg是:一个完整的、跨平台的解决方案,可以记录、转换和传输音频和视频。ffmpeg既可以播放视频,也提供命令行工具来处理视频,另外还有强大的视频处理库用于开发,下面是以Linux为例介绍ffmpeg的安装流程的简单的命令行对视频进行转码操作,是ffmpeg中最最简单的入门内容.
搭建ffmpeg的开发环境
Ffmpeg依赖一些其他的软件工具的,要想安装软件工具,要保证网络是通畅的
将网络链接设置成NAT模式
- 再新建一个网络链接 ,新建完成即可 什么不动.
- 更改完成网络配置之后,执行 ping Baidu.com,测试网络是否连接。
安装ffmpeg所需要的软件
- 更新软件源
sudo apt-get update
2. 执行安装的命令,安装所需要的库
sudo apt install yasm
sudo apt-get install libx264-dev
sudo apt install libsdl2-dev
sudo apt-get install libmp3lame-dev
sudo apt-get install libopus-dev
sudo apt-get install libavdevice-dev
sudo apt-get install libfdk-aac-dev
ffmpeg的配置和编译
1. 将ffmpeg的压缩包拷贝到虚拟机 (尽量不要有中文的目录)
解压 tar xvf + ffmpeg的压缩
2. 进入到解压后的目录 可以看到有一个可执行文件
configure 用来配置编译的选项的
./configure -h 查看可执行程序的帮助文档
./configure --target-os=linux --prefix=/home/d/202/myffmpeg/mytest --arch=x86_64 --disable-doc --enable-libx264 --enable-libmp3lame --enable-libopus --enable-debug=3 --extra-cflags="" --extra-ldflags="" --enable-alsa --enable-gpl --enable-opengl --enable-sdl2 --enable-avdevice --enable-indev=v4l2 --enable-shared --disable-static -- enable-nonfree --enable-libfdk-aac
3. 在ffmpeg的sdk的根目录下执行
make && make install -j+ 4 (虚拟机内核数)
4. 编译安装完成之后 会在指定的目录生成4个文件夹
bin include lib share
5 . ffmpeg最终生成文件说明
bin:存放的是ffmpeg相关的可执行程序
ffmpeg:包含了ffmpeg的所有的功能的可执行程序
ffplay:ffmpeg编译生成的播放器
几乎可以播放所有的类型的音视频
Ffprobe:分析器
可以分析 音视频信息或者是摄像头
Include:头文件
这个文件夹下共有8个文件夹
分别对应了ffmpeg的8个功能
libavcodec 编解码
libavdevice 采集与渲染相关的功能
libavfilter 滤镜
libavformat 封装模块
libavutil 基础模块
libpostproc 通过滤镜优化画质
libswresample 音频转换计算模块
libswscale 格式转换模块
lib:ffmpeg相关的库文件
要想编译出来的可执行程序 可以使用
必须要搞定这块路文件
可以执行如下命令
sudo cp lib/* /usr/lib -r
6 .ffmpeg在开发板上如何使用
ffmpeg是一个通用的音视频的处理的工具在比较新的开发板上官方已经集成了ffmpeg的库直接使用即可比如 rv1126,还有一些比较老的开发板 不支持ffmpeg需要做移植.
ffmpeg音视频录制的命令
ffmpeg录制视频
查看摄像头的信息
Ffprobe /dev/video0
使用ffmpeg进行视频的录制
./ffmpeg -video_size 640*480 -f v4l2 -i /dev/video0 ./out.h264
视频的播放
ffplay -video_size 640*480 -pix_fmt yuyv422 -i out.yuv
ffmpeg音频录制
音频的录制:
./ffmpeg -f alsa -i hw:0 out.wav
音频的播放:
ffplay -ar 48000 -ac 2 -f s16le out.wav
3.3 ffmpeg视频的格式转换
ffmpeg -i out.mp4 -vcodec copy -f h264 tt.h264