AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / computer / 问题 / 1892496
Accepted
Glyn Davies
Glyn Davies
Asked: 2025-04-17 03:32:18 +0800 CST2025-04-17 03:32:18 +0800 CST 2025-04-17 03:32:18 +0800 CST

在 Windows 11 上使用 libx264rgb 编解码器进行屏幕录制

  • 772

我正在尝试使用 ffmpeg 在 Win11 上录制我的游戏屏幕,方法如下:

ffmpeg -f gdigrab -framerate 20 -c:v libx264rgb -crf 0 -preset ultrafast -color_range 2 -offset_x 0 -offset_y 0 -video_size 1920x1080 -i desktop -show_region 1 C:\Action!\Video\output.mkv

我在 ffmpeg 信息后收到一条错误消息,内容为:
未知解码器“libx264rgb”
错误打开输入文件桌面。
错误打开输入文件:未找到解码器

从信息来看,ffmpeg 似乎已经使用 libx264rgb 支持进行了编译:

ffmpeg 版本 N-118007-g2f95bc3cb3-20241204 版权所有 (c) 2000-2024 FFmpeg 开发人员使用 gcc 14.2.0(crosstool-NG 1.26.0.120_4d36f27)构建配置:--prefix=/ffbuild/prefix --pkg-config-flags=--static --pkg-config=pkg-config --cross-prefix=x86_64-w64-mingw32- --arch=x86_64 --target-os=mingw32 --enable-gpl --enable-version3 --disable-debug --disable-w32threads --enable-pthreads --enable-iconv --enable-zlib --enable-libfreetype --enable-libfribidi --enable-gmp --enable-libxml2 --enable-lzma --启用字体配置 --启用 libharfbuzz --启用 libvorbis --启用 opencl --禁用 libpulse --启用 libvmaf --禁用 libxcb --禁用 xlib --启用 amf --启用 libaom --启用 libaribb24 --启用 avisynth --启用 chromaprint --启用 libdav1d --启用 libdavs2 --启用 libdvdread --启用 libdvdnav --禁用 libfdk-aac --启用 ffnvcodec --启用 cuda-llvm --启用 frei0r --启用 libgme --启用 libkvazaar --启用 libaribcaption --启用 libass --启用 libbluray --启用 libjxl --启用 libmp3lame --启用 libopus --启用 librist --启用 libssh --启用 libtheora --启用 libvpx --启用 libwebp --启用 libzmq --启用 lv2 --启用 libvpl --启用 openal --启用 libopencore-amrnb --启用 libopencore-amrwb --启用 libopenh264 --启用 libopenjpeg --启用 libopenmpt --启用 librav1e --启用 librubberband --启用 schannel --启用 sdl2 --启用 libsoxr --启用 libsrt --启用 libsvtav1 --启用 libtwolame --启用 libbuavs3d --禁用 libdrm --启用 vaapi --启用 libvidstab --启用 vulkan --启用 libshaderc --启用 libplacebo --启用 libvvenc --启用 libx264 --启用 libx265 --enable-libxavs2 --enable-libxvid --enable-libzimg --enable-libzvbi --extra-cflags=-DLIBTWOLAME_STATIC --extra-cxxflags= --extra-libs=-lgomp --extra-ldflags=-pthread --extra-ldexeflags= --cc=x86_64-w64-mingw32-gcc --cxx=x86_64-w64-mingw32-g++ --ar=x86_64-w64-mingw32-gcc-ar --ranlib=x86_64-w64-mingw32-gcc-ranlib --nm=x86_64-w64-mingw32-gcc-nm --extra-version=20241204 libavutil 59. 47.101 / 59. 47.101 libavcodec 61. 26.100 / 61. 26.100 libavformat 61. 9.100 / 61. 9.100 libavdevice 61. 4.100 / 61. 4.100 libavfilter 10. 6.101 / 10. 6.101 libswscale 8. 12.100 / 8. 12.100 libswresample 5. 4.100 / 5. 4.100 libpostproc 58. 4.100 / 58. 4.100

运行“ffmpeg -codecs”后,我确实看到了以下行:
DEV.LS h264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10(解码器:h264 h264_qsv libopenh264 h264_cuvid)(编码器:libx264 libx264rgb libopenh264 h264_amf h264_mf h264_nvenc h264_qsv h264_vaapi h264_vulkan)

如果我使用以下方法ffmpeg -f gdigrab -framerate 20 -i desktop C:\Action!\Video\output.mkv,它可以正常工作,但是在观察帧速率时,它并没有达到 20fps,所以我想使用更快/更高效的编码选项来减少开销......

我在装有 Intel HD Graphics 620 显卡的笔记本电脑上对此进行了测试,然后再转移到装有 Nvidia 显卡的台式机上。

非常感谢
Glyn

------------- 编辑 -------------
错误信息已整理,感谢关于调整部分内容顺序的信息。然而,它并没有达到 25fps 的水平,而且丢帧了:

Duration: N/A, start: 1745794842.477476, bitrate: 1658890 kb/s Stream #0:0: Video: bmp, bgra, 1920x1080, 1658890 kb/s, 25 fps, 1000k tbr, 1000k tbn Stream mapping: Stream #0:0 -> #0:0 (bmp (native) -> h264 (libx264rgb)) Press [q] to stop, [?] for help [libx264rgb @ 000002943760d9c0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2 [libx264rgb @ 000002943760d9c0] profile High 4:4:4 Predictive, level 4.0, 4:4:4, 8-bit [libx264rgb @ 000002943760d9c0] 64 - core 164 - H.264/MPEG-4 AVC codec - Copyleft 2003-2024 - http://www.videolan.org/x264.html - options: cabac=0 ref=1 deblock=0:0:0 analyse=0:0 me=dia subme=0 psy=0 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=0 chroma_qp_offset=0 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=0 keyint=250 keyint_min=25 scenecut=0 intra_refresh=0 rc=cqp mbtree=0 qp=0 Output #0, matroska, to 'C:\Action!\Video\output.mkv': Metadata: encoder : Lavf61.9.100 Stream #0:0: Video: h264 (H264 / 0x34363248), rgb24(pc, gbr/unknown/unknown, progressive), 1920x1080, q=2-31, 25 fps, 1k tbn Metadata: encoder : Lavc61.26.100 libx264rgb Side data: cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A frame= 372 fps= 24 q=0.0 size= 3072KiB time=00:00:15.20 bitrate=1655.6kbits/s dup=0 drop=7 speed=0.982x

我认为使用 lib264rgb 编码器会更有效率...

Cheers Glyn

ffmpeg
  • 1 1 个回答
  • 68 Views

1 个回答

  • Voted
  1. Best Answer
    Gyan
    2025-04-17T12:30:21+08:002025-04-17T12:30:21+08:00

    移至-c:v libx264rgb -crf 0 -preset ultrafast -color_range 2之后-i desktop。
    移至-show_region 1之前。

    • 1

相关问题

  • -map_metadata 抓取多个音频流元数据

  • 最低比特率 ffmpeg 输出的编解码器和设置

  • 如何用ffmpeg 2.0.2保存TS视频流?

  • 快速提取 I 帧到图像

  • 压缩视频可以解码回未压缩的原始格式吗?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何减少“vmmem”进程的消耗?

    • 11 个回答
  • Marko Smith

    从 Microsoft Stream 下载视频

    • 4 个回答
  • Marko Smith

    Google Chrome DevTools 无法解析 SourceMap:chrome-extension

    • 6 个回答
  • Marko Smith

    Windows 照片查看器因为内存不足而无法运行?

    • 5 个回答
  • Marko Smith

    支持结束后如何激活 WindowsXP?

    • 6 个回答
  • Marko Smith

    远程桌面间歇性冻结

    • 7 个回答
  • Marko Smith

    子网掩码 /32 是什么意思?

    • 6 个回答
  • Marko Smith

    鼠标指针在 Windows 中按下的箭头键上移动?

    • 1 个回答
  • Marko Smith

    VirtualBox 无法以 VERR_NEM_VM_CREATE_FAILED 启动

    • 8 个回答
  • Marko Smith

    应用程序不会出现在 MacBook 的摄像头和麦克风隐私设置中

    • 5 个回答
  • Martin Hope
    Vickel Firefox 不再允许粘贴到 WhatsApp 网页中? 2023-08-18 05:04:35 +0800 CST
  • Martin Hope
    Saaru Lindestøkke 为什么使用 Python 的 tar 库时 tar.xz 文件比 macOS tar 小 15 倍? 2021-03-14 09:37:48 +0800 CST
  • Martin Hope
    CiaranWelsh 如何减少“vmmem”进程的消耗? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Windows 10 搜索未加载,显示空白窗口 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    andre_ss6 远程桌面间歇性冻结 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney 为什么在 URL 后面加一个点会删除登录信息? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension 鼠标指针在 Windows 中按下的箭头键上移动? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca 我所有的 Firefox 附加组件突然被禁用了,我该如何重新启用它们? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK 是否可以使用文本创建二维码? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 更改 git init 默认分支名称 2019-04-01 06:16:56 +0800 CST

热门标签

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve