使用 FFMPEG 实现录屏和录音

        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 键。

在 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指定输出文件名
在 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

 

5. FFmpeg 剪辑:截取合并

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

录制屏幕的部分区域:

"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

 

 

                                                                 老徐,2024/4/23

相关推荐

  1. 使用FFmpeg进行

    2024-04-24 01:48:03       41 阅读
  2. ubuntu使用ffmpeg(播放黑问题解决)

    2024-04-24 01:48:03       41 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-24 01:48:03       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-24 01:48:03       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-24 01:48:03       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-24 01:48:03       18 阅读

热门阅读

  1. SHELL脚本编程----ps分析-统计VSZ,RSS各自总和

    2024-04-24 01:48:03       13 阅读
  2. 西瓜书学习——对数几率回归

    2024-04-24 01:48:03       46 阅读
  3. 人工智能对数据分析领域的影响是什么?

    2024-04-24 01:48:03       48 阅读
  4. OpenXR手部跟踪接口与VIVE OpenXR扩展详细解析

    2024-04-24 01:48:03       31 阅读
  5. logback添加日志行号

    2024-04-24 01:48:03       9 阅读
  6. Leetcode 410 分割数组

    2024-04-24 01:48:03       9 阅读
  7. Linux中返回值0值与非零值问题

    2024-04-24 01:48:03       13 阅读
  8. vue3第二十二节(defineOptions用途)

    2024-04-24 01:48:03       11 阅读
  9. 24.4.20 蚂蚁笔试(开发)a1.09

    2024-04-24 01:48:03       12 阅读
  10. __init__与args

    2024-04-24 01:48:03       12 阅读