Gstreamer end of stream

ぃ、小莉子 提交于 2020-12-15 03:51:46

问题


I have two streams. Video and audio. One of them can be empty, i.e. end-of-stream at start. But

0:00:10.147044434 51257 0x563c0d51b060 FIXME               basesink gstbasesink.c:3384:gst_base_sink_default_event:<fsink> stream-start event without group-id. Consider implementing group-id handling in the upstream elements
0:00:10.147150353 51257 0x563c0d51b060 WARN                   qtmux gstqtmux.c:3076:gst_qt_mux_start_file:<mux> Robust muxing requires reserved-moov-update-period to be set
0:00:10.148059000 51257 0x563c0d51b060 FIXME             aggregator gstaggregator.c:1323:gst_aggregator_aggregate_func:<mux> Subclass should call gst_aggregator_selected_samples() from its aggregate implementation.
0:00:10.148492779 51257 0x563c0d51b060 WARN                   qtmux gstqtmux.c:5010:gst_qt_mux_add_buffer:<mux> error: Buffer has no PTS.
0:00:10.149045344 51257 0x563c0d51b1e0 WARN                 basesrc gstbasesrc.c:3127:gst_base_src_loop:<videoin> error: Internal data stream error.
0:00:10.149105380 51257 0x563c0d51b1e0 WARN                 basesrc gstbasesrc.c:3127:gst_base_src_loop:<videoin> error: streaming stopped, reason error (-5)
0:00:10.149198331 51257 0x563c0d51b1e0 WARN                   queue gstqueue.c:990:gst_queue_handle_sink_event:<vq> error: Internal data stream error.
0:00:10.149227154 51257 0x563c0d51b1e0 WARN                   queue gstqueue.c:990:gst_queue_handle_sink_event:<vq> error: streaming stopped, reason error (-5)

Feeding video after audio eos makes no output. Pipe looks like

appsrc name=audioin | queue | capsfilter | alawdec | .mp4mux
appsrc name=videoin | queue | capsfilter | h264parse | .mp4mux
mp4mux | filesink

How make mux fail safe?

I added adder element and audiotestsrc wave=silence but then i send eos on audioin - videoin and silence stops

0:00:10.175976916 18730 0x55a12aedcf60 WARN                 basesrc gstbasesrc.c:3127:gst_base_src_loop:<silence> error: Internal data stream error.
0:00:10.176020798 18730 0x55a12aedcf60 WARN                 basesrc gstbasesrc.c:3127:gst_base_src_loop:<silence> error: streaming stopped, reason error (-5)
0:00:10.176242058 18730 0x55a12aedce40 WARN                 basesrc gstbasesrc.c:3127:gst_base_src_loop:<videoin> error: Internal data stream error.
0:00:10.176269841 18730 0x55a12aedce40 WARN                 basesrc gstbasesrc.c:3127:gst_base_src_loop:<videoin> error: streaming stopped, reason error (-5)

回答1:


I was muxer bug, flvmux works. Video without audio has no PTS.



来源:https://stackoverflow.com/questions/64668287/gstreamer-end-of-stream

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!