穆晶波 2025-08-02 16:55 采纳率: 98.5%
浏览 8
已采纳

如何使用ShareX调用FFmpeg进行屏幕录制?

**如何在ShareX中配置FFmpeg进行高效屏幕录制?** ShareX 默认使用内置的屏幕录制功能,但其画质和性能往往不如 FFmpeg。如何正确配置 ShareX 调用外部 FFmpeg 实现更高质量的录屏?用户常遇到 FFmpeg 路径设置错误、参数配置不当、录制区域不准确或音频不同步等问题。此外,如何设置快捷键启动 FFmpeg 录制、如何指定视频编码、帧率、音频输入源等参数也是常见难点。掌握这些配置要点,有助于提升录制效率与输出质量,适用于游戏、教程、演示等场景。
  • 写回答

1条回答 默认 最新

  • ScandalRafflesia 2025-08-02 16:55
    关注

    如何在ShareX中配置FFmpeg进行高效屏幕录制?

    ShareX 是一款功能强大的截图与屏幕录制工具,其默认的屏幕录制方式虽然简单易用,但在画质、性能和自定义方面往往无法满足专业用户的需求。FFmpeg 作为开源的多媒体处理工具,具备更高的编码效率和更强的自定义能力。本文将详细介绍如何在 ShareX 中配置 FFmpeg 实现高效屏幕录制。

    1. 环境准备

    在开始配置之前,确保你已完成以下准备工作:

    • 安装最新版本的 ShareX
    • 下载并配置好 FFmpeg,将其添加到系统环境变量中
    • 确认系统支持 FFmpeg 的视频编码器(如 x264、x265)
    软件版本建议备注
    ShareXv13.5 或更高支持外部录制脚本
    FFmpeg6.0 或更高推荐使用完整构建版本

    2. 配置 FFmpeg 路径

    进入 ShareX 设置界面,找到“屏幕录制”选项卡,点击“外部录制”部分:

    1. 勾选“启用外部录制”
    2. 在“录制命令”中填写 FFmpeg 的可执行路径,如:C:\ffmpeg\bin\ffmpeg.exe
    3. 在“录制参数”中填写 FFmpeg 命令行参数(见下节)

    3. FFmpeg 录制参数详解

    以下是一个完整的 FFmpeg 录制命令示例,适用于 Windows 系统:

    
    -f gdigrab -framerate 30 -offset_x {x} -offset_y {y} -video_size {width}x{height} -i desktop 
    -c:v libx264 -preset ultrafast -crf 23 -pix_fmt yuv420p 
    -f dshow -i audio=麦克风 (Realtek High Definition Audio) 
    -c:a aac -b:a 192k 
    "{outputPath}\{filename}.mp4"
    
    • -f gdigrab:指定屏幕捕获设备
    • -framerate 30:设置帧率为 30 FPS
    • -offset_x / -offset_y:设置录制区域左上角坐标
    • -video_size:设置录制区域宽高
    • -c:v libx264:使用 H.264 编码器
    • -crf 23:控制视频质量(值越小画质越高)
    • -f dshow -i audio=...:指定音频输入源(需根据系统设备名称调整)
    • -c:a aac -b:a 192k:音频编码与比特率

    4. 快捷键设置与录制区域

    ShareX 支持自定义快捷键启动录制。进入“热键”选项卡,为“开始/停止外部录制”分配快捷键(如 Ctrl + Shift + R)。

    若需指定录制区域,可在“区域选择”中设置默认区域,或使用“自定义区域”功能。ShareX 支持将区域坐标动态传入 FFmpeg 命令中(如 {x}, {y}, {width}, {height})。

    5. 常见问题与解决方法

    graph TD A[FFmpeg路径错误] --> B[检查环境变量或完整路径] C[音频不同步] --> D[调整音频输入参数或使用async=1] E[录制区域不准] --> F[确认区域坐标参数是否正确] G[输出文件损坏] --> H[检查磁盘空间或编码器兼容性]
    • 路径问题:确保 FFmpeg 可执行文件路径正确,推荐使用绝对路径
    • 音频问题:尝试使用 -async 1 参数同步音频流
    • 区域问题:使用 -offset_x-offset_y 精确控制区域
    • 编码问题:确保输出格式支持所选编码器(如 MP4 支持 H.264)

    6. 高级技巧:脚本化自动化

    可通过编写 PowerShell 或 Batch 脚本,将 FFmpeg 命令封装,并在 ShareX 中调用该脚本,实现更复杂的录制逻辑,如自动命名、日志记录、多路音轨选择等。

    
    @echo off
    set FFmpegPath=C:\ffmpeg\bin\ffmpeg.exe
    set OutputPath=C:\Recordings
    %FFmpegPath% -f gdigrab -framerate 30 -i desktop -c:v libx264 -preset ultrafast -crf 23 -pix_fmt yuv420p -f dshow -i audio=麦克风 ^ 
    -c:a aac -b:a 192k "%OutputPath%\recording_%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%%time:~6,2%.mp4"
    

    在 ShareX 中将“录制命令”指向该脚本,即可实现自动命名与路径管理。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已采纳回答 10月23日
  • 创建了问题 8月2日