How to play two different videos in two different displays simultaneously using gstreamer?

Nicolas Dufresne nicolas at ndufresne.ca
Thu Sep 12 21:48:08 UTC 2019


Le jeudi 12 septembre 2019 à 15:02 +0000, Daniel Rossi a écrit :
> I just saw a pipeline like this. The id is set here. But no idea what the id means. Somebody mentioned 32 is screen 1 and 64 is screen 2. 
> 
> As far as hardware decoding goes. Is video4linux the appropriate one to use or OpenMax, and does playbin3 detect this automatically ? 

V4L2 on most recent PI is to be used.

> 
> gst-launch-1.0 -vvv -e filesrc location=big_buck_bunny_720p_h264.mkv ! matroskademux ! h264parse ! v4l2h264dec ! kmssink plane-id=64

This is highly hardware specific. Unfortunately Debian don't have a
drm-utils package, but if you build libdrm (mesa/drm), you'll find a
utility call modetest. This dumps all supported connectors, encoders,
crtcs and planes. Again, if you have planes that are attached to
seperate crtcs and each associate with a different connectors, this
approach of setting the plane-id may work. But as a normal user, the
second kmssink will fail, as there can only be one DRM master. Some
work would be needed to share the DRM driver FD (it's as simple as
that).

> 
> ------ Original Message ------
> From: "Nicolas Dufresne" <nicolas at ndufresne.ca>
> To: "Discussion of the development of and with GStreamer" <gstreamer-devel at lists.freedesktop.org>
> Sent: 9/12/2019 10:50:44 PM
> Subject: Re: How to play two different videos in two different displays simultaneously using gstreamer?
> 
> > Le jeudi 12 septembre 2019 à 06:56 -0500, NikhilMG a écrit :
> > > I am using
> > > 1. Raspberry Pi 4 Model B which has 2 HDMI ports.
> > > 2. Gstreamer-1.0
> > >  
> > > I have two videos saved in memory card. I want to drive two videos to two
> > > different HDMI port and play videos in two different Displays
> > > simultaneously. I would like to know the Gstreamer pipeline to access the
> > > HDMI-1 and HDMI-2 ports and also play two different videos in different
> > > displays simultaneously.
> > >  
> > > Here I am trying to drive video.mp4 to HDMI-2.
> > > */gst-launch-1.0 playbin3 videosink="mfw-v4lsink device=dev/video18"
> > > uri=file:///home/pi/Downloads/video.mp4/
> > 
> >  
> > mfw-v4l2sink looks like one of Freescale plugin. The Raspberry Pi has
> > stanard DRM drivers for the display. The easiest way is to start X11 or
> > Wayland (weston), and then use the appropriate API to select the output
> > to display on, this needs some programming of course.
> >  
> > The alternative is to use kmssink, but that right now can only work if
> > the two connectors can run on seperate CRTC, I don't know (and haven't
> > tested yet) what is possible on the PI. I believe I can guide you on
> > how to improve kmssink.
> >  
> > > *
> > > I even tried
> > > */gst-launch-1.0 playbin3 videosink="mfw-v4lsink device=HDMI-2"
> > > uri=file:///home/pi/Downloads/video.mp4
> > > / *
> > > and also tried
> > > */gst-launch-1.0 playbin3 videosink="mfw-v4lsink device=dev/HDMI-2"
> > > uri=file:///home/pi/Downloads/video.mp4
> > > /*
> > > I am not able to drive the video to HDMI-2 port. I expect the video to be
> > > played in HDMI-2, but the actual output is coming in HDMI-1 for all the
> > > above 3 given pipelines.
> > >  
> > >  
> > >  
> > >  
> > >  
> > > --
> > > Sent from: http://gstreamer-devel.966125.n4.nabble.com/
> > > _______________________________________________
> > > gstreamer-devel mailing list
> > > gstreamer-devel at lists.freedesktop.org
> > > https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> 
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: This is a digitally signed message part
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20190912/2ee68437/attachment-0001.sig>


More information about the gstreamer-devel mailing list