ffmpeg 命令分类

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

参考:https://coding.imooc.com/learn/list/279.html

https://blog.csdn.net/encoder1234/article/details/51984779