Debian – Installer le module h264 streaming pour Lighttpd

Posted on 17/03/2011 · Posted in Linux

Ce tutoriel est un condensé de mes recherches sur Internet pour l’installation du module h264 streaming pour Lighttpd.

Voici les deux principales ressources : h264.code-shop.com & Debian root ( allemand ).

L’objectif des prochaines commandes est de recompiler Lighttpd pour récupérer les modules h264-streaming et les copier dans le Lighttpd qui est géré par votre gestionnaire de paquet.

Installation des paquets utiles à la compilation de Lighttpd.

1
apt-get install build-essential automake autoconf libtool pkg-config libpcre3-dev zlib1g-dev libbz2-dev libfam-dev

Les paquets : libpcre3-dev zlib1g-dev libbz2-dev libfam-dev ne sont pas nécessaires. Si vous ne souhaitez pas les installés, penser à invoquer la commande ./configure avec les options –without-pcre –without-zlib –without-bzip2 –without-fam

S’il n’est pas déjà présent sur votre Debian, installons Lighttpd.

1
apt-get install lighttpd

Téléchargeons les sources de Lighttpd 1.4.18 contenant le module h264 streaming.

1
2
3
cd /tmp
wget http://h264.code-shop.com/download/lighttpd-1.4.18_mod_h264_streaming-2.2.9.tar.gz
tar -zxvf lighttpd-1.4.18_mod_h264_streaming-2.2.9.tar.gz

Téléchargeons les sources de Lighttpd géré par votre gestionnaire de paquet. Lors de la rédaction de l’article, Debian Lenny utilise Lighttpd version 1.4.19.

1
apt-get source lighttpd

Copions les quelques fichiers sources utiles à la compilation du module h264 streaming.

1
2
3
cd /tmp/lighttpd-1.4.18/src/
cp mod_h264_streaming.c mod_streaming_export.h moov.* mp4_io.* mp4_process.*
mp4_reader.* mp4_writer.* output_bucket.* output_mp4.* /tmp/lighttpd-1.4.19/src/

Nous allons modifier le fichier Makefile.

1
2
cd /tmp/lighttpd-1.4.19/src/
vim Makefile.am

Vous pouvez rajouter les lignes suivantes après la définition du module mod_flv_streaming.

1
2
3
4
5
6
7
8
9
10
11
12
13
lib_LTLIBRARIES += mod_h264_streaming.la
mod_h264_streaming_la_SOURCES = mod_h264_streaming.c
                                mod_streaming_export.h
                                moov.c moov.h
                                mp4_io.c mp4_io.h
                                mp4_reader.c mp4_reader.h
                                mp4_writer.c mp4_writer.h
                                mp4_process.c mp4_process.h
                                output_bucket.c output_bucket.h
                                output_mp4.c output_mp4.h
mod_h264_streaming_la_CFLAGS = $(AM_CFLAGS) -DBUILDING_H264_STREAMING
mod_h264_streaming_la_LDFLAGS = -module -export-dynamic -avoid-version -no-undefined
mod_h264_streaming_la_LIBADD = $(common_libadd)

On lance la compilation. Le résultat sera enregistré dans /opt/lighttpd.

1
2
3
4
cd /tmp/lighttpd-1.4.19
./autogen.sh
./configure --enable-maintainer-mode --prefix=/opt/lighttpd
make && make install

Copions les binaires du module h264 dans l’installation de Lighttpd géré par votre gestionnaire de paquet.

1
2
cd /opt/lighttpd/lib/
cp mod_h264_streaming.so mod_expire.so mod_secdownload.so /usr/lib/lighttpd/

Éditer le fichier /etc/lighttpd/lighttpd.conf et rajouter :

1
2
3
4
5
6
server.modules = (
  ...,
  "mod_h264_streaming",
  ...
)
h264-streaming.extensions = ( ".mp4" )

Maintenant que tout est fini, vous pouvez relancer votre serveur HTTP et profiter.