<html><head>

<style id="css_styles" type="text/css">blockquote.cite { margin-left: 5px; margin-right: 0px; padding-left: 10px; padding-right:0px; border-left: 1px solid #cccccc }
blockquote.cite2 {margin-left: 5px; margin-right: 0px; padding-left: 10px; padding-right:0px; border-left: 1px solid #cccccc; margin-top: 3px; padding-top: 0px; }
a img { border: 0px; }
li[style='text-align: center;'], li[style='text-align: right;'] {  list-style-position: inside;}
body { font-family: Segoe UI; font-size: 12pt;   }</style></head><body class="plain"><div>I'm new to all this and don't understand the graphics internals. <br /><br />I only need one output personally so just need to specify kmssink.<br /><br />So for RPI 3B will support v4l2h264dec ? I've yet to test that stage. I've realised the packages aren't very up to date on Debian. So I spent time trying to figure out how to rebuild them all for Buster as I needed SRT support. It took me a long while which approach to go with and I chose the Debian git sources.<br /><br />I have a script to automate the package building from Debian git sources, and modifying the rules configure arguments to my needs. Building libdrm shouldn't be a problem. I'm pretty sure it was a dependency and in there though.<br /><br />And sorry for a noobie ask. I am using playbin3 for now in a gst-python script. It works fine. But to specify v4l2h264dec, do I need to do a more specified pipeline or can it autodetect it ?<br /><br />Reason being, it has to accept rtmp or srt input. And they require different pipelines. From is mpegts the other isn't. </div>
<div><br /></div>
<div>------ Original Message ------</div>
<div>From: "Nicolas Dufresne" <<a href="mailto:nicolas@ndufresne.ca" style="">nicolas@ndufresne.ca</a>></div>
<div>To: "Daniel Rossi" <<a href="mailto:electroteque@gmail.com">electroteque@gmail.com</a>>; "Discussion of the development of and with GStreamer" <<a href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a>></div>
<div>Sent: 9/13/2019 7:48:08 AM</div>
<div>Subject: Re: Re[2]: How to play two different videos in two different displays simultaneously using gstreamer?</div><div><br /></div>
<div id="xc699bb24a7af40d"><blockquote type="cite" class="cite2">

<div class="plain_line">Le jeudi 12 septembre 2019 à 15:02 +0000, Daniel Rossi a écrit :</div>
<blockquote type="cite" class="cite">
<div class="plain_line"> 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.</div>
<div class="plain_line"> </div>
<div class="plain_line"> As far as hardware decoding goes. Is video4linux the appropriate one to use or OpenMax, and does playbin3 detect this automatically ?</div>
</blockquote>
<div class="plain_line"> </div>
<div class="plain_line">V4L2 on most recent PI is to be used.</div>
<div class="plain_line"> </div>
<blockquote type="cite" class="cite2">
<div class="plain_line"> </div>
<div class="plain_line"> gst-launch-1.0 -vvv -e filesrc location=big_buck_bunny_720p_h264.mkv ! matroskademux ! h264parse ! v4l2h264dec ! kmssink plane-id=64</div>
</blockquote>
<div class="plain_line"> </div>
<div class="plain_line">This is highly hardware specific. Unfortunately Debian don't have a</div>
<div class="plain_line">drm-utils package, but if you build libdrm (mesa/drm), you'll find a</div>
<div class="plain_line">utility call modetest. This dumps all supported connectors, encoders,</div>
<div class="plain_line">crtcs and planes. Again, if you have planes that are attached to</div>
<div class="plain_line">seperate crtcs and each associate with a different connectors, this</div>
<div class="plain_line">approach of setting the plane-id may work. But as a normal user, the</div>
<div class="plain_line">second kmssink will fail, as there can only be one DRM master. Some</div>
<div class="plain_line">work would be needed to share the DRM driver FD (it's as simple as</div>
<div class="plain_line">that).</div>
<div class="plain_line"> </div>
<blockquote type="cite" class="cite2">
<div class="plain_line"> </div>
<div class="plain_line"> ------ Original Message ------</div>
<div class="plain_line"> From: "Nicolas Dufresne" <<a href="mailto:nicolas@ndufresne.ca">nicolas@ndufresne.ca</a>></div>
<div class="plain_line"> To: "Discussion of the development of and with GStreamer" <<a href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a>></div>
<div class="plain_line"> Sent: 9/12/2019 10:50:44 PM</div>
<div class="plain_line"> Subject: Re: How to play two different videos in two different displays simultaneously using gstreamer?</div>
<div class="plain_line"> </div>
<div class="plain_line"> > Le jeudi 12 septembre 2019 à 06:56 -0500, NikhilMG a écrit :</div>
<div class="plain_line"> > > I am using</div>
<div class="plain_line"> > > 1. Raspberry Pi 4 Model B which has 2 HDMI ports.</div>
<div class="plain_line"> > > 2. Gstreamer-1.0</div>
<div class="plain_line"> > ></div>
<div class="plain_line"> > > I have two videos saved in memory card. I want to drive two videos to two</div>
<div class="plain_line"> > > different HDMI port and play videos in two different Displays</div>
<div class="plain_line"> > > simultaneously. I would like to know the Gstreamer pipeline to access the</div>
<div class="plain_line"> > > HDMI-1 and HDMI-2 ports and also play two different videos in different</div>
<div class="plain_line"> > > displays simultaneously.</div>
<div class="plain_line"> > ></div>
<div class="plain_line"> > > Here I am trying to drive video.mp4 to HDMI-2.</div>
<div class="plain_line"> > > */gst-launch-1.0 playbin3 videosink="mfw-v4lsink device=dev/video18"</div>
<div class="plain_line"> > > uri=file:///home/pi/Downloads/video.mp4/</div>
<div class="plain_line"> ></div>
<div class="plain_line"> ></div>
<div class="plain_line"> > mfw-v4l2sink looks like one of Freescale plugin. The Raspberry Pi has</div>
<div class="plain_line"> > stanard DRM drivers for the display. The easiest way is to start X11 or</div>
<div class="plain_line"> > Wayland (weston), and then use the appropriate API to select the output</div>
<div class="plain_line"> > to display on, this needs some programming of course.</div>
<div class="plain_line"> ></div>
<div class="plain_line"> > The alternative is to use kmssink, but that right now can only work if</div>
<div class="plain_line"> > the two connectors can run on seperate CRTC, I don't know (and haven't</div>
<div class="plain_line"> > tested yet) what is possible on the PI. I believe I can guide you on</div>
<div class="plain_line"> > how to improve kmssink.</div>
<div class="plain_line"> ></div>
<div class="plain_line"> > > *</div>
<div class="plain_line"> > > I even tried</div>
<div class="plain_line"> > > */gst-launch-1.0 playbin3 videosink="mfw-v4lsink device=HDMI-2"</div>
<div class="plain_line"> > > uri=file:///home/pi/Downloads/video.mp4</div>
<div class="plain_line"> > > / *</div>
<div class="plain_line"> > > and also tried</div>
<div class="plain_line"> > > */gst-launch-1.0 playbin3 videosink="mfw-v4lsink device=dev/HDMI-2"</div>
<div class="plain_line"> > > uri=file:///home/pi/Downloads/video.mp4</div>
<div class="plain_line"> > > /*</div>
<div class="plain_line"> > > I am not able to drive the video to HDMI-2 port. I expect the video to be</div>
<div class="plain_line"> > > played in HDMI-2, but the actual output is coming in HDMI-1 for all the</div>
<div class="plain_line"> > > above 3 given pipelines.</div>
<div class="plain_line"> > ></div>
<div class="plain_line"> > ></div>
<div class="plain_line"> > ></div>
<div class="plain_line"> > ></div>
<div class="plain_line"> > ></div>
<div class="plain_line"> > > --</div>
<div class="plain_line"> > > Sent from: <a href="http://gstreamer-devel.966125.n4.nabble.com/">http://gstreamer-devel.966125.n4.nabble.com/</a></div>
<div class="plain_line"> > > _______________________________________________</div>
<div class="plain_line"> > > gstreamer-devel mailing list</div>
<div class="plain_line"> > > <a href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a></div>
<div class="plain_line"> > > <a href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel">https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a></div>
<div class="plain_line"> </div>
<div class="plain_line"> _______________________________________________</div>
<div class="plain_line"> gstreamer-devel mailing list</div>
<div class="plain_line"> <a href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a></div>
<div class="plain_line"> <a href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel">https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a></div>
</blockquote>
</blockquote></div>
</body></html>