【问题标题】:remultiplexing a stream with gstreamer stops in PREROLLING使用 gstreamer 重新多路复用流在 PREROLLING 中停止
【发布时间】:2012-10-10 14:05:27
【问题描述】:

我正在尝试使用 gstreamer 重新复用快速电影(视频/jpeg、音频/mpeg)。

gst-launch filesrc location="${INFILE}" \
 ! qtdemux name=demux \
 ! queue \
 ! qtmux name=mux \
 ! filesink location="${OUTFILE}" \
 demux.audio_00 \
 ! queue \
 ! mux.audio_0

不幸的是,这个管道没有启动(它启动了 PREROLLING 然后等待)。 如果我省略了音频流(或为音频流指定一个不存在的接收器垫(例如mux.audio.0),则完成重新多路复用(但没有音频)

提供一点上下文:

我有一个快速时间,音频和视频之间存在严重的时间延迟。 现在我想将音轨移动几毫秒,但不做太多的重新编码。 类似于以下内容:

gst-launch filesrc location="${INFILE}" \
 ! qtdemux name=demux \
 ! videorate force-fps=25 \
 ! qtmux name=mux \
 ! filesink location="${OUTFILE}" \
 demux.audio_00 \
 ! queue \
 ! mad \
 ! audioconvert \
 ! ladspa-delay-n Delay-Time=322 \
 ! audioconvert \
 ! lame bitrate=224 \
 ! mux.

有什么想法可以让我的管道播放吗?

【问题讨论】:

    标签: gstreamer multiplexing


    【解决方案1】:

    最后我发现我的管道停滞的原因是上限协商问题。 为预期从解复用器出来的每个流指定上限使其工作:

    gst-launch filesrc location="${INFILE}" \
     ! qtdemux name=demux \
     ! queue \
     !  video/jpeg \
     ! qtmux name=mux \
     ! filesink location="${OUTFILE}" \
     demux.audio_00 \
     ! queue \
     !  audio/mpeg \
     ! mux.audio_0
    

    【讨论】:

      猜你喜欢
      • 2012-11-02
      • 2016-04-20
      • 2016-04-17
      • 2021-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多