gpt4 book ai didi

video - ffmpeg录制的同时观看多流视频文件

转载 作者:行者123 更新时间:2023-12-04 23:07:45 24 4
gpt4 key购买 nike

我正在使用 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 命令来进行平铺,希望能举个例子。

最佳答案

这可以通过 TS 容器输出来完成。

ffmpeg \
-f v4l2 -i $cam0 \
-f v4l2 -i $cam1 \
-f v4l2 -i $cam2 \
-f v4l2 -i $cam3 \
-f mpegts \
-map 0 \
-map 1 \
-map 2 \
-map 3 \
-c copy \
$output.ts

并用于监控,
ffmpeg -sseof -3 -i $output.ts -map 0:v:0 -f sdl2 -

这将尝试根据 ffmpeg 解析文件时记录的持续时间从文件末尾查找 3 秒,并显示第一个流。播放前预计会有一些延迟,因为 ffmpeg 等待关键帧。

要组合所有四个流,您将添加堆栈过滤器,例如 xstack。

关于video - ffmpeg录制的同时观看多流视频文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59798770/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com