Skip to main content
 首页 » 编程设计

python之gstreamer 1.0 错误控制和发送eos

2025年05月04日17sharpest

关于 gstreamer 1.0 文档和移植指南的关键我没有找到任何关于事件的信息。我试图在我的管道中设置一个 eos 信号,以便 mp4mux 可以像这样完成流:

self.pipe.send_event(Gst.event_new_eos()) 

但出现错误:

AttributeError: 'gi.repository.Gst' object has no attribute 'event_new_eos' 

而且我想我拼错了或者有什么错误我用谷歌搜索并在 0.10 中发现了几个例子而在 1.0 中没有发现任何例子,但问题是我没有找到任何关于 send_event 或 Gst 的信息。移植指南中的 event_new_eos()。如果有人能告诉我我在这里缺少什么,我将不胜感激?

关于 gstreamer 和 tee 元素我很好奇处理不同的分支,例如,如果我有这个管道:

  gst-launch-1.0 -e videotestsrc ! tee name=spliter  spliter. ! queue ! udpsink  spliter. ! queue ! x264enc ! mp4mux ! filesink location=something.mp4 

当发生类似情况时,我如何处理连接断开或硬盘空间不足等问题,而不会导致管道中断?

请您参考如下方法:

在gstreamer0.10中发送EOS事件:

  self.pipeline.send_event(gst.event_new_eos()) 

即使在 gstreamer1.0 中也发送 EOS:

self.pipeline.send_event(Gst.Event.new_eos()) 

PS:我偶然发现了同样的问题,而且我也找不到关于 gstreamer 1.0 中事件的文档,但我自己能弄清楚吗?希望这对某人有帮助。