Gstreamer理解

2024-10-04 11:36:38 发布

您现在位置:Python中文网/ 问答频道 /正文

好吧,伙计们,我想在使用gstreamer几天后我明白了,我用它编写了一些管道,这在逻辑上是可行的,但是当涉及到将流保存到文件时,我很头疼。在

gst-launch-1.0 rtspsrc location=rstp://ip/url ! decodebin ! textoverlay text="Work you damn thing " ! x264enc ! h264parse ! mp4mux ! filesink location=some_video.mp4

好吧,这是我的逻辑:

^{pr2}$

一切都很好,但在我录制完之后,当我尝试播放时,我遇到了一个错误:

This file contain no playable stream

如果有一些经验丰富的gstreamer用户,我想问他们,我的逻辑漏洞在哪里,这个错误的原因是什么?在


Tags: 文件ipurl管道错误location逻辑launch
1条回答
网友
1楼 · 发布于 2024-10-04 11:36:38

您必须向管道发送EOS事件,然后在管道总线上等待EOS消息,然后关闭管道(将状态从“播放”更改为“就绪”或“空”)。在

如果使用gst-launch-1.0,请使用-e参数。当你按下ctrl+c时,它会在关闭所有东西之前完成。在

这是必需的,因为最后mp4mux需要完成文件并在文件中写入有关完整流的信息。否则,该文件不是有效的MP4文件。在

相关问题 更多 >