gstreamer mpeg2enc没有时间戳

时间:2016-10-05 16:33:32

标签: timestamp gstreamer resolution pipeline mpeg2-ts

我试图使用gstreamer管道更改mpeg2传输流视频的帧大小。程序是:Fist,使用tsdemax分离视频部分和音频部分,然后,通过mpeg2dec,capsfilter(更改帧大小),mpeg2enc和mpegtsmux来组合流的音频部分。 mpegtsmux没有输出。

我搜查了一下,发现一份文件说:

  

mpeg2enc的性质导致它输出的时间戳上没有元数据

(这可能是问题的原因),并建议:

  

然后邮票可以在需要时轻松帮助,如片段(mpeg2enc format = 3!stamp!avimux)

我正在使用gstreamer 1.0'C'库,但找不到元素“stamp”。我很感激,如果有人可以帮助我,为什么通过mpeg2enc的视频无法与音频进行多路复用,如果是由于缺少时间戳,如何在mpeg2enc上或之后添加时间戳?

1 个答案:

答案 0 :(得分:0)

问题是默认情况下,使用mpeg ts时不会保留时间戳。

您需要使用tsparse及其属性 Handler.update(delta) 来添加时间戳..然后您将能够在需要时将其正确复用..

set-timestamps=true

你看过什么文件? 关于邮票的第二个引用对我来说没有意义..

你要么有某种时间信息,要么丢失..时间戳必须在视频/音频流中 - 无论是来自文件还是rtp,mpeg-ts或其他......

如果你仍有问题,那么用实际管道更新问题..因为现在我只是猜测你在做什么。

HTH