You are not logged in.
Greetings all,
I have a small NAS server I self-configured using Arch. It runs lighttpd to offer content over HTTP to my internal network and also externally via SSL (behind an authentication and alternative port).
Currently, I have a lot of H264 encoded MP4 files in my Video folder. I want to be able to effectively stream these files via HTTP. The target devices would be iOS, Android, etc. Basically anything that can play the encoded file while streaming it over HTTP.
This does work as it stands for the most part - I can usually just give the URL For a video file and it will play. However, seeking is dreadfully slow and the buffering at the start of playback is annoying. Sometimes there is enough lag in streaming that the client device times out. Oddly, the only way to get working again from that state is to restart the lighttpd server.
I read about lighttpd-h264 (http://h264.code-shop.com/trac/wiki/Mod … d-Version2) but it looks like you actually modify the source tree for lighttpd and this is version-specific. The current lighttpd version is 1.4.35, so I will not downgrade to a version like 1.4.18 just for this feature.
The AUR has a PKGBUILD for "lighttpd-h264" (https://aur.archlinux.org/packages/lighttpd-h264/) but the package is flagged as out-of-date and indeed is based on lighttpd-1.4.28 - still a few versions old. In either case, just for experimentation, I tried to build the package on a fully updated arch system and received an error during the m4 compile step. (See below.)
I did a search on Google for "lighttpd 1.4.35 h264" and saw an rpm package of a supposed build of just the plugin itself (http://sophie.zarb.org/distrib/PLD/th/i … _streaming) but I doubt this will work.
I am not well-versed enough yet to write my own pkgbuild file. While I understand the concept, I am not yet confident enough to deal with patching the sources in (they don't use a standard .patch, looks like a rather convoluted process, and it may not even work on current versions...). I can certainly do configure/make/make install and even modify configure parameters to tweak builds, but the process for this setup seems a lot more involved.
So the ultimate question is: How can I achieve the features of h264 streaming using lighttpd on my Arch server?
Thanks!
Result of trying to compile the AUR package:
[fmillion@localhost lighttpd-h264]$ ls
PKGBUILD lighttpd-1.4.28.tar.bz2 lighttpd.rc.d
lighttpd-1.4.18_mod_h264_streaming-2.2.9.tar.gz lighttpd.conf pkg
lighttpd-1.4.28-Makefile.am-h264-streaming.patch lighttpd.logrotate.d src
[fmillion@localhost lighttpd-h264]$ makepkg
==> Making package: lighttpd-h264 1.4.28-1 (Fri Jul 4 02:11:12 UTC 2014)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
-> Found lighttpd-1.4.28.tar.bz2
-> Found lighttpd-1.4.18_mod_h264_streaming-2.2.9.tar.gz
-> Found lighttpd-1.4.28-Makefile.am-h264-streaming.patch
-> Found lighttpd.rc.d
-> Found lighttpd.logrotate.d
-> Found lighttpd.conf
==> Validating source files with md5sums...
lighttpd-1.4.28.tar.bz2 ... Passed
lighttpd-1.4.18_mod_h264_streaming-2.2.9.tar.gz ... Passed
lighttpd-1.4.28-Makefile.am-h264-streaming.patch ... Passed
lighttpd.rc.d ... Passed
lighttpd.logrotate.d ... Passed
lighttpd.conf ... Passed
==> Extracting sources...
-> Extracting lighttpd-1.4.28.tar.bz2 with bsdtar
-> Extracting lighttpd-1.4.18_mod_h264_streaming-2.2.9.tar.gz with bsdtar
==> Removing existing pkg/ directory...
==> Starting build()...
patching file /home/fmillion/pkg/lighttpd-h264/src/lighttpd-1.4.28/src/Makefile.am
./autogen.sh: running `libtoolize --copy --force'
libtoolize: putting auxiliary files in `.'.
libtoolize: copying file `./ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'.
libtoolize: copying file `m4/libtool.m4'
libtoolize: copying file `m4/ltoptions.m4'
libtoolize: copying file `m4/ltsugar.m4'
libtoolize: copying file `m4/ltversion.m4'
libtoolize: copying file `m4/lt~obsolete.m4'
./autogen.sh: running `aclocal -I m4'
configure.ac:42: error: automatic de-ANSI-fication support has been removed
/usr/share/aclocal-1.14/obsolete.m4:26: AM_C_PROTOTYPES is expanded from...
configure.ac:42: the top level
autom4te: /usr/bin/m4 failed with exit status: 1
aclocal: error: echo failed with exit status: 1
==> ERROR: A failure occurred in build().
Aborting...
[fmillion@localhost lighttpd-h264]$
Last edited by fdmillion (2014-07-04 07:13:50)
Offline