如何“开球”输出 /dev/videox 设备,以便两个程序可以同时使用实时视频流?
我想一次将实时视频从 /dev/video1:input=1:norm=NTSC 发送到两个程序(mplayer 和 mencoder),以便在 mencoder 录制的同时获得不延迟的实时视图。
我知道如何从 mencoder 获取刚刚编码的输出并播放它,但这会引入几帧的延迟(太多)。我被告知 VLC 可以做到这一点,但也并非没有明显的滞后。
我现在能做的最好的就是让 mplayer 将其播放到屏幕上,同时使用“avconv -f x11grab”从显示器上抓取视频并对其进行编码。这行得通(它不会增加延迟),但从显示器上抓取视频很慢 - 我最终得到大约 10 fps 而不是 30 fps。
必须有一些直接的方法将 /dev/video1 “tee”到两个虚拟设备中,以便 mplayer 和 mencoder 可以同时读取它们(其中没有一个抱怨设备“忙”)。
那是什么方法?