I have a c++ program that uses live555
in a winapi kernel event-loop that passes images from a camera to libopenh264
and then served as an RTSP stream using ffmpeg
. The stream can be viewed fine using VLC
. The event-loop also records to an avi container.
I wanted to setup a remote-viewing client using kivy
using the simple kvlang below:
BoxLayout:
orientation: "vertical"
Video:
source: "rtsp://ip.address:8554/stream"
play: True
The window does not display a Video
object, and the logging output has the following errors
[ERROR ] [Image ] Error reading file rtsp://ip.address:8554/stream
# ...
[ERROR ] [VideoGstplayer] Could not open resource for reading and writing.
When I change the stream encoding to MJPEG, the video player displays the live video without errors. Furthermore, when I change source
to the file-path of the h264 encoded avi file that is recorded, it plays without errors. Is there a configuration that can alert the VideoGstplayer
of the expected encoding? Alternatively, is there a problem with my stream setup that the provided kivy player cannot read it properly? Perhaps I am missing a gstreamer dll, but the message does not alert me to anything such as that.
This was all performed on windows using the basic installation instructions for installing python-dependencies. kivy
version being used is 1.9.1
. I am new to kivy.
edit: Just to bring more information to the table. It would seem that the image
-type error still occurs even when the codec is MJPEG
. Therefore, it would seem that the display issue is somewhere in gstremer or the implementation of gstreamer.