Skip to main content
February 23, 2012
Answered

FMS 4.5 (HDS/HLS) not working

  • February 23, 2012
  • 1 reply
  • 13591 views

I watched two videos by Jody Bleyle:

1. http://www.adobe.com/devnet/flashmediaserver/articles/single-live-video-stream-http-flash-ios.html

2. http://www.adobe.com/devnet/flashmediaserver/articles/live-multi-bitrate-video-http-flash-ios.html

In Video 1, she shows how to stream a single file.  I've done everything to the letter on this video, however, when she uses the videoplayer to reference the livestream.f4m file, there is none.  I've actually checked the folder location (apploications/livepkgr/streams/_definst_/livestream and there are files in there (.f4f and .f4x), but no .f4m which is the file she references in the video player.

In Video 2, she shows how to create a multi-bitrate video stream.  Using the manifest packager and creating a .f4m and .m3u8 package and placing it in the webroot folder.  Here is the contents of my liveevent.f4m file:

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

  <baseURL>http://live.stefanientertainment.com/hds-live/livepkgr/_definst_/liveevent/</baseURL>

  <media href="livestream1" bitrate="150"/>

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

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

</manifest>

When I bring up the sample video player and input the stream url "http://localhost/liveevent.f4m" and click "Play Stream" I get and error "The F4M document contains errors...Error parsing f4m file.

What the heck am I missing here?  This shouldn't be rocket science!

    This topic has been closed for replies.
    Correct answer SE_0208

    Let's try to do it step by step (some steps are extra but lets do it so that we get it working at first time itself):-

    Assumptions:

    1. You have FMS 4.5

    2. You have FMLE with MainConcept AAC Plug-in (HLS does not work with mp3 as audio codec)

    Now

    1. Stop your FMS.

    2. Delete "streams" folder under "livepkgr"

    3. Delete any .stream files created in "livepkgr/events/_definst_/liveevent"

    4. Start your FMS again.

    5. Now in FMLE your settings would be as below

    Video: H.264 , Baseline 3.0 , Keyframe Frequency:4 , Frame rate: 29.97

    Audio: AAC or HE-AAC | Bit rate: 40 | Sampling rate: 22.05 KHzs | Stereo

    MBR set: 60/160/310

    Server URI: rtmp://<serverip>/livepkgr

    Streamname: livestream%i?adbe-live-event=liveevent

    4. Publish the stream by hitting "Start" button

    5. Go to livepkgr application folder and check if 3 .stream files are created under "livepkgr/events/_definst_/liveevent" and under "streams/_definst_" if "livestream1","livestream2" and "livestream3" folder are created. Inside "livestream1" you should see .control, .f4x , .f4f & .bootstrap files getting created - similarly for "livestream2" and "livestream3". This is to make sure your recording is working fine.

    5. Now go to your iPAD and in safari browser put below URI

    http://<serveruri>/hls-live/livepkgr/_definst_/liveevent.m3u8

    Even if you follow above steps and dont get working then we will have to see what is going wrong. Do let me know.

    1 reply

    Adobe Employee
    February 24, 2012

    You won't find .f4m file on the disk for live events - so that's the reason you are not finding the .f4m file in the folder where you are searching for it.

    What error do you get when you try to play single stream? Do you have crossdomain.xml in your webroot directory?

    Flash Media Playback : http://www.osmf.org/configurator/fmp/

    February 24, 2012

    SE_0208,

    Jody should have explained it as such in her video.  In video 1, she states the following:

    Publish (FLME)

    (server and app) rtmp://[fmsdomain]/livepkgr

    (stream) livestream?adbe-live-event=liveevent

    Play


    (HDS) http://[fmsdomain]/hds-live/livepkgr/_definst_/liveevent/livestream.f4m

    (HLS) http://[fmsdomain]/hls-live/livepkgr/_definst_/liveevent/livestream.m3u8

    She says nothing about using the creating the .f4m or .m3u8 file using the Set-Level F4M/MDU8 File Generator (SLFG) or placing them in the liveevent folder as stated above.  So if I use the SLFG to generate these files, where do I put them? Also, the reference to "hds-live" and "his-live" are relative to what?  As you can see in the file path tree below, the structure is correct:

    Also, there is a manifest file called "manifest.xml" under /applications/livepkgr/events/_definst_/liveevent folder. The contents are as follows:

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

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

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

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

    </manifest>

    Answering your second question first "Do you have a crossdomain.xml in your webroot directory?" No I don't

    On your first question "What error do you get when you try to play single stream?" I can use use FLME to to create an FMS URL: rtmp://live.stefanientertainment.com/live and a Stream: cameraFeed%i. Using the

    Flash Media Playback : http://www.osmf.org/configurator/fmp/, , I can create the HTML embedded code, put it on my website and play a single stream or multi-bitrate stream all day long.

    My issue is getting this stream to play on a iOS device (iPad/iPhone). I need to use the HLS/m3u8 format, To be honest, both of Jody's videos make a lot of assumptions, don't work and should not be tagged as "User Level: Beginning".  So can you provide me with an easy way to stream HLS/m3u8?

    Thanks once again, Gio.

    Don't mean to rant.  Just a little frustrated.  Trying to get a live feed up for this weekend.

    SE_0208Correct answer
    Adobe Employee
    February 25, 2012

    Let's try to do it step by step (some steps are extra but lets do it so that we get it working at first time itself):-

    Assumptions:

    1. You have FMS 4.5

    2. You have FMLE with MainConcept AAC Plug-in (HLS does not work with mp3 as audio codec)

    Now

    1. Stop your FMS.

    2. Delete "streams" folder under "livepkgr"

    3. Delete any .stream files created in "livepkgr/events/_definst_/liveevent"

    4. Start your FMS again.

    5. Now in FMLE your settings would be as below

    Video: H.264 , Baseline 3.0 , Keyframe Frequency:4 , Frame rate: 29.97

    Audio: AAC or HE-AAC | Bit rate: 40 | Sampling rate: 22.05 KHzs | Stereo

    MBR set: 60/160/310

    Server URI: rtmp://<serverip>/livepkgr

    Streamname: livestream%i?adbe-live-event=liveevent

    4. Publish the stream by hitting "Start" button

    5. Go to livepkgr application folder and check if 3 .stream files are created under "livepkgr/events/_definst_/liveevent" and under "streams/_definst_" if "livestream1","livestream2" and "livestream3" folder are created. Inside "livestream1" you should see .control, .f4x , .f4f & .bootstrap files getting created - similarly for "livestream2" and "livestream3". This is to make sure your recording is working fine.

    5. Now go to your iPAD and in safari browser put below URI

    http://<serveruri>/hls-live/livepkgr/_definst_/liveevent.m3u8

    Even if you follow above steps and dont get working then we will have to see what is going wrong. Do let me know.