Я пытаюсь воспроизвести видео в формате mp4, но не работает.
В консоли я выполняю эту строку, и она работает:
gst-launch playbin uri=rtmp://localhost:1935/files/video.mp4
Но если я перейду на версию 1.0, будет работать только звук:
gst-launch-1.0 playbin uri=rtmp://localhost:1935/files/video.mp4
в python у меня есть следующий код:
self.player = Gst.Pipeline.new("player")
source = Gst.ElementFactory.make("filesrc", "file-source")
demuxer = Gst.ElementFactory.make("mp4mux", "demuxer")
demuxer.connect("pad-added", self.demuxer_callback)
self.video_decoder = Gst.ElementFactory.make("x264enc", "video-decoder")
self.audio_decoder = Gst.ElementFactory.make("vorbisdec", "audio-decoder")
audioconv = Gst.ElementFactory.make("audioconvert", "converter")
audiosink = Gst.ElementFactory.make("autoaudiosink", "audio-output")
videosink = Gst.ElementFactory.make("autovideosink", "video-output")
self.queuea = Gst.ElementFactory.make("queue", "queuea")
self.queuev = Gst.ElementFactory.make("queue", "queuev")
colorspace = Gst.ElementFactory.make("videoconvert", "colorspace")
self.player.add(source)
self.player.add(demuxer)
self.player.add(self.video_decoder)
self.player.add(self.audio_decoder)
self.player.add(audioconv)
self.player.add(audiosink)
self.player.add(videosink)
self.player.add(self.queuea)
self.player.add(self.queuev)
self.player.add(colorspace)
source.link(demuxer)
self.queuev.link(self.video_decoder)
self.video_decoder.link(colorspace)
colorspace.link(videosink)
self.queuea.link(self.audio_decoder)
self.audio_decoder.link(audioconv)
audioconv.link(audiosink)
но я получаю эту ошибку: Ошибка: ошибка во внутреннем потоке данных. gstbasesrc.c (2865): gst_base_src_loop (): / GstPipeline: player / GstFileSrc: file-source: потоковая задача приостановлена, причина не связана (-1)
Что может случиться? думаю, я не умею декодировать