FFmpeg的录制命令
FFmpeg的录制命令
命令的作用
它可以捕捉桌面窗口,摄像头的视频流和麦克风的音频流。
命令的格式
ffmpeg [输入格式] [输入选项] -i [输入设备索引] [输出选项] 输出文件
其中输入选项和输出选项是可选的,根据实际需要进行修改。
输入格式:
Windows:
dshow: DirectShow输入格式,用于录制Windows上的摄像头、麦克风、屏幕、窗口等。gdigrab:GDI抓取输入格式,用于录制Windows上的屏幕或窗口,可以选择特定的窗口进行录制。vfwcap: 是一种输入格式,用于在 Windows 上录制视频设备(如摄像头)的输入源。
Linux:
v4l2:Video for Linux 2输入格式,用于录制Linux上的视频设备,如USB摄像头等。alsa:Advanced Linux Sound Architecture输入格式,用于录制Linux上的音频设备,如麦克风、扬声器等。x11grab:X11抓取输入格式,用于录制X Window系统上的屏幕或窗口。
Mac:
avfoundation:AVFoundation输入格式,用于录制Mac上的摄像头、麦克风、屏幕等。qtkit:QuickTime Kit输入格式,用于录制Mac上的摄像头、麦克风等。
输入选项:
-f <格式>:指定输入文件的格式(视频如.mp4 .avi .mkv .flv .mov等等 音频如 .mp3 .wav .aac .flac .wma等等)。-i <输入文件>:指定输入文件的路径。-s <分辨率>:指定视频的分辨率。-r <帧率>:指定视频的帧率。-ac <声道数>:指定音频的声道数(如:单声道(1) 立体声(2) 5.1环绕声(6) 7.1环绕声(8))。-i <视频设备>:指定视频设备的路径(用于摄像头录制)。-f alsa -i <音频设备>:指定音频设备的路径(用于声音录制)。
输入设备索引:
Windows:
dshow: 使用ffmpeg -list_devices true -f dshow -i dummy命令列出可用的视频设备及其对应的名称和索引号,然后根据需要选择对应的索引号或设备名称。gdigrab: 不需要设备索引,直接使用-offset_x、-offset_y、-video_size等参数指定需要录制的屏幕区域或窗口标题即可。vfwcap: 使用ffmpeg -list_devices true -f vfwcap -i dummy命令列出可用的视频设备及其对应的名称和索引号,然后根据需要选择对应的设备名称或索引号。
Linux:
v4l2: 使用v4l2-ctl --list-devices命令列出可用的视频设备及其对应的名称和索引号,然后根据需要选择对应的设备名称或索引号。alsa: 不需要设备索引,直接使用-f alsa -i default参数录制默认音频设备。x11grab: 不需要设备索引,直接使用-offset_x、-offset_y、-video_size等参数指定需要录制的屏幕区域或窗口标题即可。
Mac:
avfoundation: 使用ffmpeg -f avfoundation -list_devices true -i ""命令列出可用的视频设备及其对应的名称和索引号,然后根据需要选择对应的设备名称或索引号。qtkit: 使用ffmpeg -f qtkit -list_devices true -i ""命令列出可用的视频设备及其对应的名称和索引号,然后根据需要选择对应的设备名称或索引号。
输出文件:
- 单个输出文件:直接指定输出文件路径和文件名,如
output.mp4 - 多个输出文件:使用通配符指定输出文件路径和文件名的格式,如
output-%03d.mp4,其中%03d表示输出文件名中序号的占位符,例如output-001.mp4、output-002.mp4等。
例子:
录制窗口,60帧,使用1920x1080分辨率,存放到默认目录。
ffmpeg -f gdigrab -r 60 -i desktop -s 1920x1080 output.mp4
录制麦克风音频,存放到默认目录。
ffmpeg -f dshow -i audio="麦克风阵列 (适用于数字麦克风的英特尔 智音技术)" output.wav
录制摄像头 30帧,并且存放到d盘中的videos文件夹中(要保证有访问和修改目标文件夹的权限)。
ffmpeg -f vfwcap -r 30 -i 0 D:\videos\output003.mp4
如何播放我录制的视频
找到视频存放的目录,然后双击使用你的电脑上的播放器打开或者使用ffplay进行播放。
一般视频存放的位置以上面的输出文件为依据。如果只是单个文件名,例如output.mp4 则视频存放在你的ffmpeg的默认安装目录。如果指定了文件目录,如:D:\videos\output003.mp4 则视频存放在D:\videos中。
FFmpeg的录制命令的更多相关文章
- FFmpeg常用命令学习笔记(二)录制命令
录制命令 1.FFmpeg录屏命令 ffmpeg -f avfoundation -i 1 -r 30 out.yuv -f:指定使用avfoundation采集数据 -i:指定从哪采集数据,它是一个 ...
- ffplay的快捷键以及选项 FFmpeg 基本用法 FFmpeg常用基本命令 ffmpeg常用转换命令,支持WAV转AMR
ffmpeg -i 32_mkv_h264_718x480_ac3.mkv -codec copy -bsf:v h264_mp4toannexb -f mpegts xx.ts ./ffmpeg ...
- Android视频录制命令screenrecord
不管是教学,还是为了演示,如果能将Android手机(或平板)的屏幕录制成视频文件,那是一件非常酷的事(iOS8已经提供了这一功能,能通过OS X直接在Mac上录制iPad.iPhone的屏幕,win ...
- Android截图命令screencap与视频录制命令screenrecord
Android截图命令screencap 查看帮助命令 bixiaopeng@bixiaopeng ~$ adb shell screencap -v screencap: invalid optio ...
- ffmpeg常用转换命令,支持WAV转AMR
音频转换: 1.转换amr到mp3: ffmpeg -i shenhuxi.amr amr2mp3.mp3 2.转换amr到wav: ffmpeg -acodec libamr_nb -i shenh ...
- ffmpeg 屏幕录制 so easy....
linux Linux下使用FFmpeg进行屏幕录制相对比较方便,可以使用x11grab,使用如下的命令: ffmpeg -f x11grab -s 1600x900 -r 50 -vcodec li ...
- FFMPEG 音频转换命令
音频转换: .转换amr到mp3: ffmpeg -i shenhuxi.amr amr2mp3.mp3 .转换amr到wav: ffmpeg -acodec libamr_nb -i shenhux ...
- ffmpeg API录制rtsp视频流
原文出自http://blog.csdn.net/zxwangyun/article/details/8190638#reply 作者 Sloan 这里在录制时,并没有进行转码,只是相当于把rts ...
- ffmpeg 转码命令与ffplay
ffmpeg.exe用于视频的转码. ▫ 最简单的命令 ffmpeg -i input.avi -b:v 640k output.ts 该命令将当前文件夹下的input.avi文件转换为output. ...
- ffmpeg 音频常用命令
ffmpeg的使用方式: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}... Stream ...
随机推荐
- CO02生产订单新增组件
"-----------------------------------------@斌将军-------------------------------------------- LOOP ...
- vue 状态管理 五、Module用法
系列导航 vue 状态管理 一.状态管理概念和基本结构 vue 状态管理 二.状态管理的基本使用 vue 状态管理 三.Mutations和Getters用法 vue 状态管理 四.Action用法 ...
- idea开发常用快捷键总结
转载请注明出处: idea提供了很多的快捷键,但在开发过程中并发全用,只是常用部分快捷键,在这里总结一下,总结的不全,有好的快捷键可在评论里补充下,提前谢各位 由于很早之前用的eclipse或spri ...
- Go-获取密码的sha值
// 对用户密码进行加密 func EncodePwd(pwd string) string { s := sha256.New() s.Write([]byte(pwd)) data := s.Su ...
- [转帖]解Bug之路-记一次中间件导致的慢SQL排查过程
https://zhuanlan.zhihu.com/p/242265937 解Bug之路-记一次中间件导致的慢SQL排查过程 前言 最近发现线上出现一个奇葩的问题,这问题让笔者定位了好长时间,期间排 ...
- [转帖]@Scope("prototype")的正确用法——解决Bean的多例问题
https://www.jianshu.com/p/54b0711a8ec8 1. 问题,Spring管理的某个Bean需要使用多例 在使用了Spring的web工程中,除非特殊情况,我们都会选择 ...
- [转帖]基于Fuse的用户态文件系统性能优化几点建议
https://zhuanlan.zhihu.com/p/68085075 目前很多文件系统基于Fuse( http://fuse.sourceforge.net/ )开发,在较为深入钻研Fuse实现 ...
- [转帖]Jmeter中如何读取MYSQL数据作为请求参数
在项目测试过程中,我经常需要将数据库中的数据作为参数传递到请求中.Jmeter中MYSQL数据库连接操作过程如下: 1.下载/n导入mysql的jdbc驱动包 下载mysql驱动包地址: http:/ ...
- [转帖]jcmd命令详解
1 基本知识 jcmd 是在 JDK1.7 以后,新增了一个命令行工具. jcmd 是一个多功能的工具,相比 jstat 功能更为全面的工具,可用于获取目标 Java 进程的性能统计.JFR.内存使用 ...
- [转帖]Python基础之数据类型(一)
https://www.jianshu.com/p/5c43f6056f77 Python基本数据类型 python系列文档都是基于python3 数字 字符串 列表 元组 字典 集合 一.数字 特性 ...