ffmpeg 命令分类
ffmpeg 常用命令分类 整理:
- 基本信息查询
- 录制命令
- 分解/复用
- 处理原始数据
- 裁剪与合并
- 图片视频互转
- 直播相关
- 各种滤镜
一,基本信息查询
二,录制
1.基于GDI录屏,FFmpeg直接从Windows的GDI中拷贝图形,然后再合成视频。
优点:省事,不需要依赖其他库
缺点:内存拷贝性能不是很好,没有硬件加速
命令如下:ffmpeg -y -f gdigrab -t 30 -r 25 -i desktop -vcodec libx264 -s 1280x720 test720.mp4
-t 表示录屏时间:缺省没有录屏时间限制
-r 表示帧率
-y 表示覆盖同名文件
- s 表示分辨率
-vcodec 表示编码器的库为x264
test720.mp4为输出文件名
2.基于directshow方案,FFmpeg从directshow驱动接口中读取。
优点:性能较好,directshow可以控制采样帧率,硬件加速。
缺点:需要安装directshow驱动,不过directshow驱动网上很容易可以找到并下载。
命令如下:
ffmpeg -y --framerate 25 -f dshow -i video="screen-capture-recorder" -s 1280x720 -r 25 -t 30 yo.mp4
注意:这里默认是x264 编码,当然也可以指定其他编码器
3,录制音频和视频(基于 directshow)
(1) ,安装驱动 http://sourceforge.net/projects/screencapturer/files/
(2),检查设备 ffmpeg -list_devices true -f dshow -i dummy
系统输出大致如下:
[dshow @ 002db420] DirectShow video devices
[dshow @ 002db420] "screen-capture-recorder"
[dshow @ 002db420] DirectShow audio devices
[dshow @ 002db420] "virtual-audio-capturer"
ffmpeg已经可以捕获到DirectShow视频设备,和音频设备了."screen-capture-recorder" 这个就是桌面捕获设备,如果电脑上连有摄像头,也会列出来.
"virtual-audio-capturer" 这个是音频捕获设备
(3),捕获摄像头视频:
ffmpeg -f dshow -i video="Integrated Camera" -vcodec libx264 mycamera.mkv
(4),捕获麦克风声音:
ffmpeg -f dshow -i audio="麦克风(High Definition Audio 设备)" -acodec aac temp.aac
(5),同时捕获麦克风和摄像头 并生成fly文件
ffmpeg -f dshow -i video="screen-capture-recorder" -f dshow -i audio="virtual-audio-capturer" -pix_fmt yuv420p -ar 48000 -vcodec libx264 -crf 23 -preset veryslow -x264opts b-adapt=2:bframes=0:aq-strength=1:psy-rd=0.8,0 -vsync vfr -acodec aac -bsf:a aac_adtstoasc -f flv temp.flv
三,分解与复用
(1),如:mp4 转 fly, 音频和视频参数保持不变
ffmpeg -i out.mp4 -vcodec copy -acodec copy out.fly
(2),抽去视频 存储为。264格式
ffmpeg -i f35.mov -an -vcodec copy out.h264
四,处理原始数据
(1),提取yuv数据
ffmeg -i input.mp4 -an -c:v rawvideo -pix_fmts yuv420p out.yuv
(2),提取pcm数据
ffmpeg -i out.mp4 -vn -ar 44100 -ac2 -f s16le out.pcm
五,滤镜
(1),裁剪
ffmpeg -i in.mov -vf crop=in_w-200:in_h-200 -c:v libx264 -c:a copy out.mp4
六,裁剪与合并
(1),截取视频的一段
ffmpeg -i in.mp4 -ss 00:00:00 -t 10 out.ts
(2),合并文件。input.txt 为要合并的文件名列表
ffmpeg -f concat -i input.txt out.fly
七,图片与视频互转
(1) 视频转图片
ffmpeg -i in.fly -r 1 -f image2 image-%3d.jpeg
(2),图片转视频
ffmpeg -i image-%3d.jpeg out.mp4
八,直播
(1),推流
ffmpeg -re -i out.mp4 -c copy -f fly rtmp://server/xxxxxx
(2).拉流
ffmpeg -i rtmp://server/live.... -c copy dump.flv
测试地址:https://blog.csdn.net/u014162133/article/details/81188410