How to set up Adobe HDS from an edge server to align live adaptive bitrate streams (RTMP)

  1. Before you call play on the edge server in your client-side code, use NetConnection.call() to call FCSubscribe and pass in the name of each individual stream included in the multiple-bitrate presentation:
    nc.call("FCSubscribe", null, "live_1");
    nc.call("FCSubscribe", null, "live_2");
    nc.call("FCSubscribe", null, "live_3");
    Note: This is built-in to JW Player by setting the Flashvar rtmp.subscribe=true. See the JW Player Dynamic RTMP Streaming tutorial.
  2. On the origin server, add the sendOriginalTimecodes property to the <Streams>/<Properties> container in the [install-dir]/conf/[application]/Application.xml file (be sure to put the property in the correct <Properties> container as there are several in the Application.xml file):
    <Property>
    	<Name>sendOriginalTimecodes</Name>
    	<Value>true</Value>
    	<Type>Boolean</Type>
    </Property>
  3. You must either use .stream files to point to the origin streams or use the Stream Name Alias AddOn package (using stream aliases, not play aliases) to turn a simple stream name into the full RTMP URL to the origin RTMP stream. For example, with streams myStream_1 and myStream_2 that are hosted at the RTMP URL rtmp://192.168.1.7/live, create the following files:

    [install-dir]/content/myStream_1.stream (contents)
     
    rtmp://192.168.1.7/live/_definst_/myStream_1

    [install-dir]/content/myStream_2.stream (contents)
     
    rtmp://192.168.1.7/live/_definst_/myStream_2

    Then use stream names myStream_1.stream and myStream_2.stream.

If you're having problems or want to discuss this article, post in our forum.