【问题标题】:gstreamer: delay stream relative to othersgstreamer:相对于其他延迟流
【发布时间】:2014-11-06 22:52:11
【问题描述】:

我有一个包含各种流的 gstreamer 管道,我需要延迟其中一个,以便它们同步。

流是实时捕获的,在实际捕获之前有一些预处理,这会给流增加不同的延迟,因此它们到达计算机时不同步,gstreamer 的内部同步也无济于事;我正在尝试重新同步它们。

我尝试使用 queuemin-threshold-time 属性提到的 here 的技巧,但这没有帮助,因为管道仍将根据其时间戳同步所有缓冲区 - 所以整个管道会延迟,而不是只是一个流。

我当前的管道如下所示:

+-----------+
|decklinksrc|
+-----------+
     |
     V
  +------+
  |tee   |
  +------+
     |  |                     +-------------+
     |  +-------------------> | xvimagesink |
     V                        +-------------+
  +-----+
  |queue|
  +-----+
     |
     V                    +------------+
  +-------+               |jackaudiosrc|
  |x264env|               +------------+
  +-------+                     |
     |                          V
     V                       +-----+
  +---------+                |faac |
  |h264parse|                +-----+
  +---------+                   |
     |                          V
     V                      +--------+
  +-----+                   |aacparse|
  |queue|                   +--------+
  +-----+                       |
     |    +---------------------+
     V    V
  +----------+
  |flvmux    |
  +----------+
     |
     V
  +-----+
  |queue|
  +-----+
     |
     V
  +---------+
  |rtmpsink |
  +---------+

由于我目前只尝试延迟视频流,我还尝试使用 frei0r-filter-delay0r 元素(它包装了 frei0r 视频延迟插件),但这仅适用于 @987654326 @-video(我的是YUY2),转换成本太高。

认为我需要一个元素来为它接收到的任何缓冲区的时间戳添加(或减去)偏移量,但还没有找到这样的东西。

【问题讨论】:

    标签: synchronization delay gstreamer


    【解决方案1】:

    一些接收器元素具有渲染延迟属性。可以用吗?

    编辑:您还可以尝试使用 sleep-time 属性的标识元素:

    identity sleep-time=25000
    

    Edit2:还要确保两个管道都有一个“队列”元素,连接到“tee”元素。

    tee name=t ! queue ! x264 ! ...
    t. ! queue ! xvimagesink
    

    如果没有看到或没有更多的日志记录细节,很难知道口吃的原因。

    【讨论】:

    • 我不这么认为。流(其中一个我需要延迟)在发送到接收器之前被混合。
    • 那么你的管道的要点是什么?多少输入,多少输出?你能查出来吗?
    • 将我的管道截图添加到问题中。我想推迟 decklinksrc 的内容。
    • 那么您希望 xvimagesink 和 rtmpsink 延迟相同的数量吗?您是从命令行还是应用程序运行它?
    • xvimagesink 仅用于监视/检查信号(我并不特别关心延迟它)。管道是从一个用 python 编写的 qt 应用程序运行的。
    猜你喜欢
    • 2021-11-23
    • 2015-12-28
    • 2017-04-04
    • 2011-01-23
    • 2023-01-18
    • 2014-06-03
    • 1970-01-01
    • 1970-01-01
    • 2018-04-11
    相关资源
    最近更新 更多