【发布时间】:2020-01-18 08:23:40
【问题描述】:
我正在使用 ffmpeg 同时录制四个 1080p 视频流,我想在录制时实时查看这些流。理想情况下,我想从一台单独的机器上查看它们,使用一些方便的 Linux 数据共享方法,如 ssh/sshfs/...,但这是一个不错的选择。有没有实用的方法来做到这一点?
我目前使用的ffmpeg录制命令是这样的:
ffmpeg \
-f v4l2 -i $cam0 \
-f v4l2 -i $cam1 \
-f v4l2 -i $cam2 \
-f v4l2 -i $cam3 \
-f matroska \
-map 0 \
-map 1 \
-map 2 \
-map 3 \
-c copy \
$output.mkv
如果我可以使用ffplay 或vlc 之类的命令来播放一个或多个视频流,始终跟踪接近流的末尾,当数据可用时播放更多视频,我的问题将得到解决。不过我还没有找到这样的选择。
另一种方法可能是让录制 ffmpeg 进程也将四个 1080p 视频平铺到一个 4K 网格中,然后通过管道传输到 ffplay。然后我至少可以在正在录制的同一台机器上预览。不过,我无法制定出正确的 ffmpeg 命令来进行平铺,希望能举个例子。
【问题讨论】:
-
不适用于 MKV 输出。
-
那么用不同的输出怎么样?如果有帮助的话,我什至愿意运行多个单独的 ffmpeg 进程。