FFmpeg是什么意思: Fast Forward Moving Picture Experts Group
ffmpeg相关文档:
Documentation
FFmpeg
ffmpeg源码下载:
https://git.videolan.org/git/ffmpeg.git
https://github.com/FFmpeg/FFmpeg.git
FFmpeg能做什么?
多种媒体格式的封装与解封装 :
1.多种音视频编解码 (如: MP4/FLV/KV/TS)
2.多种协议流媒体 (如:RTMP/RTSP/MMS/HLS)
3.多种色彩格式转换
4.多种采样率转换
5.多种码率转换
FFmpeg有哪些模块:
AVFormat
AVCodec
AVFilter
AVDevice
AVUtil
swresample
swscale
FFmpeg常用的编解码器: MPEG4 AAC MJPEG H.264(AVC) H.265(HEVC)
视频滤镜使用:
./ffmpeg -i 输入视频路径 -vf "split [main] [tmp]; [tmp] crop=iw:ih/2:0:0, vflip [flip]; [main] [flip] overlay=0:H/2" 视频路径
视频转换使用:
./ffmpeg -i 输入视频路径 输出视频路径
指定输出格式:
./ffmpeg -i 输入视频路径 -f avi 输出视频路径
FFmpeg转码流程:
打开输入源--->解封装(Demuxing)--->解码(Decoding)--->参数转换--->编码(Encoding)--->封装(Muxing)--->输出目标源
注:如果要源码编译生成ffplay要先安装sdl
使用ffplay播放流:
./ffplay 输入流路径或者地址
查看流信息:
./ffprobe -show_stream 输入流路径或地址
编译FFmpeg:
windows:
1.安装MinGW-w64与MSYS
2. ./configure
3. make
4. make install
5. ./ffmpeg -h
linux/macos:
1.安装yasm
2. ./configure
3. make
4. make install
5. ./ffmpeg -h
编译FFmpeg源码并支持H.264与H.265与AAC
mkdir build
cd build
../configure --enable-libx264 --enable-libx265 --enable-libfdk-aac --enable-gpl -enable-nonfree
查看FFmpeg支持哪些编解码器:
./configure --list-encoders
./configure --list-decoders
查看FFmpeg支持哪些封装与解封装:
./configure --list-muxers
./configure --list-demuxers
查看FFmpeg支持哪些通信协议:
./configure --list-protocols