复用与解复用:
复用:就是将不同的流按照某种容器的规则放入容器。
解复用:把不同的流按照容器的规则从容器中分离出来。
常用的支持指令
ffmpeg -bsfs 可用的码流
ffmpeg -codecs 可用的编解码器
ffmpeg -decoders 可用的解码器
ffmpeg -encoders 可用的编码器
ffmpeg -filters 可用的过滤器
ffmpeg -layouts 可用的音频声道
ffmpeg -L 可用的license
ffmpeg -pix_fmts 可用的像素格式
ffmpeg能干什么?
1、修改帧率、码率、分辨率
2、修改封装格式
3、截图
4、录制
5、旋转、反转、填充、裁剪、模糊、锐化
6、logo增删
1、修改帧率 -r -vf
ffmpeg -i input -r fps output
ffmpeg -i input -vf fps = fps=25 output
2、更改分辨率 -s -vf
ffmpeg -i input -s widthxheight output
ffmpeg -i input -vf scale= widthheight=25 output
3、更改码率
ffmpeg -i input -b:a 32k output
ffmpeg -i input -b:v 800k output
-c:a copy 音频直接拷贝
-c:v libx264 视频采用264编码 -c:a libfaac 选择音频的编码格式
-f mp4 输出的是mp4格式
-vn 不要视频 -an 不要音频
-ac 1 采用一个声道 -ar 44100 采样率
视频裁剪:
-vf crop=iw/3:ih:0:0 裁剪左侧三分之一的效果
crop=w:h:x:y xy是坐标 生成对应的宽高的视频
视频填充:
-vf pad=860:660:30:30
pad=w:h:x:y:color 默认是黑色
截图:
-vf fps=fps=1 -f image2 out%d.png 每隔一秒进行截图
-vf fps=fps=1/20 -f image2 out%d.png 每隔20秒进行截图
按时间点截图
-vf -ss 00:10:00 -i input -f image2 -vframes1 out.jpg 10秒截一帧
-vf -ss 00:10:00 -i input -f image2 -t 0.001 out.jpg 10秒截一帧
提取264码流
ffmpeg -i iput -c:v copy -bsf:v h264_mp4toannexb -an out.h264
解码视频流
ffmpeg -i iput -s widthxheight -f rawvideo out.h264
解封装
ffmpeg -i iputmp4 -c copy -f flv out.flv
拉流录制
ffmpeg -i rtmp -c copy -f mp4 out.mp4 拉流文件进行录制