4

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.

scicalculator
  • 1,498
  • 3
  • 16
  • 33

0 Answers0