记录一下纯命令操作ffmpeg的用法!
目录
一、FFmpeg查询命令帮助文档
1.ffmpeg、ffplay、ffprobe的区别
2.ffmpeg命令查看帮助文档
3.ffplay命令查看帮助文档
4.ffprobe命令查看帮助文档
二、FFmpeg音视频处理流程
三、FFmpeg命令分类查询
1.命令参数
2.查看具体分类所支持的参数
四、ffplay操作
1.ffplay播放控制
2.ffplay命令参数
3.ffplay命令播放媒体文件
(1).基础命令
(2).入门命令
4.ffplay简单过滤器
五、FFmpeg命令参数
1.主要参数
2.音频参数
3.视频参数
六、提取音视频数据
1.保留编码格式
2.提取视频
3.提取音频
七、提取像素格式
1.提取YUV
2.提取RGB
3.RGB和YVU之间转换
4.提取PCM
八、修改封装格式
1.保持编码格式
2.改变编码格式
3.修改帧率
4.修改视频码率
5.修改音频码率
6.修改音视频码率
7.修改音频采样率
九、视频合并
1.提取素材视频(裁剪视频片段)
2.视频拼接
3.注意事项
十、图片和视频互转
1.截取一张图片
2.截取多张图片(一帧一张图)
3.图片转为视频
4.视频生成gif
5.gif转为视频
十一、FFmpeg 视频录制
1.基础录制(默认参数)
2.查看可选参数
3.指定参数录制音视频
十二、FFmpeg直播拉流
1.拉流播放
2.拉流保存
十三、FFmpeg过滤器 - 视频 | 图片 裁剪
十四、FFmpeg添加水印
1.添加文字水印
2.添加时间水印
十五、FFmpeg添加图片水印
十六、FFmpeg画中画
1.画中画
2.多宫格
一、FFmpeg查询命令帮助文档
1.ffmpeg、ffplay、ffprobe的区别
ffmpeg:Hyper fast Audio and Video encoder 超快音视频编码器(类似爱剪辑)
ffplay:Simple media player 简单媒体播放器
ffprobe:Simple multimedia streams analyzer 简单多媒体流分析器
2.ffmpeg命令查看帮助文档
基本信息:ffmpeg -h
高级信息:ffmpeg -h long
所有信息:fmpeg -h full
- 当在命令行窗口打印所有信息时,查阅比较麻烦,可以通过重定向到一个文件中,然后打开这个文件查看即可, 这样就更加方便阅读了,例如:
-
ffmpeg -h full > ffmpeg_h_full.txt
可以通过字符处去查找:ffmpeg -h full | findstr 264
3.ffplay命令查看帮助文档
所有信息:ffplay -h
4.ffprobe命令查看帮助文档
所有信息:ffprobe -h
二、FFmpeg音视频处理流程
ffmpeg -i t_1280x720.mp4 -acodec copy -vcodec libx264 -s t_680x480.flv
解析:使用 ffmpeg 工具将 t_1280x720.mp4视频转换成libx264格式的680x480分辨率的视频;
转换流程图如下:
三、FFmpeg命令分类查询
1.命令参数
命令参数 | 内容 | 命令参数 | 内容 |
---|---|---|---|
-version | 显示版本 | -bsfs | 显示可用比特流filter |
-buildconf | 显示编译配置 | -protocols | 显示可用的协议 |
-formats | 显示可用格式 (muxers+demuxers) |
-filters | 显示可用的过滤器 |
-muxers | 显示可用的解复用器 | -pix_fmts | 显示可用的像素格式 |
-demuxers | 显示可用的复用器 | -layouts | 显示标准声道名称 |
-codecs | 显示可用编解码器 (decoders+encoders) |
-sample_fmts | 显示可用的音频采样格式 |
-decoders | 显示可用解码器 | -colors | 显示可用的颜色名称 |
-encoders | 显示可用编码器 |
例:
ffmpeg -version
ffmpeg -formats | findstr h264
ffmpeg -pix_fmts | findstr yuv
2.查看具体分类所支持的参数
语法:ffmpeg -h type=name
type就是上面表格命令参数没有加上s
例如:
ffmpeg -h muxer=flv
ffmpeg -h filter=atempo
ffmpeg -h encoder=libx264
如果不知道当前参数支不支持name,例如不知道encoder支不支持libx264,可以通过命令去查找:ffmpeg -encoders | findstr x264
如果有显示查找出来又libx264,那么说明就是支持的!
四、ffplay操作
1.ffplay播放控制
选项 | 说明 |
---|---|
q、ESC | 退出播放 |
f | 全屏切换 |
p、SPC | 暂停 |
m | 静音切换 |
9、0 | 9减少音量,0增加音量 |
a | 循环切换音频流 |
v | 循环切换视频流 |
t | 循环切换字幕流 |
c | 循环切换节目 |
w | 循环切换过滤器或显示模式 |
left / right | 向后 / 向前 拖动10秒 |
down / up | 向后 / 向前拖动1分钟 |
鼠标右键单击 | 拖动与显示宽度对应百分比的文件进行播放 |
鼠标左键双击 | 全屏切换 |
案例
# 播放视频
ffplay xxx.mp4
然后根据上面的选项即可实现相应的操作!!!
2.ffplay命令参数
常用命令参数如下:
选项 | 说明 | 案例:命令 |
---|---|---|
-x width | 强制显示宽度 | ffplay -x 800 -y 480 xxx.mp4 |
-y height | 强制显示高度 | ffplay -x 800 -y 480 xxx.mp4 |
-video_size size | 帧尺寸,设置显示帧存储(W * H格式),仅用于类似原始YUV等没有包含帧大小(W * H)的视频 | ffplay -pixel_format yuv420p -video_size 3220x240 xxx.yuv |
-pixel_format format | 格式设置像素格式 | ffplay -pixel_format yuv420p -video_size 3220x240 xxx.yuv |
-fs | 以全屏模式启动 | ffplay -fs xxx.mp4 |
-an | 禁用音频(不播放声音) | ffplay -an xxx.mp4 |
-vn | 禁用视频(不播放视频) | ffplay -vn xxx.mp4 |
-sn | 禁用字幕(不显示字幕) | ffplay -sn xxx.mp4 |
-ar | 设置音频采样率 |
ffplay -ar 48000 -ac 2 -f f32le xxx.pcm |
-ac | 设置音频通道数 | ffplay -ar 48000 -ac 2 -f f32le xxx.pcm |
-f | 设置音频格式 | ffplay -ar 48000 -ac 2 -f f32le xxx.pcm |
-ss pos | 根据设置的秒进行定位播放,或者以时间的单位进行播放 | ffplay -ss 10 xxx.mp4 或者 ffplay -ss 00:05:11 xxx.mp4 |
-t duration | 设置播放视频或者音频长度,时间单位如 -ss 选项 | ffplay -t 10 xxx.mp4 或者 ffplay -t 00:00:10 xxx.mp4 |
-bytes | 按字节进行播放定位拖动(0关闭,1开启,-1自动(默认)) | ffplay -bytes 1 xxx.flv |
-nodisp | 关闭图像化显示窗口,视频将不再显示 | ffplay -nodisp xxx.mp4 |
-noborder | 无边框窗口 | ffplay -noborder xxx.mp4 |
-volume vol | 设置起始音量。因为范围[0 - 100] | ffplay -volume 11 xxx.mp4 |
-f fmt | 强制使用设置的格式进行解析。比如:-f s16le | |
-window_tilte title | 设置窗口标题(默认为输入文件名) | ffpaly -window_title "自定义名字" xxx.mp4 |
-loop number | 设置循环播放次数 | ffplay -t 5 -loop 2 xxx.mp4 |
-showmode mode | 设置显示模式,可用的模式值:0显示视频,1显示音频波形,2显示音频频谱。缺省为0,如果视频不存在则自动选着2 | ffplay -showmode 1 xxx.mp4 |
-stats | 打印多个回放统计信息,包括显示流持续时间,编解码器参数,流中的当前位置,以及音频/视频同步差值。默认情况下处于启用状态,要显示禁用它则需要指定 -nostats | ffplay -nostats xxx.mp4 |
-sync type | 同步类型将主时钟设置为audio(type=audio),video(type=video)或external(type=ext);默认是audio为时钟。 | |
-ast audio_stream_specifier | 指定音频流索引,比如 -ast 3,播放流索引为3的音频流 | ffplay -ast 3 xxx.ts |
-vst video_stream_specifier | 指定视频流索引,比如 -vst 4,播放流索引为4的视频流 | ffplay -vst 4 xxx.ts |
-sst subtitle_stream_specifier | 指定字符流索引,比如-sst 5,播放流索引为5的字幕流 | ffplay -sst 5 xxx.ts |
-autoexit | 视频播放完毕后退出 | ffplay -autoexit xxx.mp4 |
-exitonkeydown | 键盘按下任何键退出播放 | ffplay -exitonkeydown xxx.mp4 |
-exitonmousedown | 鼠标按下任何键退出播放 | ffplay -exitonmousedown xxx.mp4 |
-codec:media_specifier codec_name | 强制使用设置的多媒体解码器,media_specifier可使用为a(音频),v(视频),和s(字幕)。-codec:v等同于-vcodec,其他类同。 | ffplay -codec:v h264 xxx.flv |
-acodec codec_name | 强制使用设置的音频解码器进行音频解码;可写为 -codec:a | |
-vcodec code_name | 强制使用设置的视频解码器进行视频解码;可写为 -codec:v | ffplay -vcodec h264 xxx.flv |
-scodec code_name | 强制使用设置的字幕解码器进行字幕解码;可写为 -codec:s | |
-autorotate | 根据文件元素据自动旋转视频。值为0或1,默认值1 | |
-framedrop | 如果视频不同步则丢弃视频帧。当主时钟非视频时钟时默认开启。若需禁用则使用 -noframedrop | |
-infbuf | 不限制输入缓冲区大小。尽可能快的从输入中读取尽可能多的数据。播放实时流时默认启用,如果未及时读取数据,则可能回丢弃数据。此选项将不再限制缓冲区的大小。若需要禁用则使用 -noiinfbuf |
3.ffplay命令播放媒体文件
以下是一下案例,可以结合上面的命令参数进行理解。
(1).基础命令
①.播放本地文件
ffplay -window_title "窗口标题" -ss 3 -t 15 -autoexit xxx.mp4
ffplay xxx.mp3
②.播放网络流
ffplay -window_title "rtmp stream" rtmp://xxx/xxx/xxx
③.强制解码器
# mpeg4解码器
ffplay -vcodec mpeg4 xxx.mp4
# h264解码器
ffplay -vcodec h264 xxx.mp4
④.禁用音频或视频
# 播放视频时 禁用音频
ffplay xxx.mp4 -an
# 播放视频时 禁用视频
ffplay xxx.mp4 -vn
(2).入门命令
①.播放YUV数据
(播放yuv数据时,需要指定视频的格式和像素大小;-pixel_format -video_size)
ffplay -pixel_format yuv420p -video_size 960x544 -framerate 30 xxx.yuv
②.播放RGB数据
-f rawvideo 告诉ffplay这个rgb文件是原始数据,是没有压缩过的文件数据。
ffplay -f rawvideo -pixel_format rgb24 -video_size 320x240 -i xxx.rgb
ffplay -f rawvideo -pixel_format rgb24 -video_size 320x240 -framerate 10 -i xxx.rgb
③.播放PCM数据
ffplay -ar 48000 -ac 2 -f f32le xxx.pcm
4.ffplay简单过滤器
(1).视频旋转
ffplay -i xxx.mp4 -vf transpose=1 # 参数0 - 4
(2).视频反转
ffplay xxx.mp4 -vf hflip # 水平
ffplay xxx.mp4 -vf vflip # 垂直
(3).视频旋转和翻转
ffplay xxx.mp4 -vf hflip, transpose=1
(4).音频变速播放
ffplay -i xxx.mp4 -af atempo=2
(5).视频变速播放
ffplay -i xxx.mp4 -vf setpts=PTS/2
(6).音视频同时变速
ffplay -i xxx.mp4 -vf setpts=PTS/2 -af atempo=2
更多过滤器参考:FFmpeg Filters Documentation
五、FFmpeg命令参数
1.主要参数
选项 | 说明 |
---|---|
-i | 设置输入流 |
-f | 设定输出格式(format) |
-ss | 开始时间 |
-t | 时间长度 |
例,从一个视频中,在10s位置开始截取,截取12s,输出格式为flv格式,输出名字为out.mp4
ffmpeg -i xxx.mp4 -ss 10 -t 12 -f flv out.mp4
使用MediaInfo软件打开输出的视频,可以看到,确实是FLV格式,且是12s.
2.音频参数
选项 | 说明 |
---|---|
-aframes | 设置要输出的音频帧数 |
-b:a | 音频码率 |
-ar | 设定采样率 |
-ac | 设定声音的Channel数 |
-acodec | 设定声音编码器,如果为copy,表示原始编解码数据必须被拷贝(-acodec copy) |
-an | 不处理音频 |
-af | 音频过滤器 |
例,在一个视频中提取音频,输出400帧音频,音频编码率为192k,采样率为48k,通道数为2,音频编码为libmp3lame,输出名字为out.mp3
ffmpeg -i out.mp4 -aframes 400 -b:a 192k -ar 48000 -ac 2 -acodec libmp3lame out.mp3
3.视频参数
选项 | 说明 |
---|---|
-vframes | 设置要输出的视频帧数 |
-b | 设置视频编码率 |
-b:v | 视频码率 |
-r | 设定帧速率 |
-s | 设定画面的宽与高 |
-vn | 不处理视频 |
-aspect aspect | 设置横纵比 4:3 16:9 或 1.3333:1.7777 |
-vcodec | 设定视频编解码器,如果用copy,表示原始编码解码数据必须被拷贝(-vcodec copy) |
-vf | 视频过滤器 |
例,从一个mp4视频中,输出视频400帧数,视频编码为300k,帧速率为60,画面大小为640x480,纵横比为16:9,视频编码为libx265,输出名字为out.h265
ffmpeg -i xxx.mp4 -vframes 400 -b:v 300k -r 60 -s 640x480 -aspect 16:9 -acodec copy -vcodec libx265 out.h265
六、提取音视频数据
1.保留编码格式
(从输入的视频中提取)
(1).提取音频
说明:-acodec copy:拷贝音频,即保留音频原有编码格式;-vn:禁用视频,即不处理视频,不拷贝视频;
ffmpeg -i xxx.mp4 -acodec copy -vn audio.mp4
#ffmpeg -i xxx.mp4 -codec:a copy -vn audio.mp4
只剩下一个音频流,但他还是mp4格式的。
(2).提取视频
说明:-vcodec copy:拷贝视频,即保留视频原有编码格式;-an:禁用音频,即不处理音频,不拷贝音频;
ffmpeg -i xxx.mp4 -vcodec copy -an video.mp4
#ffmpeg -i xxx.mp4 -codec:v copy -an video.mp4
只剩下一个视频流 ,但他还是mp4格式的。
2.提取视频
(从输入的视频中提取)
(1).保留编码格式
说明:-vcodec copy:拷贝视频,即保留视频原有编码格式;-an:禁用音频,即不处理音频,不拷贝音频;
ffmpeg -i xxx.mp4 -vcodec copy -an test1.h264
# 纯h264视频数据,没有封装格式
(2).指定格式
说明:-vcodec libx264:指定视频编码格式为libx264;-an:禁用音频,即不处理音频,不拷贝音频;
ffmpeg -i xxx.mp4 -vcodec libx264 -an test2.h264
3.提取音频
(从输入的视频中提取)
(1)保留编码格式
说明:-acodec copy:拷贝音频,即保留音频原有编码格式;-vn:禁用视频,即不处理视频,不拷贝视频;
ffmpeg -i xxx.mp4 -acodec copy -vn test.aac
(2).指定格式
说明:-vcodec libmp3lame:指定视频编码格式为libmp3lame;-vn:禁用视频,即不处理视频,不拷贝视频;
ffmpeg -i xxx.mp4 -acodec libmp3lame -vn test.mp3
七、提取像素格式
(播放可以参考上面第四章节的 (2).入门命令)
1.提取YUV
(1).提取10秒数据,分辨率和原视频一致
ffmpeg -i xxx.mp4 -t 10 -pix_fmt yuv420p yuv420p_orig.yuv
(2).提取10秒数据,分辨率转为320x240
ffmpeg -i xxx.mp4 -t 10 -pix_fmt yuv420p -s 320x240 yuv420p_320x240.yuv
播放yuv视频可以使用yuv播放器,可以通过下面链接进行下载。(注意播放时,需要设置大小与视频一直,否则是显示乱码的)
https://yuv-player-deluxe.software.informer.com/
https://download.****.net/download/cpp_learner/89861682
也可以使用命令播放,参考上面ffplay播放介绍。
2.提取RGB
(1).提取10秒数据,分辨率转为320x240
ffmpeg -i xxx.mp4 -t 10 -pix_fmt rgb24 -s 320x240 rgb24_320x240.rgb
3.RGB和YVU之间转换
(1).将一个分辨率为320x240的yuv格式的视频,转换为分辨率大小为1280x720的rgb格式视频
# yuv转rgb
ffmpeg -s 320x240 -pix_fmt yuv420p -i yuv420p_320x240.yuv -pix_fmt rgb24 -s 1280x720 rgb24_1280x720p.rgb
(2).将一个分辨率为960x544的rgb格式的视频,转换为分辨率相同的yuv格式视频
注意,如果是原始数据,即没有压缩过的数据,是需要加上 -f rawvideo 参数的,否则会报错。
# rgb转yuv
ffmpeg -f rawvideo -s 960x544 -pix_fmt rgb24 -i rgb24_960x544.rgb -pix_fmt yuv420p yuv420p_960x544.yuv
4.提取PCM
(1). mp3文件提取pcm数据
wav数据只是比pcm数据多了个文件头,其余数据一样。所以播放wav文件时,可以直接ffplay播放,不需要指定编码,采样率,通道数等参数。
ffmpeg -i xxx.mp3 -ar 48000 -ac 2 -f s16le 48000_s16le.pcm
ffmpeg -i xxx.mp3 -ar 48k -ac 2 -sample_fmt s16 s16.wav
ffmpeg -i xxx.mp3 -ar 48000 -ac 2 -codec:a pcm_s16le sl6le.wav
ffmpeg -i xxx.mp3 -ar 48k -ac 2 -f f32le 48000_f32le.pcm
# -f s16le 与 -sample_fmt s16 格式一致
# 48000 等于 48k
(2).mp4文件提取pcm数据
ffmpeg -i xxx.mp4 -t 10 -vn -ar 48000 -ac 2 -f f32le 48000_f32le.pcm
(3).查找命令
ffmpeg -muxers | findstr s16
ffmpeg -sample_fmts
ffmpeg -encoders | findstr pcm
八、修改封装格式
1.保持编码格式
将mp4文件转换为ts文件,保持原来编码格式
ffmpeg -i xxx.mp4 -vcodec copy -acodec copy test.ts
ffmpeg -i xxx.mp4 -codec copy test.ts
# codec 等于 vcodec 和 acodec
2.改变编码格式
将mp3文件转换为mkv文件,视频编码转为libx265,音频编码转为libmp3lame
ffmpeg -i xxx.mp4 -vcodec libx265 -acodec libmp3lame out_h265_mp3.mkv
3.修改帧率
ffmpeg -i xxx.mp4 -r 10 xxx.mp4 # 注意,不能加 codec copy 否之转换无效
4.修改视频码率
ffmpeg -i xxx.mp4 -b:v 100k xxx.mkv # -b 等效于 -b:v
注意,转换后的.mkv文件,音频格式也是会被转换的,因为封装格式不一样了,就是用了mkv默认的音频格式,如果不希望音频格式被修改,则需要加上 -acodec copy 参数即可。
5.修改音频码率
ffmpeg -i xxx.mp4 -b:a 192k xxx.mp4
注意,如果不加上 -vcodec copy 参数,视频码率也会随之被修改(重新编码)!
6.修改音视频码率
ffmpeg -i xxx.mp4 -b:v 400k -b:a 192k xxx.mp4
7.修改音频采样率
ffmpeg -i xxx.mp4 -ar 44100 xxx.mp4
九、视频合并
提醒,合并的视频需要格式都一致!!!
且推荐将视频转为 ts 格式进行合并!!!
1.提取素材视频(裁剪视频片段)
我这里是在同一个视频中进行裁剪,所以格式都是一样的,不需要考虑格式问题
ffmpeg -i xxx.mp4 -ss 00:00:02 -t 5 -codec copy 1.mp4
ffmpeg -i xxx.mp4 -ss 00:01:02 -t 5 -codec copy 2.mp4
ffmpeg -i xxx.mp4 -ss 00:02:02 -t 5 -codec copy 3.mp4
ffmpeg -i 1.mp4 -codec copy -vbsf h264_mp4toannexb 1.ts
ffmpeg -i 2.mp4 -codec copy -vbsf h264_mp4toannexb 2.ts
ffmpeg -i 3.mp4 -codec copy -vbsf h264_mp4toannexb 3.ts
ffmpeg -i 1.mp4 -codec copy 1.flv
ffmpeg -i 2.mp4 -codec copy 2.flv
ffmpeg -i 3.mp4 -codec copy 3.flv
如果格式不一致,建议加上参数 -vcodec libx264 -acodec aac 将格式转为一致。(这里针对的是MP4,如果是其他格式需要转相应的格式)
ffmpeg -i xxx.mp4 -ss 00:02:02 -t 5 -vcodec libx264 -acodec aac x.mp4
另外,新建3个txt文件,写下 file '文件名.格式' 字样用于视频合并,如下图:
2.视频拼接
(1).以mp4格式拼接
ffmpeg -f concat -i mp4list.txt -codec copy out_mp4.mp4
(2).以ts格式拼接
ffmpeg -i "concat:1.ts|2.ts|3.ts" -codec copy out_ts.ts # 方式一
ffmpeg -f concat -i tslist.txt -codec copy out_ts.ts # 方式二
推荐使用方式二进行拼接。
(3).以flv格式拼接
ffmpeg -f concat -i flvlist.txt -codec copy out_flv.flv
推荐将视频都转为ts格式后在进行拼接,且都推荐使用方式二进行拼接!
3.注意事项
(1).统一封装格式,把每个视频的封装封装格式统一为 ts ,然后拼接输出的格式可以指定需要的格式,例如 .mp4或者flv等。
(2).分辨率可以不同,但是编码格式需要统一;
(3).音频编码格式需要统一,音频参数(采样率、声道等)也需要统一。
十、图片和视频互转
1.截取一张图片
ffmpeg -i xxx.mp4 -y -f image2 -ss 00:01:15 -vframes 1 -s 1280x720 test.jpg
ffmpeg -i xxx.mp4 -y -f image2 -ss 00:03:04 -vframes 1 -s 640x360 test.bmp
参数说明:
-f 设置格式
iamge2 一种图片格式
-vframes 帧数,如果设置的值是大于1,那么输出图片的时候,名字需要加上 %2d ,这是C语言的格式,表示两位数字。例如,frame%3d.jpg,输出值范围是 frame001.jpg - frame300.jpg。注意,这样写并不是输出300张照片,多少张照片是依据输出秒数和帧数而定。
-ss 起始时间
-s 图片大小
2.截取多张图片(一帧一张图)
ffmpeg -i xxx.mp4 -t 10 -ss 00:00:05 -s 1280x720 -r 20 frame%003d.jpg
会截取200张图片,名字为 frame001.jpg - frame200.jpg
3.图片转为视频
ffmpeg -f image2 -i frame%003d.jpg -r 25 video.mp4
也是需要使用C语言格式指定输入多张图片
4.视频生成gif
ffmpeg -i xxx.mp4 -t 10 -r 30 -ss 00:00:10 -s 1280x720 image.gif
可以使用 -t 指定时间长度,-ss 指定起始位置, -r 帧数,-s 画面大小
转后缩减内存大小:
ffmpeg -i xxx.mp4 -vf "fps=8,scale=640:-1:flags=lanczos" -f gif -t 9 output.gif
-
-vf
表示视频过滤器。 -
fps=8
表示将帧率降低到每秒8帧。 -
scale=640:-1:flags=lanczos
表示将输出的分辨率宽度缩小到640
像素,高度自动调整以保持宽高比,使用Lanczos插值算法来平滑缩放。 -
-t 表示设置时长
5.gif转为视频
ffmpeg -f gif -i image.gif vimage.mp4
主要需要加上 -f gif 参数
十一、FFmpeg 视频录制
需要安装软件:Screen Capturer Recorder
下载链接:Screen Capturer Recorder
下载后直接安装即可!
Screen Capturer Recorder是一款功能强大的屏幕录像录音工具,它可以对桌面进行录制,对声音进行录制,对于学习还是很有帮助的。
使用命令查看电脑录屏设备
ffmpeg -list_devices true -f dshow -i dummy
USB2.0 HD UVC WebCam 这个是我笔记本的摄像头,用于录制视像头的画面的
screen-capture-recorder 刚才安装的屏幕捕获器,用于录制屏幕画面的
楹﹀厠椋?(Realtek High Definition Audio) 这个是录制麦克风声音的,乱码是“麦克风”,问号是“空格”,单纯使用这个录制的声音是没有系统声音的【麦克风 (Realtek High Definition Audio)】
virtual-audio-capturer 录制系统声音,单纯使用这个录制声音是没有麦克风录制的声音的
1.基础录制(默认参数)
(1).录制视频
①录制桌面
ffmpeg -f dshow -i video="screen-capture-recorder" -y out.flv
②录制摄像头(注意替换自己摄像头名字)
ffmpeg -f dshow -i video="USB2.0 HD UVC WebCam" out2.flv
(2).录制声音
①录制系统声音 (注意替换自己设备的名字)
ffmpeg -f dshow -i audio="virtual-audio-capturer" -y out.aac
②录制麦克风声音 (注意替换自己设备的名字)
ffmpeg -f dshow -i audio="麦克风 (Realtek High Definition Audio)" -y out.aac
③录制系统声音和麦克风声音(注意替换自己设备的名字)
ffmpeg -f dshow -i audio="麦克风 (Realtek High Definition Audio)" -f dshow -