我想使用ffmpeg捕获到达rtp协议的多个实时视频流。当我通过发出ffmpeg <command line parameters>
命令启动录制时,建立连接并开始实际录制总是需要一段时间。在某些情况下,这可能超过2秒,这会在重播时产生恒定的时间差。
如何从ffmpeg中提取包含第一个实际记录帧时间的信息?如果在没有编辑源代码的情况下使用ffmpeg是不可能的(我做了,并且由于其他原因而想避免),是否有可以使用的类似的多平台开源工具?
答案 0 :(得分:0)
不费吹灰之力就不可能。使用类似live555的东西捕获你的流。所有源都必须使用ntp同步到一个时钟,然后可以在接收器端使用rtp时间戳来同步各种流。这并非易事,而是用于视频会议系统。我不知道有任何自由实施。
如果你无法控制来源,那么你就不走运了,因为在整个流中没有共同的基准时间。如果这样做,您仍然需要使用流和ntp时钟上的时间戳修改live555和播放器以进行同步。就像我说的,不是微不足道的。
也许gstreamer可能已经有了它的插件,因为我使用它已经有一段时间了,所以我不确定。你可以看看那里。 (gstreamer.net)。