<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Good Afternoon.<br>
    <br>
    I have been given the task of getting LIVE555 to work with our
    current system.<br>
    <br>
    You have communicated with my colleague Ben Wheway (See Below).<br>
    <br>
    I have read the email below and I am quite confused. <br>
    <br>
    Could I have a few more pointers please.<br>
    <br>
    We have managed to get a test.ts file to stream to an Amino A125
    using ./testOnDemandRTSPServer and the file is contained in the same
    directory.<br>
    <br>
    We point the amino (using a customer html page) to <a
      class="moz-txt-link-freetext"
      href="http://email.europa-network.com/wf/click?upn=7xTTyQVyXgJEH41wOrlj5wlPGShfADN66Me4sVoK4Vu28C4EvIyEt1ycthxmaHY7QSsTJ99UUbJZdZ3eIhMMsw-3D-3D_c7yYin3mKuhF3bD6rb8C8DbLVxBS56n0-2Bmjw86GE2Tz8Kc2CUakVXH3HS4P4fwBCFy-2F3oBiQ1QDPSfy8K9B8ymy678bl1UxSClM657sUS4RhqXZAVJuB6sTeyaOiM2stS5xtCIsabaoX6YH7xvFjBQHrGXyNNeM-2BYYK6WlVZv24-3D">http://xxx.xxx.xxx.xxx:xxxx/mpeg2TransportStreamTest</a><br>
    <br>
    I am stuck on the ingest. I have tried to find an example of the
    "createNewStreamSource()" function so I can copy and re-write it. I
    have however not found an example.<br>
    <br>
    Could you advise further please.  <br>
    <br>
    Thanks for any help in advance.<br>
    <br>
    Many Regards<br>
    <br>
    Liam<br>
    <br>
    <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
    <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
    <div>
      <div style="border:none;border-top:solid #B5C4DF
        1.0pt;padding:3.0pt 0cm 0cm 0cm">
        <p class="MsoNormal"><b><span
style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span
style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">
            <a class="moz-txt-link-abbreviated"
              href="mailto:live-devel-bounces@ns.live555.com">live-devel-bounces@ns.live555.com</a>
            [<a class="moz-txt-link-freetext"
              href="mailto:live-devel-bounces@ns.live555.com">mailto:live-devel-bounces@ns.live555.com</a>]
            <b>On Behalf Of </b>Ross Finlayson<br>
            <b>Sent:</b> 16 December 2011 02:57<br>
            <b>To:</b> LIVE555 Streaming Media - development & use<br>
            <b>Subject:</b> Re: [Live-devel] Multicast to rtsp with
            Amino A125<o:p></o:p></span></p>
      </div>
    </div>
    <p class="MsoNormal"><o:p> </o:p></p>
    <div>
      <blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
        <div>
          <p class="MsoNormal">We have many Amino A125 STB´s. The server
            we currently use to rtsp to them is outdated and we need a
            new system to stream to them. Your software appears to be
            able to do this but im struggling to find guides to achieve
            this. Here is a background of what we have as in streams
            etc:<br>
            <br>
            We multicast from our encoders to our current streaming
            server. This server then RTSP´s out to the Amino STB. The
            multicast input stream is MPEG4/h264 TS UDP. We then RTSP
            over UDP unicast out to the STB.<br>
            <br>
            So we need to input UDP multicast to live555 server and then
            RTSP UDP unicast to the Amino STB.<o:p></o:p></p>
        </div>
      </blockquote>
      <div>
        <p class="MsoNormal"><o:p> </o:p></p>
      </div>
    </div>
    <p class="MsoNormal">Yes, you should be able do this fairly easily.
       I suggest using the "testOnDemandRTSPServer" demo application as
      a model; note, in particular, the code for streaming Transport
      Stream data (lines 215 through 218 of
      "testProgs/testOnDemandRTSPServer.cpp").<o:p></o:p></p>
    <div>
      <p class="MsoNormal"><o:p> </o:p></p>
    </div>
    <div>
      <p class="MsoNormal">The one change that you'll need to make to
        this code is that rather than adding a
        "MPEG2TransportFileServerMediaSubsession" to the
        "ServerMediaSession" object, you'll be adding an object of a
        different "OnDemandServerMediaSubsession" - one that you will
        write yourself.  In fact, I suggest that you subclass
        "MPEG2TransportFileServerMediaSubsession".  If you do that, then
        you will need only to redefine the "createNewStreamSource()"
        virtual function.  In your subclass's constructor, when it calls
        the parent class ("MPEG2TransportFileServerMediaSubsession")'s
        constructor, you should set the "fileName" and "indexFile"
        parameters to NULL, and set "reuseFirstSource" to True.  (This
        tells the server to use the same input source object, even if
        more than one client is streaming from the server concurrently.)<o:p></o:p></p>
    </div>
    <div>
      <p class="MsoNormal"><o:p> </o:p></p>
    </div>
    <div>
      <p class="MsoNormal">Your subclass's "createNewStreamSource()"
        virtual function can be quite simple - basically just creating a
        "groupsock" for your IP multicast address, and then creating a
        "BasicUDPSource" using that "groupsock" object.  I suggest
        looking at the "testRelay" demo application code for a hint
        about how to do this.<o:p></o:p></p>
    </div>
    <div>
      <p class="MsoNormal"><o:p> </o:p></p>
    </div>
    <div>
      <p class="MsoNormal">(Because your input is Transport Stream data
        packed into UDP packets, I don't think that you'll need a
        separate 'framer' object in front of the "BasicUDPSource"
        object.  Instead, you'll probably be able to transfer the
        contents of each incoming UDP multicast packet directly into
        output UDP unicast packets.  The method that I've outlined above
        should do that.)<o:p></o:p></p>
    </div>
    <p class="MsoNormal" style="margin-bottom:12.0pt"><o:p> </o:p></p>
    <span class="apple-style-span"><span style="font-size:13.5pt;
font-family:"Helvetica","sans-serif";color:black">Ross

        Finlayson</span></span><span
style="font-size:13.5pt;font-family:"Helvetica","sans-serif";color:black"><br>
      <span class="apple-style-span">Live Networks, Inc.</span><br>
      <span class="apple-style-span"><a moz-do-not-send="true"
          href="http://email.europa-network.com/wf/click?upn=YGGtx2l5w5fj7ARohIklPtxNO8bQPEXLndyYW6RQ1QM-3D_c7yYin3mKuhF3bD6rb8C8DbLVxBS56n0-2Bmjw86GE2Tz8Kc2CUakVXH3HS4P4fwBCFy-2F3oBiQ1QDPSfy8K9B8yqWNS9todRfEx4jL5GtZ4JvpeVBi1R9ykFDKC6Zgux0C4yOz1oUZ0Hb9Xv7l8UcX6Cwfu1-2BN73i5coM-2BWwyNSlY-3D">http://www.live555.com/</a></span></span>
  
<img src="http://email.europa-network.com/wf/open?upn=c7yYin3mKuhF3bD6rb8C8DbLVxBS56n0-2Bmjw86GE2Tz8Kc2CUakVXH3HS4P4fwBCFy-2F3oBiQ1QDPSfy8K9B8ygiAOT9v5ConU4CkMenfiw5-2B8oPx-2BQga-2BDeI-2BBm0Xkzc60RCTsOicupqRc-2FmSw90Wbhsuv3xJ3fbjl2ieeofpdo-3D" alt="">
</body>
</html>