小编nrd*_*dxp的帖子

使用 ffmpeg 的 kmsgrab 设备和叠加的网络摄像头记录 Linux Wayland/DRM 屏幕

设置是 Linux,ffmpeg 使用 kabylake iGPU。

我正在使用kmsgrab设备捕获正在运行的摇摆实例,这需要使用硬件后端在我的硬件上连贯地处理图像。只有 VA API 符合此要求。我想在编码过程中在右下角覆盖网络摄像头。然而,试图操纵过滤器图来实现这一点的尝试没有成功。这最终适用于 Twitch/Tube 流。

现在,我实际上是将网络摄像头捕获到 sdl 窗口,并使用单独的ffmpeg. 这实际上并没有解决我的问题,因为窗口很容易被工作区切换或其他窗口伪装。

这是解决方法:

#!/usr/bin/env zsh

# record webcam and open it in sdl window
ffmpeg -v quiet -hide_banner \
  -re -video_size 640X480 -hwaccel vaapi -vaapi_device /dev/dri/renderD128 -i /dev/video0 \
  -vf 'format=nv12,hwupload' -c:v hevc_vaapi -f hevc - \
  | ffmpeg -v quiet -i - -f sdl2 - &

# wait for webcam window to open
until swaymsg -t get_tree | grep 'pipe:' …
Run Code Online (Sandbox Code Playgroud)

youtube ffmpeg twitch vaapi

5
推荐指数
1
解决办法
3214
查看次数

标签 统计

ffmpeg ×1

twitch ×1

vaapi ×1

youtube ×1