Skip to main content
April 7, 2015
Answered

External HDS/HLS storage: Invoking files stored on an external drive.

  • April 7, 2015
  • 1 reply
  • 3899 views

Followed the following article to add an external drive to store our vod streams (article is no longer available):

http://help.adobe.com/en_US/flashmediaserver/devguide/WS0432746db30523c21e63e3d12eea2a8fc0-8000.html#WS0432746db30523c21e63e3d12eea2a8fc0-7ffd

FMS 4.5 Streaming HDS from non default location

Connected an external hard drive to the server with the following folders on it (vod2 > media), so the path is:  G:\vod2\media. New video files are inside the last folder (media).

1. Modified: rootinstall/conf/fms.ini: added a new parameter for HTTP and RTMP streaming: VOD_COMMON_DIR_2 = G:\vod2\media

2. Modified: rootinstall/applications/vod/Application.xml: Added <StreamManager><VirtualDirectory><Streams>/vod2;${VOD_COMMON_DIR_2}</Streams>

3. Modified HLS and HDS content storage in httpd.conf (copied and pasted under original settings): The location names are /hls-vod2 and /hds-vod2, correct?


<Location /hls-vod2>

    HLSHttpStreamingEnabled true

    HLSMediaFileDuration 8000

    HttpStreamingContentPath "G:\vod2\media"

.......

</Location>

<Location /hds-vod2>

    HttpStreamingJITPEnabled true

    HttpStreamingContentPath "G:\vod2\media"

    HttpStreamingJITConfAllowed true

    JitFmsDirPath ".."

    Options -Indexes FollowSymLinks

.....

</Location>

If all of the above modifications are correct, what is the correct url to invoke the hds streams stored on this external drive through rtmp? The original instructions were not consistently clear about this. I have a file called 1.Test.mov in that folder. I've tried:

rtmp://localhost/hds-vod2/mp4:1.Test.mov

rtmp://localhost/hds-vod2/1.Test.mov

rtmp://localhost/hds-vod2/1.Test.mov.f4m


etc.

http://localhost/hls-vod2/1.Test.mov.m3u8 Works for HLS

http://localhost/hds-vod2/1.Test.mov.f4m Works too.


I need the rtmp url so that I can make a .smil file for rtmp fallback, such as:

smil>

  <head>

  <meta base="rtmp://localhost/hls-vod2/"/>

  </head>

  <body>

  <switch>

            <video src="mp4:1.Test_1500kbps.mov" system-bitrate="1500000" width="1920" height="1080" />

            <video src="mp4:1.Test_1200kbps.mov" system-bitrate="1500000" width="1920" height="1080" />

           <video src="mp4:1.Test_800kbps.mov" system-bitrate="1500000" width="1920" height="1080" />

  </switch>

    </body>

</smil>



Thanks

    This topic has been closed for replies.
    Correct answer

    All of Adobe's documentation says that files specified in the vod_common_dir can be streamed from both http and rtmp, but there is no specific mention of what the correct rtmp URL is for files stored on an additional hard drive. Here's what I did to get around this: FMS 3.5 can't connect to media on other drive


    1. HLS streaming:

        a. Modified: rootinstall/conf/fms.ini: added a new parameter for HTTP and RTMP streaming: VOD_COMMON_DIR_2 = G:\vod2\media

        b. Modified: rootinstall/applications/vod/Application.xml: Added <StreamManager><VirtualDirectory><Streams>/vod2;${VOD_COMMON_DIR_2}</Streams>

    2. RTMP streaming: Added the file path of the external storage in the virtual directory of the Application.xml file without specifying or naming the application.

        a. <Streams>/;G:\vod2\media</Streams>

        b. The rtmp for this follows the starndard URL convention: URL Syntax: [protocol]://[servername]/[application]/[codecID:][streamname][.extension]

        c. In my case, this would be: rtmp://localhost/vod/mp4:1.Test.mov

    It would be nice if this worked according to Adobe's documentation, and hopefully someone can chime in with the correct answer to the original question. If not, this gets rtmp and http streaming to work from the same external location (what vod_common_dir is supposed to be able to do).

    Thanks

    1 reply

    Correct answer
    April 13, 2015

    All of Adobe's documentation says that files specified in the vod_common_dir can be streamed from both http and rtmp, but there is no specific mention of what the correct rtmp URL is for files stored on an additional hard drive. Here's what I did to get around this: FMS 3.5 can't connect to media on other drive


    1. HLS streaming:

        a. Modified: rootinstall/conf/fms.ini: added a new parameter for HTTP and RTMP streaming: VOD_COMMON_DIR_2 = G:\vod2\media

        b. Modified: rootinstall/applications/vod/Application.xml: Added <StreamManager><VirtualDirectory><Streams>/vod2;${VOD_COMMON_DIR_2}</Streams>

    2. RTMP streaming: Added the file path of the external storage in the virtual directory of the Application.xml file without specifying or naming the application.

        a. <Streams>/;G:\vod2\media</Streams>

        b. The rtmp for this follows the starndard URL convention: URL Syntax: [protocol]://[servername]/[application]/[codecID:][streamname][.extension]

        c. In my case, this would be: rtmp://localhost/vod/mp4:1.Test.mov

    It would be nice if this worked according to Adobe's documentation, and hopefully someone can chime in with the correct answer to the original question. If not, this gets rtmp and http streaming to work from the same external location (what vod_common_dir is supposed to be able to do).

    Thanks