使用Lighttpd和FlowPlayer(Debian Etch)构建自己的视频社区

使用Lighttpd和FlowPlayer(Debian Etch)构建您自己的视频社区

版本1.0
作者:Falko Timme

本文介绍如何使用lighttpd及其mod_flv_streaming模块(用于流媒体.flv视频,大多数主要视频社区(如YouTube )使用的格式)及其mod_secdownload模块(用于防止视频的热链接)构建自己的视频社区。 我将使用FlowPlayer作为视频播放器,一个免费的Flash视频播放器,支持lighttpd的mod_flv_streaming模块。 我还将展示如何将视频( .mp4 .mov .mpg .3gp .mpeg .wmv .avi )编码为Adobe Flash支持的FLV格式。

本文档不附带任何形式的保证! 我想说,这不是设立这样一个制度的唯一办法。 实现这一目标有很多方法,但这是我所采取的方式。 我不会保证这将为您工作!

1初步说明

在本教程中,我使用IP地址为192.168.0.100的hostname server1.example.com 。 这些设置可能会有所不同,因此您必须在适当的情况下更换它们。

我们需要一个带有PHP支持的lighttpd安装,如本教程所示: 在Debian Etch上安装带有PHP5和MySQL支持的Lighttpd 。 我不会在这里覆盖,所以请参考本教程,如果您还没有设置lighttpd与PHP支持。

2安装LAME

LAME是MPEG音频三层(MP3)编码器。 我们需要这样做,以便我们的视频在转换为FLV时不会失去声音。 不幸的是,LAME不能作为Debian的Debian Etch软件包使用,所以我们必须手动编译。 首先,我们安装我们编译所需的工具:

apt-get install build-essential

然后,我们转到/ tmp目录并从SourceForge下载最新的LAME版本,例如:

cd /tmp
wget http://mesh.dl.sourceforge.net/sourceforge/lame/lame-3.97.tar.gz

然后我们解压缩并编译LAME:

tar xvfz lame-3.97.tar.gz
cd lame-3.97
./configure --enable-shared --prefix=/usr
make
make install

3安装ffmpeg

我们将使用ffmpeg将我们的视频文件转换为FLV格式。 首先,我们安装ffmpeg和一些这样的插件:

apt-get install ffmpeg libavcodec0d libavformat0d libavifile-0.7c2 libpostproc0d libasound2-plugins avifile-player avifile-utils avifile-mad-plugin avifile-mjpeg-plugin avifile-vorbis-plugin

Debian的ffmpeg包的问题是MP3编码不支持,这意味着我们的FLV视频在转换后会失去声音。 因此,我们将重新编译Debian的ffmpeg源码包与mp3lame支持(这就是为什么我们必须在前一章安装LAME)。

首先我们将ffmpeg源码包下载到/ usr / src中

cd /usr/src/
apt-get source ffmpeg

然后我们更改为ffmpeg源目录:

cd ffmpeg-0.cvs20060823

并编辑文件debian / rules 。 在该文件的开头,您将找到两个说明文字。 将配置开关--enable-mp3lame添加到其中一个并保存文件:

vi debian/rules
[...]
confflags += --enable-gpl --enable-pp --enable-pthreads --enable-mp3lame
confflags += --enable-vorbis --enable-libogg --enable-a52 --enable-dts --enable-libgsm
[...]

现在我们可以建立我们新的ffmpeg包:

dpkg-buildpackage

dpkg-buildpackage很可能会抱怨构建新的ffmpeg .deb包所需的缺少的包。

server1:/usr/src/ffmpeg-0.cvs20060823# dpkg-buildpackage
dpkg-buildpackage: source package is ffmpeg
dpkg-buildpackage: source version is 0.cvs20060823-8
dpkg-buildpackage: source changed by Sam Hocevar (Debian packages) <sam+deb@zoy.org>
dpkg-buildpackage: host architecture i386
dpkg-buildpackage: source version without epoch 0.cvs20060823-8
dpkg-checkbuilddeps: Unmet build dependencies: debhelper (>= 4.0) quilt libogg-dev libvorbis-dev liba52-dev libdts-dev zlib1g-dev libsdl1.2-dev libfreetype6-dev libimlib2-dev texi2html libraw1394-dev libdc1394-13-dev libtheora-dev (>> 0.0.0.alpha4) libgsm1-dev
dpkg-buildpackage: Build dependencies/conflicts unsatisfied; aborting.
dpkg-buildpackage: (Use -d flag to override.)
server1:/usr/src/ffmpeg-0.cvs20060823#

如果您看到这样的错误,请安装丢失的软件包,例如:

apt-get install debhelper quilt libogg-dev libvorbis-dev liba52-dev libdts-dev zlib1g-dev libsdl1.2-dev libfreetype6-dev libimlib2-dev texi2html libraw1394-dev libdc1394-13-dev libtheora-dev libgsm1-dev

之后再运行dpkg-buildpackage

dpkg-buildpackage

dpkg-buildpackage命令现在应该再次编译ffmpeg并在/ usr / src目录中创建新的.deb包(ffmpeg加一些插件)。 这可能需要一些时间,所以请耐心等待。 最后可能会收到关于签名的警告 - 您可以忽略它们。

之后,我们转到/ usr / src目录并安装我们的新的.deb软件包:

cd ..
dpkg -i *.deb

这就是ffmpeg。

4安装flvtool2

当我们将视频转换为FLV格式时,我们需要添加一些元数据,例如视频的持续时间到FLV文件,以便FlowPlayer可以正确显示视频的长度。 我们可以使用flvtool2添加这个元数据。 flvtool2是用Ruby编写的,所以我们必须首先安装Ruby:

apt-get install ruby

然后我们将最新版本的flvtool2下载到/ tmp目录 ,例如:

cd /tmp
wget http://rubyforge.org/frs/download.php/17497/flvtool2-1.0.6.tgz

之后,我们安装它:

tar xvfz flvtool2-1.0.6.tgz
cd flvtool2-1.0.6
ruby setup.rb config
ruby setup.rb setup
ruby setup.rb install
赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏