Skip to main content
Participant
November 8, 2011
Question

Issue getting HLS stream

  • November 8, 2011
  • 1 reply
  • 941 views

I'm not sure what I'm doing wrong but here is what I have. I currently have a RTMP stream going into FMS. I can connect and playback with RTMP fine. Its going to rtmp://IP/live/stream

What I want to do is be able to play through iOS.

I viewed the documents for 4.5 and I am publishing a stream to rtmp://IP/livepkgr/livestream?adbe-live-event=liveevent stream is called 50.

When I try and playback I am trying to access: http://IP/hls-live/livepkgr/livestream/liveevent/50.m3u8 but nothing is found. If I connect directly with my browser I get tehe 404 Not Found. I checked the Admin and I see a app livepkgr, instance livestream and a stream called 50.

What would I have wrong in this setup?

Playing around with the URL, I found that http://IP/hds-live/livepkgr/livestream/50.f4m pulled a file.

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

<id>livepkgr/events/livestream/50</id>

<streamType>live</streamType>

<duration>0</duration>

<bootstrapInfo profile="named" url="../../streams/livepkgr/streams/livestream/50/50.bootstrap"id="bootstrap7915"></bootstrapInfo>

<media streamId="50" url="../../streams/livepkgr/streams/livestream/50/50" bootstrapInfoId="bootstrap7915">

<metadata>

AgAKb25NZXRhRGF0YQgAAAAAAAxhdWRpb2NvZGVjaWQCAARubW9zAA9hdWRpb3NhbXBsZXJhdGUAQNV8AAAAAAAADWF1ZGlvY2hhbm5lbHMAP/AAAAAAAAAACXRyYWNraW5mbwoAAAACAwAJdGltZXNjYWxlAECPQAAAAAAAAAhsYW5ndWFnZQIAA2VuZwAACQMACXRpbWVzY2FsZQBAj0AAAAAAAAAIbGFuZ3VhZ2UCAANlbmcAAAkAAAk=

</metadata>

</media>

</manifest>

    This topic has been closed for replies.

    1 reply

    Adobe Employee
    November 8, 2011

    Hello,

    You need to connet to

    rtmp://IP/livepkgr/livestream

    Your stream name has to be

    50?adbe-live-event=liveevent

    And your susbscribing URL has to be in that case

    http://IP/hls-live/livepkgr/livestream/liveevent/50.m3u8

    Specifying adbe-live-event parameter with the stream attach the stream with a specific event. In case you don't want to, you may skip this and provide the stream name as simply "50"

    In that case event name will be same as stream name and your susbscribing URL will be

    http://IP/hls-live/livepkgr/livestream/50/50.m3u8

    For troubleshooting more, you may refer my personal blog post @ http://knowfms.wordpress.com/2011/09/22/some-basic-step-to-troubleshoot-for-hls-live-streaming/

    Hope it helps

    Participant
    November 8, 2011

    Thank you for all that information. That helped me out a lot since I was slightly confused with all that.

    I am accessing the m3u8 location correctly now but I'm not getting any playback on the device. Per your blog on troubleshooting, everything seems fine till I get to the error logs in apache. I'm getting this:

    [Mon Nov 07 23:30:47 2011] [warn]  current playlist file size is zero for event:livepkgr/events/livestream/50 stream name:50

    The player picks up and looks like it tried to play something but then just doesnt do anything like timing out. Currently I am using android 3.0 since I dont have access to the iOS device at the moment but 3.0 says it should play HLS and seems to attempt to play the file.

    Would you have any suggestions as to what to start looking at as to why the playlist file size is zero?

    Adobe Employee
    November 8, 2011

    Ok..

    I would first suggest

    1."Place a request for the m3u8 from any web browser’s address bar. It won’t play it, but should be able to serve you the m3u8 as text file." Download the text file. See if it contains any entries?? You may have 0 size playlist file in case, you requested it as soon as you started publshing. In that case, you might not have enough recorded data on to the disk to mention in the m3u8 file.

    So if you are getting the 0 size error on m3u8 demand even after 30-40 seconds of publish start, then this is concern.

    2. Try checking the access logs inside <apache>/logs directory. Check what all request are hitting the server when you playback and what are being successfully returned with HTTP error code 200.

    So if I explain the protocol, you must get request for the m3u8 from the client in case of live stream..followed by the request for the ts files mentioned in the current playlist served by the server. And the same should repeat then.

    3. You said, you have already checked this, but be sure that you are using H264 +AAC/HEAAC  as codec.

    Finally, I would like to know how you are playing on Andriod device. Are you playling on web-browser, or some client app, some client player or as HTML5 tag. We have done minimal testing on Andriod.. So if you can let me know your device + client details.. I may check myself here..