ssh 到远程 Linux 桌面机器上运行 ffmpeg kmsgrab 会失败,这个大家有遇到过吗?

161 天前
 wuruxu
ffmpeg -device /dev/dri/card0 -f kmsgrab -i - -vf 'hwmap=derive_device=vaapi,scale_vaapi=w=1920:h=1080:format=nv12' -c:v h264_vaapi -y  output.mkv

我在本地运行都是正常的,每次都是正常的,没有问题
但是 ssh 到远程的 Linux 桌面机器上,偶尔有一两次成功,其他的都是失败
这个问题好奇怪,报错信息如下:

[in#0 @ 0x565189901740] Error opening input: Invalid argument
Error opening input file -.
Error opening input files: Invalid argument
908 次点击
所在节点    Linux
7 条回复
mujia
160 天前
这个看起来是你参数问题啊
wuruxu
160 天前
@mujia 本机运行也没有问题,在远端的机器,偶尔有几次也正常的,觉得参数应该是对的
mujia
160 天前
@wuruxu 那你得看看版本或者环境是否一致了,否则一样的命令,一样的版本不可能出错的
wuruxu
160 天前
@mujia 版本都是一样的,就是一个是通过 ssh 过去运行的
mujia
160 天前
@wuruxu 我搜了一下 kmsgrab ,是跟显示有点关系把,嵌入式的图形界面是不能在 ssh 里面输命令启动的,可能跟这个有关系。
ysc3839
160 天前
试过 root 运行吗?
kuanat
158 天前
本来想回复有可能是 headless 导致的,结果看到你已经找到答案了。

虽然 ssh 环境不能访问键盘鼠标显示器这些远程设备,但是 kmsgrab 这种访问 dri 还是可以的,包括很多 headless 环境访问显卡也是一个道理。

如果你需要在无头环境下或者远程主机无输出的环境下录屏,Gnome 新版本身支持创建虚拟显示器(主要是为 gnome 那个 rdp 实现服务的),让远程主机输出到这个虚拟显示器就可以了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1049357

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX