2013-12-10 67 views
0

我想捕獲多個實時視頻流到達rtp協議,使用ffmpeg。當我開始錄製時,通過發出ffmpeg <command line parameters>命令,始終需要一段時間才能建立連接並開始實際錄製。在某些情況下,這可能會超過2秒,這會在重放時導致持續的時間差。ffmpeg捕獲流同步

如何從ffmpeg中提取包含第一個實際記錄幀的時間的信息?如果ffmpeg無法編輯源代碼(我曾這麼做過,並且希望避免其他原因),那麼是否還有類似的多平臺開源工具可用?

回答

0

不可能在你身邊努力。使用像live555這樣的東西來捕捉你的流。所有的信號源必須使用ntp同步到一個時鐘,然後可以在接收器端使用rtp時間戳來同步各種數據流。這不是微不足道的,並用於視頻會議系統。我不知道有相同的免費實施。

如果您無法控制源代碼,那麼您運氣不佳,因爲在這些流中不存在公共基準時間等問題。如果你這樣做,你仍然需要修改live555和你的播放器來使用流和ntp時鐘上的時間戳進行同步。就像我說的,不是微不足道的。

也許gstreamer可能已經有它的插件,它已經有一段時間,因爲我用它,所以我不知道。你可以看看那裏。 (gstreamer.net)。

+0

我明白了,謝謝!實際上流媒體服務器的絕對時間同步對我來說並不那麼重要:如果我知道數據流開始記錄的時間就足夠了,因爲我將它們記錄在同一臺PC上,並且播放器已經支持重播之間的初始增量時間差視頻。 – Mkoch