Gstreamer splitmuxsrc无法播放splitmuxsink制作的MP4文件

时间:2018-07-22 17:07:11

标签: python gstreamer rtsp python-gstreamer

下午好

我将RTSP流另存为MP4段。

"gst-launch-1.0 -e rtspsrc location=rtsp://192.168.0.108/profile2/media.smp ! splitmuxsink location=storage/%04d.mp4 max-size-time=10000000000 "

并想播放我先前在GTK窗口中保存的视频,但首先尝试使用以下命令从CLI播放: "gst-launch-1.0 splitmuxsrc location=storage/*.mp4 ! decodebin ! videoconvert ! videoscale ! autovideosink"并获得

__
New clock: GstSystemClock
Got EOS from element "pipeline0".
Execution ended after 0:00:00.000074602

还要尝试使用gst文档中的"gst-launch-1.0 playbin uri="splitmux://*.mp4"并得到相同的错误。

来自PyCharm调试器的

得到了: __

gst_base_src_start_complete:<filesrc0> pad not activated yet
basesrc gstbasesrc.c:2396:gst_base_src_update_length:<filesrc0> processing at or past EOS
gst_type_find_element_loop:<typefindelement0> error: Stream contains no data.

如果我理解正确,那么就有一个问题,就是没有记录标题,这就是为什么我尝试使用CLI方法的原因,但是在第一段之后什么也没有显示并且开始播放时,我仍然遇到相同的错误。

有什么想法可以帮我吗?

1 个答案:

答案 0 :(得分:0)

h264parse config-interval=-1之前尝试splitmuxsink(如果流是H.264格式)。那应该在每个关键帧之前写入解码器特定的数据。由于RTSP仅将此信息发送到带外,因此除非您告诉h264parse明确插入它们,否则该信息会从流中丢失。