4

通过为每个流设置 PID,我正在通过 UDP 流式传输 .ts 文件。

此 ts 文件包含视频和文本流。

我想将我自己的 pid 设置为 mpegtsmux,如下所示,

g_object_set (mMux, "prog-map", gst_structure_from_string ("program_map,sink_300=10,sink_303=10,sink_302=10,sink_301=10", NULL), NULL);

它有时工作正常,但有时我收到以下错误。

 BUS_MESSAGE :: Error : Stream on pad <ts-mux:sink_300> is not associated with any program

 BUS_MESSAGE :: Debug : mpegtsmux.c(1250): mpegtsmux_collected_buffer (): /GstPipeline:digital-pipeline/MpegTsMux:ts-mux

但是当我使用管道时,它工作正常。

gst-launch-1.0 -v filesrc location=/home/uurmi/Desktop/final_release_2.0_cd_burn/source/system/soa/output/Most_VM_1.ts ! tsdemux name=demux program-number=10 demux.video_012c ! queue ! muxer.sink_300 mpegtsmux name=muxer prog-map=program_map,sink_300=10,sink_302=10,sink_303=10,sink_301=10 ! rtpmp2tpay ! udpsink host=192.168.2.217 port=8765 demux.metadata_012f ! queue ! muxer.sink_303

为什么会出现这个错误?上面的 g_object_set 是否正确,用于将 prog-map 属性设置为 Muxer?

以及如何解决这个错误?

4

0 回答 0