我正在尝试使用gstreamer重新复制一部快速电影(video / jpeg,audio / 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.
任何想法如何让我的管道播放?
答案 0 :(得分:0)
最后我发现我的停止管道的原因是一个大写协商问题。 为预期从解复用器中出来的每个流指定上限使其工作:
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