我试图使用gstreamer管道更改mpeg2传输流视频的帧大小。程序是:Fist,使用tsdemax分离视频部分和音频部分,然后,通过mpeg2dec,capsfilter(更改帧大小),mpeg2enc和mpegtsmux来组合流的音频部分。 mpegtsmux没有输出。
我搜查了一下,发现一份文件说:mpeg2enc的性质导致它输出的时间戳上没有元数据
(这可能是问题的原因),并建议:
然后邮票可以在需要时轻松帮助,如片段(mpeg2enc format = 3!stamp!avimux)
我正在使用gstreamer 1.0'C'库,但找不到元素“stamp”。我很感激,如果有人可以帮助我,为什么通过mpeg2enc的视频无法与音频进行多路复用,如果是由于缺少时间戳,如何在mpeg2enc上或之后添加时间戳?
答案 0 :(得分:0)
问题是默认情况下,使用mpeg ts时不会保留时间戳。
您需要使用tsparse及其属性 Handler.update(delta)
来添加时间戳..然后您将能够在需要时将其正确复用..
set-timestamps=true
你看过什么文件? 关于邮票的第二个引用对我来说没有意义..
你要么有某种时间信息,要么丢失..时间戳必须在视频/音频流中 - 无论是来自文件还是rtp,mpeg-ts或其他......
如果你仍有问题,那么用实际管道更新问题..因为现在我只是猜测你在做什么。
HTH