wiki:Mod-H264-Streaming-Lighttpd-Version2

Version 8 (modified by Arjen, 12 years ago) (diff)

--

Downloading and building the H264 Streaming Module for Lighttpd (version 2)

back


Dependencies

To make sure you have all dependencies (configuration files, startup scripts) installed it's best to first install Lighttpd via 'apt-get'.

sudo apt-get install lighttpd

Download Lighttpd 1.4.18

Download the source of Lighttpd and the H264 Streaming Module.

cd ~
svn export http://h264.code-shop.com/svn/h264/tags/mod_h264_streaming-2.0/lighttpd-1.4.18 lighttpd-1.4.18
svn export --force http://h264.code-shop.com/svn/h264/tags/mod_h264_streaming-2.0/mp4split lighttpd-1.4.18/src

Download Lighttpd 1.4.19 & 1.4.20 (and other 1.4.x)

Follow the instructions for 'Download Lighttpd 1.4.18' first. Then continue with the following steps.

Download a source distribution (e.g. 1.4.20.prerelease r2303), build and install your version of Lighttpd (from the official site) as you would do normally.

The following instructions are basically a copy of the Lighttpd's page of How to add a Lighttpd plugin.

Prerequisites

Make sure you have automake 1.9 (required by autogen.sh), autoconf 2.59 and libtool 1.5.x.

Files

Copy the module's files from the 1.4.18 source distribution to your source distribution (lighttpd-1.4.x).

cp lighttpd-1.4.18/src/moov.* lighttpd-1.4.x/src/
cp lighttpd-1.4.18/src/mod_h264_streaming.c lighttpd-1.4.x/src/

Makefile

First you add the following to the lighttpd-1.4.x/src/Makefile.am file:

lib_LTLIBRARIES += mod_h264_streaming.la
mod_h264_streaming_la_SOURCES = mod_h264_streaming.c moov.c
mod_h264_streaming_la_LDFLAGS = -module -export-dynamic -avoid-version -no-undefined
mod_h264_streaming_la_LIBADD = $(common_libadd)

(for example, just after 'mod_flv_streaming')

Then, you type this:

./autogen.sh
./configure --enable-maintainer-mode --prefix=${HOME}/test/lighttpd-1.4.x

in the lighttpd-1.4.x directory. The 'enable-maintainer-mode will trigger a rebuild of all makefiles by autoconf ...

Note: You may not see the plugin listed in the 'Plugins: enabled:' list. No reason to worry.

After this you are all set and should type 'make && make install' - the exe+libs will be installed in ${HOME}/test/lighttpd-1.4.x.

Download Lighttpd 1.5.0

cd ~
svn export http://h264.code-shop.com/svn/h264/tags/mod_h264_streaming-2.0/lighttpd-1.5.0 lighttpd-1.5.0
svn export --force http://h264.code-shop.com/svn/h264/tags/mod_h264_streaming-2.0/mp4split lighttpd-1.5.0/src

Build

Run configure in the Lighttpd directory.

cd ~/lighttpd-1.4.18
./configure

Make and install Lighttpd.

make
sudo make install

Configuration

Edit the configuration file (in /etc/lighttpd/lighttpd.conf) so that file requests ending in ".mp4" are handled by the mod_h264_streaming module.

server.modules = ( 
  ...,
  "mod_h264_streaming",
  ...
)
h264-streaming.extensions = ( ".mp4" )

Note that if you are using mod_secdownload to prevent hotlinking of your mp4 files that it is included before the mod_h264_streaming in the module list.

Make sure that DAEMON in your startup script (/etc/init.d/lighttpd) is set to point to the locally build version.

DAEMON=/usr/local/sbin/lighttpd

Start Lighttpd

sudo /etc/init.d/lighttpd start

Testing

Continue to the testing page to verify your setup.

Demo

See http://h264.code-shop.com:8080/testlist.html for a demo running Lighttpd 1.5.0.