首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用于Android缓冲区的Gstreamer没有PTS

用于Android缓冲区的Gstreamer没有PTS
EN

Stack Overflow用户
提问于 2017-03-18 12:57:23
回答 1查看 3.2K关注 0票数 1

我创建了管道gst_parse_launch("rtspsrc location=rtsp://192.168.0.77:554/user=admin_password_=tlJwpbo6_channel=1_stream=0.sdp?real_stream ! queue !rtph264depay ! h264parse ! splitmuxsink muxer=\"mp4mux name=muxer\" max-size-bytes=20000000 location=/storage/emulated/0/DVR/CameraX/the_file_%d.mp4",NULL);,它在Gstreamer版本1.9.1中工作得很好。出于其他原因,我想使用更新的版本,但是在上面的1.10.X和1.11.X版本中,管道会在几秒钟到几分钟之间的不确定时间内停止运行。Logcat输出如下:

gstqtmux.c:3391:gst_qt_mux_add_buffer:错误:缓冲区没有PTS。 W/GStreamer+basesrc: 0:01:06.383504349 0xb9380000 gstbasesrc.c:2950:gst_base_src_loop: error:内部数据流错误。 W/GStreamer+basesrc: 0:01:06.383623672 0xb9380000 gstbasesrc.c:2950:gst_base_src_loop:错误:停止流,原因错误(-5)

我试过不同的相机型号。我删除了Splitmux接收器,并尝试使用mp4mux,但是结果没有改变。我更改了mp4mux的“演示-时间”属性,但是没有什么变化。

EN

回答 1

Stack Overflow用户

发布于 2017-08-31 18:39:48

我无意中发现了您的问题,这似乎是由于源有问题(没有PTS)和gstreamer不工作(这涉及到gstreamer bug #659489)。

如果您的流中没有B帧,您可以尝试BaseParse.set_pts_interpolation(h264parse, true),当计算PTS时,这个问题可能会消失。

PS:使用此解决方案的微型DVR 这里

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42874691

复制
相关文章

相似问题

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