用ffmpeg录制桌面录像的方法

求助解决的问题:

1.ffmpeg有没有暂停和继续录制 这个功能?(已解决,在cmd界面点击左键即可暂停,右键继续)
2.能否在录屏的时候显示实时的时间水印?
3.想让output.mp4 的名字改为以结束时间命名, 如20210326 1821.mp4.(已解决,6楼)


在shareX偶然发现用ffmpeg录制屏幕的命令,试了一下效果还行.
这行命令 只能 录制麦克风,请问如何 能同时录制麦克风和扬声器的声音?
有没有暂停 和继续录制的操作?
附命令行:
-rtbufsize 150M -f gdigrab -framerate 30 -offset_x 0 -offset_y 0 -video_size 1366x768 -draw_mouse 1 -i desktop -f dshow -i audio=“麦克风 (Realtek High Definition Audio)” -c:v libx264 -r 30 -preset ultrafast -tune zerolatency -crf 28 -pix_fmt yuv420p -movflags +faststart -c:a aac -ac 2 -b:a 128k -y “output.mp4”


经过筛选网友热心分享.我总结了ffmpeg录屏及音频内录外录的命令,这个命令可以自定义录制区域,可以录像录声卡和麦的声音,除了不能暂停及继续外,很完美了,停止录制按q键,或者ctrl+c:

ffmpeg -f gdigrab -framerate 30 -offset_x 0 -offset_y 13 -video_size 1366x726 -draw_mouse 1 -i desktop -f dshow -i audio=“麦克风 (Realtek High Definition Audio)” -f dshow -i audio=“virtual-audio-capturer” -filter_complex amix=inputs=2:duration=first:dropout_transition=2 -c:v libx264 -r 5 -preset ultrafast -tune zerolatency -crf 32 -pix_fmt yuv420p -movflags +faststart -c:a aac -ac 2 -b:a 64k “output.mp4”

::-crf越小,越清晰但是越大,经测试32的比特率为300-500间
::offset_xy是指定坐标起点
::这个命令是把声卡和麦克风混合-filter_complex amix=inputs=2:duration=first:dropout_transition=2
::-r是帧率 -y 表示覆盖已有同名文件
::audio=要填本电脑的声卡名称.百度查如何找到该名称

1 个赞

shareX竟然还有这样的功能……

求助楼主!我尝试了一下命令行,很完美,但是如何结束录制?alt+c不行。强行关闭命令行窗口也不行~

按q,或者按ctrl+c.
请问,我想以当前时间作为文件名保存, 该怎么改这个命令 ?

我去试试,看好不好用

感谢一位热心群主,我的这个小愿望可以实现了,自动以时间命名了.

powershell -c “ffmpeg -f gdigrab -framerate 30 -offset_x 0 -offset_y 0 -video_size 1366x768 -draw_mouse 1 -i desktop -f dshow -i audio=‘麦克风 (Realtek High Definition Audio)’ -f dshow -i audio=“virtual-audio-capturer” -filter_complex amix=inputs=2:duration=first:dropout_transition=2 -c:v libx264 -r 10 -preset ultrafast -tune zerolatency -crf 32 -pix_fmt yuv420p -movflags +faststart -c:a aac -ac 2 -b:a 64k "$(Get-Date -Format ‘yyyy MMdd HHmm’).mp4"”