FFmpeg 是一个非常强大的开源工具,可以用来处理音频和视频。可以实现录屏和录音,也可以进行简单的剪辑。

        要使用 FFmpeg 进行录屏和录音,需要首先确保系统已经安装了 FFmpeg。在大多数 Linux 发行版中,可以通过包管理器(如 apt 或 yum)来安装。在 Windows 或 Mac 上,需要从 FFmpeg 的官方网站下载并安装。

1. 录屏

        使用 FFmpeg 进行录屏,可以使用 ffmpeg 命令配合 -f x11grab(在 Linux 下)或 -f gdigrab(在 Windows 下)选项。

在 Windows 下录屏:

打开命令行工具,输入以下命令,开始录制整个桌面:

ffmpeg -f gdigrab -framerate 30 -i desktop output.mp4

其中:

  • -f gdigrab指定输入设备为屏幕
  • -framerate 30 指定帧率为 30 fps
  • -i desktop 指定输入设备为屏幕
  • output.mp4 指定输出文件名

        要停止录屏,可以按下 Ctrl+C 键。

录制某个窗口,输入以下命令:

ffmpeg -f gdigrab -framerate 30 -i title=ffmpeg output.mp4

录制带偏移量的某个窗口,输入以下命令:

ffmpeg -f gdigrab -framerate 30 -offset_x 50 -offset_y 50 -video_size 400x400 -i title=ffmpeg output.mp4

在 Linux 下录屏:

ffmpeg -f x11grab -s 1920x1080 -r 30 -i :0.0 -c:v libx264 -preset veryfast output.mp4

这个命令会从屏幕的左上角(:0.0)开始,以 1920x1080 的分辨率,30 帧每秒的速度进行录屏,并使用 H.264 编码(libx264)保存为 output.mp4。

2. 录音

要使用 FFmpeg 进行录音,可以使用 ffmpeg 命令配合 -f alsa(在 Linux 下)或 -f dshow(在 Windows 下)选项。

在 Windows 下录音:

打开命令行工具,输入以下命令,开始录音:

ffmpeg -f dshow -i audio="Stereo Mix" output.wav

其中:

  • -f dshow 指定输入设备为 DirectShow 音频设备
  • -i audio="Stereo Mix" 指定输入设备为 Stereo Mix 音频设备(根据实际情况修改)
  • output.wav指定输出文件名

如果不确定系统有哪些可用音视频设备,可以使用下面的命令来查看:
ffmpeg -list_devices true -f dshow -i dummy

在 Linux 下录音:

ffmpeg -f alsa -i hw:0 output.wav

这个命令会从默认的音频设备(hw:0)开始录音,并保存为 WAV 格式的 output.wav 文件。

3. 同时录屏和录音

要同时录屏和录音,你可以使用 FFmpeg的映射(mapping)功能。

在 Windows 下录屏录音:

ffmpeg -f gdigrab -framerate 30 -i desktop -f dshow -i audio="Stereo Mix" output.mp4

在 Linux 下录屏录音:

ffmpeg -f x11grab -s 1920x1080 -r 30 -i :0.0 -f alsa -i hw:0 -c:v libx264 -preset veryfast -c:a aac -strict experimental output.mp4

这个命令会同时从屏幕的左上角(:0.0)和默认的音频设备(hw:0)开始,以 1920x1080 的分辨率,30 帧每秒的速度进行录屏和录音,并使用 H.264 编码(libx264)和 AAC 编码(aac)保存为output.mp4。

4. FFmpeg 加文字水印

使用 FFmpeg 添加文字水印是一个常见的需求。

ffmpeg -i output001.MP4 -vf "drawtext=fontfile=msyh.ttc:text='老徐AI':fontsize=17:fontcolor=white:x=50:y=360" output002.mp4

给文字水印增加一个框:

ffmpeg -i output001.MP4 -vf "drawtext=fontfile=msyh.ttc:text='ffmpeg':fontsize=17:fontcolor=white:x=50:y=360:box=1:boxcolor=yellow" output002.mp4

5. FFmpeg 剪辑:截取合并

使用 FFmpeg 可以对视频音频进行截取合并等基本的剪辑工作。

使用 Screen Capturer Recorder 录制屏幕的部分区域:

"D:\Screen Capturer Recorder\configuration_setup_utility\vendor\ffmpeg\bin\ffmpeg" -f dshow -i audio="virtual-audio-capturer":video="screen-capture-recorder" -vf crop=720:408:312:415   -crf 16 -y output.mp4

从 2s 开始截取 29s 的长度:

ffmpeg -i output.mp4 -ss 00:00:2 -t 00:00:29 output1.mp4

合并两个文件:

ffmpeg -i output1.mp4 -i output2.mp4 -c:v copy -c:a aac -strict experimental output.mp4

FFmpeg 更加具体和详细的使用方法可以查看帮助:

ffmpeg -h 和 ffmpeg -h full。

                                                                                         老徐,2024/4/23

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐