Skip to main content
Inspiring
June 26, 2014
Answered

RTMP to HLS

  • June 26, 2014
  • 3 replies
  • 3178 views

Dear Adobe Team,

i have been trying to achieve this from loooooooooooooong time

Here is the scenario

There is one playlist .. which is playing at server side.

sample ASC code

application.cleintStream = Stream.get("somestream");

application.cleintStream.play('playlist-video',0,-1);

It works fine, flash player can connect to server and play stream.

But the problem is making HLS out of it.

Now the same stream is required for HLS also.

How can i generate/convert this "somestream" to "HLS-stream"..?

Can any one guide/help me how to do this.

It would be really good help...

Thank You

This topic has been closed for replies.
Correct answer shankar_thapa

Dear Charles

thanks for your input, but still that is not exact solution.

Perhaps i have figured it out, here is solution details

Might save some one's time

1. Make server side playlist and play at serverside

2. Once the video is playing at server level, publish that playing stream to livepkgr

3. Once the stream is published to livepkgr, FMS automatic creats HLS as LIVE stream

4. This is how you can publish RTMP to HLS

Code:-

///First make server side playlist

application.cleintStream = Stream.get("streamName");

application.cleintStream.play("mp4:folder/video1.mp4" , 0 , -1 , true);

application.cleintStream.play("mp4:folder/video2.mp4", 0 , -1, false);

application.cleintStream.play("mp4:folder/video3.mp4", 0 , -1, false);

/// now connect to LIVEPKGR than attached n publish that stream to LIVEPKGR

application.nc = new NetConnection();

application.nc.connect( "rtmp://localhost:1935/livepkgr" );

application.nc.onStatus = function(info) {

  trace(info.code+"   livepkgr");

  if(info.code == "NetConnection.Connect.Success"){

  application.ns = new NetStream(application.nc);

  application.ns.setBufferTime(3);

  application.ns.attach(application.cleintStream);

  application.ns.publish(application.cleintStream.name,"live");

  }

}

/// once you are done with this, its pretty easy and simple to make HLS output(m3u8)

Few key points to note:-

need to edit [Event.xml] under fms-installed-folder\applications\livepkgr\events\_definst_\streamName

<EventID>streamName</EventID>

Validate IF stream is getting published

streamName folder should be created under fms-installed-folder\applications\livepkgr\streams\_definst_\

So final out put of HLS stream should look like this [ http://localhost/hls-live/livepkgr/_definst_/streamName/streamName.m3u8 ]

Hope this will save some one else time.

Note I have done this with AMS-5

Cheers

3 replies

shankar_thapaAuthorCorrect answer
Inspiring
August 5, 2014

Dear Charles

thanks for your input, but still that is not exact solution.

Perhaps i have figured it out, here is solution details

Might save some one's time

1. Make server side playlist and play at serverside

2. Once the video is playing at server level, publish that playing stream to livepkgr

3. Once the stream is published to livepkgr, FMS automatic creats HLS as LIVE stream

4. This is how you can publish RTMP to HLS

Code:-

///First make server side playlist

application.cleintStream = Stream.get("streamName");

application.cleintStream.play("mp4:folder/video1.mp4" , 0 , -1 , true);

application.cleintStream.play("mp4:folder/video2.mp4", 0 , -1, false);

application.cleintStream.play("mp4:folder/video3.mp4", 0 , -1, false);

/// now connect to LIVEPKGR than attached n publish that stream to LIVEPKGR

application.nc = new NetConnection();

application.nc.connect( "rtmp://localhost:1935/livepkgr" );

application.nc.onStatus = function(info) {

  trace(info.code+"   livepkgr");

  if(info.code == "NetConnection.Connect.Success"){

  application.ns = new NetStream(application.nc);

  application.ns.setBufferTime(3);

  application.ns.attach(application.cleintStream);

  application.ns.publish(application.cleintStream.name,"live");

  }

}

/// once you are done with this, its pretty easy and simple to make HLS output(m3u8)

Few key points to note:-

need to edit [Event.xml] under fms-installed-folder\applications\livepkgr\events\_definst_\streamName

<EventID>streamName</EventID>

Validate IF stream is getting published

streamName folder should be created under fms-installed-folder\applications\livepkgr\streams\_definst_\

So final out put of HLS stream should look like this [ http://localhost/hls-live/livepkgr/_definst_/streamName/streamName.m3u8 ]

Hope this will save some one else time.

Note I have done this with AMS-5

Cheers

Participating Frequently
July 23, 2014

Please refer Adobe Media Server 5.0.3 * Stream live media (HTTP) to configure HTTP Live Streaming with AMS.

Inspiring
June 27, 2014

dear Adobe team ...

Any one..!?

Inspiring
July 1, 2014

Which version are you using. Just in Time HLS support is available version 4.5 onwards.

Inspiring
July 1, 2014

AMS 5 Professional version