11 Replies Latest reply: Mar 31, 2014 3:31 AM by Carlos1327 RSS

    HDS live streaming to Flash not working

    Carlos1327 Community Member

      Adobe Flash Media Server 4.5.5 r4013

      Windows 2008

       

      Sources:

      1. http://help.adobe.com/en_US/flashmediaserver/devguide/WSd391de4d9c7bd609-52e437a812a3725df a0-8000.html
      2. http://www.adobe.com/devnet/adobe-media-server/articles/live-multi-bitrate-video-http-flas h-ios.html

       

      Live streaming a single or multi-bitrate video over HTTP to Flash does not work. I have followed the instructions on the 2 sources listed above repeatedly, but I can’t get live streaming over HTTP to Flash to work. Live streaming to iOS over HTTP works with no problems (single and multi-bitrate streams).

       

      I have tried the troubleshooting steps from the following:

      http://help.adobe.com/en_US/flashmediaserver/devguide/WS0432746db30523c21e63e3d12efac195bd -8000.html

      Troubleshoot live streaming (HTTP)

      1. 1.      Services window (Windows): Flash Media Server (FMS), Flash Media Administration Server, and FMSHttpd services are running.
      2. 2.      Verified that the request URL is correct.
      3. 3.      Configured ports:
        1. a.      Configure Apache to use port 80. Open rootinstall/Apache2.2/conf/httpd.conf in a text editor. Change the line Listen 8134 to Listen 80.
        2. b.     Configure Flash Media Server not to use port 80. Open rootinstall/conf/fms.ini in a text editor. Remove 80 from the ADAPTOR.HOSTPORT parameter so the parameter looks like the following: ADAPTOR.HOSTPORT = :1935

       

       

      1. 4.      Placed a crossdomain.xml file to the rootinstall/webroot directory.
      2. 5.      In Flash Media Live Encoder, select the Encoding Options tab, choose Output from the Panel options menu, and verify the following:
        1. a) The value of FMS URL is rtmp://fms-dns-or-ip/livepkgr. If you’re testing on the same server as Flash Media Server, you can use the value localhost for fms-dns-or-ip.
        2. b) For a single stream, the value of Stream is livestream?adbe-live-event=liveevent.
        3. c) For adaptive bitrate streaming, the value of Stream is livestream%i?adbe-live-event=liveevent.

      Flash Media Live Encoder uses this value to create unique stream names. To use another encoder, provide your own unique stream names, for example, livestream1?adbe-live-event=liveevent, livestream2?adbe-live-event=liveevent.

      • The encoder is showing all 3 streams being published and streaming.

       

      1. 6. Check Administration Console: the livepkgr application and the 3 streams are running.
      2. 7. Check the logs for errors. Flash Media Server logs are located in the rootinstall/logs folder. The master.xx.log file and the core.xx.log file show startup failures. Apache logs are located in the rootinstall/Apache2.2/logs folder. X

      a)   core00.log: these errors did not occur every time that I tried playing the live stream but these are the only relevant errors in the logs.

          1. 1. 7968 (w)2611179     Warning from libf4f.dll: [Utils] [livestream2] Discarded all queued Media Messages received before first Video Keyframe Message
          2. 2. 7968 (w)2611179     Warning from libf4f.dll: [Utils] [livestream3] Discarded all queued Media Messages received before first Video Keyframe Message

      b) edge00.log:

      13:33:57 4492          (w)2641213 Connection rejected by server. Reason : [ Server.Reject ] : (_defaultRoot_, _defaultVHost_) : Application (hds-live) is not defined.          -

       

       

      c) Apache-Error:

            1. 1.     [warn]  Checking if stream is disabled but bootstrap path in event file is empty for event:livepkgr/events/_definst_/liveevent stream name:livestream
            2. 2.     [warn] bootstrap path is in event file is empty for event:livepkgr/events/_definst_/liveevent stream name:livestream1

       

      As I mentioned, everything works on iOS and FMS seems to be creating all of the stream segments and meta files:

      1. a.     The 3 streams are being created in: HD:\Program Files\Adobe\Flash Media Server 4.5\applications\livepkgr\streams\_definst_
      2. b.    FMS is creating the following files in each stream folder (livestream1, livestream2, livestream 3):
        1. 1. livestream1.bootstrap
        2. 2. livestream1.control
        3. 3. livestream1.meta
        4. 4. .f4f segments
        5. 5. .f4x segments

       

      The appropriate files are also being created in the HD:\Program Files\Adobe\Flash Media Server 4.5\applications\livepkgr\events\_definst_\liveevent folder, in which I have the following Manifest.xml and Event.xml files:

       

      <manifest xmlns="http://ns.adobe.com/f4m/1.0">

        <media streamId="livestream1" bitrate="200" />

        <media streamId="livestream2" bitrate="500" />

        <media streamId="livestream3" bitrate="1000" />

      </manifest>

       

      <Event>

        <EventID>liveevent</EventID>

        <Recording>

      <FragmentDuration>4000</FragmentDuration>

      <SegmentDuration>16000</SegmentDuration>

          <DiskManagementDuration>3</DiskManagementDuration>

        </Recording>

      </Event>

       

      I’ve tried clearing the contents of both streams\_definst_ and events\_definst_\liveevent (keeping the xml files) after restarting the encoder, and creating a different event definst for the streams (liveevent2 for example).

       

      We have an event in 2 weeks that we would like to stream to both Flash and iOS. Any help in solving this problem will be greatly appreciated.