首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“队列”应该放置在管道中的哪个位置?

“队列”应该放置在管道中的哪个位置?
EN

Stack Overflow用户
提问于 2022-04-20 11:25:17
回答 1查看 311关注 0票数 0

在解码文件或流时,是否有人知道应该将queue放在管道中的位置?以下所有行为似乎都是相同的:

gst-launch-1.0 filesrc location=r_25_1920.mp4 ! qtdemux name=demuxer demuxer. ! **queue** ! avdec_h264 ! autovideosink

gst-launch-1.0 rtspsrc location=rtsp://192.168.100.60:554/stream1 latency=0 ! rtph264depay ! **queue** ! avdec_h264 ! autovideosink

gst-launch-1.0 filesrc location=r_25_1920.mp4 ! **queue** ! qtdemux name=demuxer demuxer. ! avdec_h264 ! autovideosink

gst-launch-1.0 rtspsrc location=rtsp://192.168.100.60:554/stream1 latency=0 ! **queue**! rtph264depay ! avdec_h264 ! autovideosink

gst-launch-1.0 filesrc location=r_25_1920.mp4 ! qtdemux name=demuxer demuxer. ! avdec_h264 ! **queue** ! autovideosink

gst-launch-1.0 rtspsrc location=rtsp://192.168.100.60:554/stream1 latency=0 ! rtph264depay ! avdec_h264 ! **queue** ! autovideosink

EN

回答 1

Stack Overflow用户

发布于 2022-04-20 18:28:33

更熟练的人可能会更好地回答,但我不认为排队对这种情况有很大帮助。

队列具有许多可以设置的属性,以便具有不同的行为。您可以使用gst-inspect-1.0 queue检查这些内容,然后使用。

如果没有任何与默认设置不同的属性,队列主要用于解决在使用并行管道时可能发生的死锁/争用/同步问题,如tee/demuxer/.从一个中创建多个流,其中在每个传出子管道前面使用队列,例如:

代码语言:javascript
复制
...your_source_stream ! tee name=t \
t. ! queue ! some_processing... \
t. ! queue ! some_other_processing...

因此,您的情况的正确位置将在qtdemux之后,但在从该容器中提取第二个流之前可能没有用。

或者相反,当将多个流放入mux /compositor/.时,您将在mux之前的每个传入流的尾部添加队列:

代码语言:javascript
复制
...some_input ! queue ! mux.sink_0 \
...some_other_input ! queue ! mux.sink_1 \
somemux name=mux ! what_you_do_with_muxed_stream...
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71938793

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档