ffmpeg 录制屏幕

1、ffmpeg 下载

  • 简介:
    FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。它包括了目前领先的音/视频编码库libavcodec。 FFmpeg是在 Linux 下开发出来的,但它可以在包括 Windows 在内的大多数操作系统中编译。这个项目是由 Fabrice Bellard 发起的,现在由 Michael Niedermayer 主持。可以轻易地实现多种视频格式之间的相互转换,例如可以将摄录下的视频avi等转成现在视频网站所采用的flv格式。

  • 官网地址:
    http://ffmpeg.org/

  • 代码地址:
    https://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2

在这里插入图片描述
这里我们下载ffmpeg的windows版编译后的程序。
在这里插入图片描述
在这里插入图片描述
https://github.com//BtbN/FFmpeg-Builds/releases/download/autobuild-2021-11-07-12-25/ffmpeg-N-104475-g1728127e8c-win64-lgpl-shared.zip

  • 配置环境变量

下载的文件解压之后,将ffmpeg.exe的路径在计算机的环境变量PATH里配置添加进去。
输入命令,输出ffmpeg的版本,测试是否配置成功。

ffmpeg -version

在这里插入图片描述

2、screen capture recorder 下载

  • 简介
    a free open source windows “screen capture” device and recorder (also allows VLC/ffmpeg and others to capture/stream desktop/audio).

ffmpeg本身并不具有屏录功能,但它可以采集其他设备的输入,这里就需要用到另一个开源软件Screen Capturer Recorder,这个东西把屏幕虚拟为一个DirectShow设备。虽然它的安装包挺大,其实真正有用的就里面的4个dll,也可以自己手动注册这几个dll。

3、ffmpeg 录屏命令

  • 只录制屏幕
ffmpeg -f dshow -i video="screen-capture-recorder" -pix_fmt yuv420p out.mp4
ffmpeg -f dshow -i video="screen-capture-recorder" output.mkv
ffmpeg -f gdigrab -framerate 30 -i desktop output.mkv
ffmpeg -f gdigrab -i desktop -f mp4 out.mp4
ffmpeg -f gdigrab -framerate 30 -offset_x 10 -offset_y 20 -video_size 640x480 -show_region 1 -i desktop output.mkv
ffmpeg -f gdigrab -framerate 30 -i title=Calculator output.mkv
ffmpeg -f gdigrab -framerate 30 -i desktop -c:v h264_nvenc -qp 0 output.mkv
ffmpeg -y -f gdigrab -framerate 30 -i desktop -pix_fmt yuv420p -c:v libx264 -f mp4 output.mp4
  • 只录制系统声音
ffmpeg -f dshow -i audio="virtual-audio-capturer" out.mp3
  • 同时录制屏幕+系统声音
ffmpeg -f dshow -i audio="virtual-audio-capturer":video="screen-capture-recorder" -pix_fmt yuv420p out.mp4
ffmpeg -f gdigrab -t 30 -framerate 15 -i desktop -f dshow -i audio="virtual-audio-capturer" -b:v 3M -pixel_format yuv420p -vcodec libx264 -s 1366x768 -y d:/test.flv
  • 同时录制屏幕+系统声音+麦克风
ffmpeg -f dshow -i audio="麦克风 (Realtek High Definition Audio)" -f dshow -i audio="virtual-audio-capturer" -filter_complex amix=inputs=2:duration=first:dropout_transition=0 -f dshow -i video="screen-capture-recorder" -pix_fmt yuv420p out.mp4
ffmpeg -f dshow -i video="screen-capture-recorder" -f dshow -i audio="virtual-audio-capturer" -pix_fmt yuv420p -vcodec libx264 -acodec libvo_aacenc -s 1280x720 -r 25 -q 10 -ar 44100 -ac 2 -tune zerolatency -preset ultrafast -f mpegts - | ffmpeg -f mpegts -i - -c copy -bsf:a aac_adtstoasc -f flv temp.flv  

4、ffmpeg 其他命令

  • 显示可用的设备
ffmpeg -list_devices true -f dshow -i dummy

在这里插入图片描述

  • 视频转换
ffmpeg -i d:out.mkv d:out.mp4
ffmpeng -i source.mp4 -c:v libx264 -crf 24 destination.flv
  • 视频剪切
ffmpeg -ss 00:00:15 -t 00:00:05 -i input.mp4 -vcodec copy -acodec copy output.mp4

后续

如果你觉得该方法或代码有一点点用处,可以给作者点个赞;╮( ̄▽ ̄)╭
如果你感觉方法或代码不咋地//(ㄒoㄒ)//,就在评论处留言,作者继续改进。o_O???
谢谢各位童鞋们啦( ´ ▽´ )ノ ( ´ ▽´ )っ!!!

Guess you like

Origin blog.csdn.net/hhy321/article/details/121205424