How to set up your external apache for HDS and HLS

FMS comes up with the bundled Apache version 2.2.17, supplied with respective modules and configuration to support HDS and HLS streaming. There is a complete workflow which includes, encoder, FMS and Apache as webserver that delivers your live stream on HTTP to iOS and Flash devices..

But some users might have their previous installation of Apache that they may not like to replace with the one that is bundled with FMS. Alright.. Here is how you can configure your external Apache to work along with FMS to stream your content to iOS devices..

1. Place following modules inside your <External Apache Dir>/modules

a. On windows : adbe_dms.dll adbe_license.dll asneu.dll hds.dll libeay32.dll libexpat.dll libf4f.dll mod_hlshttp.so mod_jithttp.so mod_f4fhttp.so

b. On linux: libadbe_dme.so libadbe_flv.so libadbe_license.so libasneu.so.1 libcrypto.so.1.0.0 libexpat.so.1 libhds.so mod_hlshttp.so mod_jithttp.so mod_f4fhttp.so

You may find these files inside your <FMS installation dir>/Apache 2.2/modules on respective platforms..

2. Edit httpd.conf file for the configurations:

a. For HLS, pick following configurations from <FMS installation dir>/Apache 2.2/conf/httpd.conf and paste in <External Apache Dir>/conf/httpd.conf

LoadModule hlshttp_module modules/mod_hlshttp.so

<IfModule hlshttp_module>
<Location /hls-live>
    HLSHttpStreamingEnabled true
    HttpStreamingLiveEventPath “../applications”
    HttpStreamingContentPath “../applications”
    HLSMediaFileDuration 8000
    HLSSlidingWindowLength 6
    HLSFmsDirPath “..”
    HLSM3U8MaxAge 2
    HLSTSSegmentMaxAge -1
    Options -Indexes FollowSymLinks
</Location>

<Location /hls-vod>
    HLSHttpStreamingEnabled true
    HLSMediaFileDuration 8000
    HttpStreamingContentPath “../webroot/vod”
    HLSFmsDirPath “..”
    Options -Indexes FollowSymLinks
</Location>
</IfModule>

b. Edit following configs value

HttpStreamingLiveEventPath : Point to your FMS application directory, provide full path

HttpStreamingContentPath : Point to your content directory, for hls-live, it can be FMS application directory (full path) and for hls-vod , it can be your vod content path

HLSFmsDirPath: Point to FMS installation directory. This is required for the licensing path.

c. Similarly for HDS, you may pick configuration under location tag hds-vod, hds-live and add following lines

LoadModule f4fhttp_module modules/mod_f4fhttp.so
LoadModule jithttp_module modules/mod_jithttp.so

You will have to edit the value of similar configurations here as well as in case of HLS..

3. To enable encryption, you may require to add more configuration as defined in FMS documentations..

( You may read more about the configurations in the FMS documentation.. But this post may serve you as starting point..)

4. Restart your Apache..

5. In case Apache restart gives issues, check

a. Your Apache version has compatibility with the modules. As I said that modules have been compiled against Apache versions 2.2.17 headers. You may like to check for the dll and modules dependency in something like dependency walker on windows and similarly for linux. Check whether you are still using some old version of openssl on windows or libcrypto on linux.

b. Check you have correct configurations at correct place.

Advertisements

Posted on September 29, 2011, in Uncategorized. Bookmark the permalink. Leave a comment.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: