以下管道(将 .mp4 转换为 .ts)在 GStreamer 0.10 中运行良好:
gst-launch-0.10 filesrc location=/tmp/temp.mp4 ! qtdemux ! h264parse ! mpegtsmux name=mux ! filesink location=/tmp/output.ts
但是与 GStreamer 1.0.2 相同的管道会产生一个无法播放的 output.ts。据我在 TS 输出中看到的,似乎没有任何 SPS/PPS 起始码(它们存在于 0.10 的输出中)。
h264parse 元素的输出在两个版本之间似乎是相同的。
我查看了最新 mpegtsmux 的源代码,并且在任何地方都不再提及 SPS/PPS。事实上,整个文件 mpegtsmux_h264.c 似乎已经消失了。
new mpegtsmux 在这方面是如何工作的?我需要在管道上游添加额外的东西吗?或者向 mpegtsmux 添加属性?