<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div><blockquote type="cite" class=""><div class=""><div class="WordSection1" style="page: WordSection1; font-family: Helvetica; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span style="font-size: 10pt; font-family: 'Courier New';" class="">The only problem that we have is due to fact that we can only have a limited number of connections (client vlc) and this<span class="Apple-converted-space"> </span><o:p class=""></o:p></span></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span style="font-size: 10pt; font-family: 'Courier New';" class="">number is related to the source's resolution.<o:p class=""></o:p></span></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span style="font-size: 10pt; font-family: 'Courier New';" class="">If you exceed this number all the VLC clients begin to display artifacts.<o:p class=""></o:p></span></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span style="font-size: 10pt; font-family: 'Courier New';" class=""> </span></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span style="font-size: 10pt; font-family: 'Courier New';" class="">Source's resolution 320 x 240 allows just  6 VLC connections.<o:p class=""></o:p></span></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span style="font-size: 10pt; font-family: 'Courier New';" class="">Source's resolution 640 x 480 allows just 3 VLC connections.<o:p class=""></o:p></span></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span style="font-size: 10pt; font-family: 'Courier New';" class="">Source's resolution 1920 x 1080 allows just 1 VLC connection.</span></div></div></div></blockquote><div><br class=""></div>Issues like this are almost always caused by running resource limitations (CPU and/or network), rather than any inherent problem with the LIVE555 software.</div><div><br class=""></div><div>Note also that (based on the experience of others) running more than one copy of VLC on the same computer tends to perform very poorly, so if you’re testing multiple VLC clients, you should do so on separate computers (separate *physical* computers, not separate ‘virtual machines’).</div><div><br class=""></div><div>(Also, a reminder (yet again) that VLC is not our software.  The best way to test RTSP client connections is to begin with our “openRTSP” software: <<a href="http://www.live555.com/openRTSP/" class="">http://www.live555.com/openRTSP/</a>>.  Then, and only then, should you use a media player (such as VLC).)</div><div><br class=""></div><div><br class=""><blockquote type="cite" class=""><div class="WordSection1" style="page: WordSection1; font-family: Helvetica; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span style="font-size: 10pt; font-family: 'Courier New';" class=""><o:p class=""></o:p></span></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span style="font-family: 'Courier New'; font-size: 10pt;" class="">The OS is windows.</span></div></div></blockquote><div><br class=""></div>That may well  be (at least part of) your problem :-(  Windows is simply not a serious operating system for running server software.  (It’s 2014; noone should be doing this anymore.)</div><div><br class=""></div><div><br class=""><blockquote type="cite" class=""><div class="WordSection1" style="page: WordSection1; font-family: Helvetica; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span style="font-size: 10pt; font-family: 'Courier New';" class=""> </span><span style="font-family: 'Courier New'; font-size: 10pt;" class="">Below, what we did:</span></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span style="font-size: 10pt; font-family: 'Courier New';" class=""> </span></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span style="font-size: 10pt; font-family: 'Courier New';" class="">1) We used ffmpeg to capture the images from the camera and convert them to  H264 + AAC frames (avcoded)<o:p class=""></o:p></span></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span style="font-size: 10pt; font-family: 'Courier New';" class="">2) These frames were pushed in a circular queue<o:p class=""></o:p></span></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span style="font-size: 10pt; font-family: 'Courier New';" class="">3) In a thread we created a RTP Server, the media session and two subsession, one for the video and the other one  audio (see the code below)<o:p class=""></o:p></span></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span style="font-size: 10pt; font-family: 'Courier New';" class="">4) Starting from the DeviceSource.cpp we created a source that reads the frames from the circular queue.<o:p class=""></o:p></span></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span style="font-size: 10pt; font-family: 'Courier New';" class=""> </span></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span style="font-size: 10pt; font-family: 'Courier New';" class="">5) When a client connects to the RTPserver, we create a NewStreamSource and a NewRTPSink. As you can see in the code below,<span class="Apple-converted-space"> </span><o:p class=""></o:p></span></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span style="font-size: 10pt; font-family: 'Courier New';" class="">for the video StreamSource we create a H264VideoStreamDiscreteFramer for the audio we leave as it is.<o:p class=""></o:p></span></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span style="font-size: 10pt; font-family: 'Courier New';" class=""> </span></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span style="font-size: 10pt; font-family: 'Courier New';" class="">Regarding the RTPSink, for the video, we create an H264VideoRTPSink and  for the audio we create MPEG4GenericRTPSink.</span></div></div></blockquote><div><br class=""></div>This all looks good.  One more thing.  Because you’re streaming from a ‘live source’, make sure that your “Live555ServerMediaSubsession” constructor - when it calls the “OnDemandServerMediaSubsession” constructor - sets the “reuseFirstSource” parameter to True.  (That way, your input source will never be instantiated more than once concurrently, regardless of how many RTSP clients you have.)</div><br class=""><br class=""><div apple-content-edited="true" class="">
<span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;  "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;  ">Ross Finlayson<br class="">Live Networks, Inc.<br class=""><a href="http://www.live555.com/" class="">http://www.live555.com/</a></span></span>
</div>
<br class=""></body></html>