<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:1966042924;
        mso-list-type:hybrid;
        mso-list-template-ids:-50588190 67698705 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l0:level1
        {mso-level-text:"%1\)";
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level2
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level3
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l0:level4
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level5
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level6
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l0:level7
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level8
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level9
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link="#0563C1" vlink="#954F72"><div class=WordSection1><p class=MsoNormal>Hi Folks,<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>   I’m unclear on concepts, I’m trying to stream video from appsrc  as h264 over udp.<o:p></o:p></p><p class=MsoNormal> <o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>   I based my appsrc code on basic-tutorial-8 at <a href="https://gstreamer.freedesktop.org/documentation/tutorials/basic/short-cutting-the-pipeline.html">https://gstreamer.freedesktop.org/documentation/tutorials/basic/short-cutting-the-pipeline.html</a><o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>   In gst-launch syntax, I got code for this to work:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>   appsrc ! rawvideoparse ! videoconvert ! nvh264enc ! avdec_h264 ! videoconvert ! autovideosink      (one pipeline so all on the same host.)<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>  (Sorry for typos, I don’t have it in front of me.)<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>   To put my appsrc in push mode, I set “is-live” to TRUE,  “stream-type” to GT_APP_STREAM_TYPE_STREAM,  and set need-data, and enough-data  like appsrc in basic-tutorial-8.<o:p></o:p></p><p class=MsoNormal>  Since my appsrc produces just pixels, I’m feeding that into rawvideoparse with  use-sink-caps= FALSE, and setting width, height, and format (y42b) in rawvideoparse.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>  This works. I thought I’d insert the udp link and be done:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>  so I put the first part of this one on host. I coded the pipeline equivalent of:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>appsrc ! rawvideoparse ! videoconvert ! nvh264enc ! udpsink “host=otherhost” port= 5000  (with all the same settings above)<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>  on the other host I used a gst-launch script:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>gst-launch-1.0  -vm udpsrc port=5000 ! video/x-h264, stream-format=byte-stream, alignment=au, width=1280, height=1024, framerate=30 ! avdec_h264 ! viideoconvert ! autovideosink<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>… and it didn’t work. (I can see the “start feeding”,” stop feeding” prints on the input side that makes me think that part’s working. On the receiving side there’s no window.) <o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>  So I thought I had something wrong with the network part: but when I put in filesrc instead of appsrc on the input host, it does work. The video window appears on the output host if I use filesrc on the input host.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>In the output host messages, the filesrc case has a message from avdec_h264-0:src with a property notify caps message.  That’s missing in the appsrc case.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>So:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoListParagraph style='text-indent:-.25in;mso-list:l0 level1 lfo1'><![if !supportLists]><span style='mso-list:Ignore'>1)<span style='font:7.0pt "Times New Roman"'>      </span></span><![endif]>What’s different between filesrc and appsrc that udp works with filesrc, but not appsrc?<o:p></o:p></p><p class=MsoListParagraph style='text-indent:-.25in;mso-list:l0 level1 lfo1'><![if !supportLists]><span style='mso-list:Ignore'>2)<span style='font:7.0pt "Times New Roman"'>      </span></span><![endif]>What’s missing in udpsink/udpsrc that appsrc works in pipeline, but not over udp?<o:p></o:p></p><p class=MsoListParagraph style='text-indent:-.25in;mso-list:l0 level1 lfo1'><![if !supportLists]><span style='mso-list:Ignore'>3)<span style='font:7.0pt "Times New Roman"'>      </span></span><![endif]>How do I get the equivalent of gst-launch’s “-v” and “-m” in code?<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Thanks,<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>blueshirt<o:p></o:p></p></div></body></html>