Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-112999

Support RTP cameras with the gstreamer backend

    XMLWordPrintable

Details

    • 3ffe29e46 (dev), 644e01237 (6.7), e598ecab5 (6.6), a773a4fc5 (tqtc/lts-6.5), 239d6e88c (dev), 8e6abd70f (dev), 05e707b3d (6.7), 18733c9b9 (6.7), 02a1b2881 (tqtc/lts-6.5), b744e1eb4 (tqtc/lts-6.5)

    Description

      Since many of the many of the machine manufacturers uses low latency RTP digital cameras for operating the vehicles. The digital cameras used follows the ISO 17215 - video communication for road vehicles standard: https://www.iso.org/standard/59433.html

      A typical camera for this would be for example:

      https://www.orlaco.com/article/orlaco-emos-ethernet-camera-120o

      These cameras typically use RTP format for MJPEG or H264 video streams. To display these with hardware acceleration adapted to the embedded device, in Qt5 as a workaround a custom Gstreamer pipeline or integrate the qmlglsink from gstreamer-plugins-good could be used.

      For example:

      "gst-pipeline: udpsrc port=50004 caps=application/x-rtp,encoding=JPEG,payload=26 ! rtpjpegdepay ! decodebin ! imxvideoconvert_g2d ! autovideosink"

      With RTP streams there is no URL that can be entered to receive connect to the camera stream. They only send either unicast to a specific IP address and port number or broadcast on a specific port.

      Since in Qt6 we don't want to bring the custom gst-pipelines back as a source property for the mediaplayer, we should provide a means to play RTP streams using the API.

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              timblechmann tim blechmann
              tuomas.vaarala Tuomas Vaarala
              Votes:
              1 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: