首页 > 其他分享 >FFmpeg的录制桌面窗口,摄像头,麦克风的命令

FFmpeg的录制桌面窗口,摄像头,麦克风的命令

时间:2024-01-30 11:11:24浏览次数:22  
标签:视频 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.mp4output-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中。


__EOF__

     

 

2024-01-30 11:04:03【出处】:https://www.cnblogs.com/xiaobai1523/p/17995045

=======================================================================================

标签:视频,FFmpeg,麦克风,录制,索引,输入,格式,摄像头,设备
From: https://www.cnblogs.com/mq0036/p/17996705

相关文章

  • FFmpeg音视频格式转换命令
    FFmpeg音视频格式转换命令命令的用处它可以转换音频,视频的格式,例如将.mp4转为.avi;将.mp3转为.wav。并且在转换时可以指定转换的帧率,比特率,分辨率,指定编解码器等等等等操作。命令的格式ffmpeg-i[输入文件名][参数][输出文件名]输入文件名要转换的文件,因为加了-i,所以可以......
  • ffmpeg-读取媒体文件信息-avformat_open_input
    实例代码Codeintvideo_audio_info(intargc,char*argv[]){ if(argc<2){ printf("Usage:%smediaFile\n",argv[0]); return-1; } AVFormatContext*ic=NULL; charpath[20]={0}; strcpy(path,argv[1]); //1.打开媒体文件 intret=avfo......
  • 利用yolov模型和django实现网页摄像头调用进行实时预测
    前端:<imgid="video"width="640"height="480"ref="video"></img>调用方法:startCamera(){varvideo1=document.getElementById("video");video1.src="http://localhost:8080/api/webcam/"}......
  • ffmpeg提取音频
    要使用FFmpeg提取音频,你需要使用以下命令行语法:ffmpeg-i输入视频文件.mp4-vn-acodeccopy输出音频文件.aac这里是命令的解释:-i输入视频文件.mp4:指定输入视频文件的路径和名称。-vn:禁用视频流。这告诉FFmpeg不要复制视频流。-acodeccopy:指定音频编解码器为拷贝(copy),这......
  • 洛谷题解-P2712 摄像头
    https://www.luogu.com.cn/problem/P2712可以看出是拓扑排序,因为是有前后关系的,但是坑点在于点并不连续,值得记录一下(刚开始70分,后来才AC)注意坑点:拓扑排序,遍历的点不连续 #include<bits/stdc++.h>usingnamespacestd;constintN=1e5+5;intn,x,m,y,d[N],cnt=0,v......
  • 记录--h5端调用手机摄像头实现扫一扫功能
    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助一、前言最近有遇到一个需求,在h5浏览器中实现扫码功能,其本质便是打开手机摄像头定时拍照,特此做一个记录。主要技术栈采用的是vue2,使用的开发工具是hbuilderX。经过测试发现部分浏览器并不支持打开摄像头,测试了......
  • 如何配置LiveNVR实现在服务器上多个不同的磁盘目录存储监控摄像头的录像,并支持电脑、
    @目录1、流媒体服务软件2、配置开启录像(云端录像)3、指定录像存储路径4、录像回看(云端录像)4.1、查看录像4.1.1、时间轴视图4.1.2、列表视图5、云端录像相关接口6、如何分享时间轴录像回看?7、iframe集成示例8、RTSP/HLS/FLV/RTMP拉流Onvif流媒体服务1、流媒体服务软件LiveNVR......
  • 【iOS ARKit】同时开启前后摄像头BlendShapes
       在上一节中已经了解了iOSARkit进行BlendShapes的基本操作,这一小节继续实践同时开启前后摄像头进行人脸捕捉和世界追踪。   iOS设备配备了前后两个摄像头,在运行AR应用时,需要选择使用哪个摄像头作为图像输人。最常见的AR体验使用设备后置摄像头进行世界跟踪、......
  • FFmpeg安装与使用
    前言ffmpeg是十分强大的视频录制及格式转换的命令行工具安装windows教程而Mac可以直接用Homebrew来安装ffmpeg:brewinstallffmpeg视频转webp比如将input.mp4转化成output.webp,并且要求:为帧率为20帧每秒,循环播放,默认渲染预设效果,分辨率为800px宽600px高......
  • FFmpeg屏幕录制(转)
    一、FFmpeg简介    FFmpeg是领先的多媒体框架,能够解码、编码、转码、混合、解密、流媒体、过滤和播放人类和机器创造的几乎所有东西。它支持最晦涩的古老格式,直到最尖端的格式。无论它们是由某个标准委员会、社区还是公司设计的。它还具有高度的便携性。FFmpeg可以......