2010年05月28日

配 置Debian Multimedia源

etch
deb http://www.debian-multimedia.org etch main
lenny
deb http://www.debian-multimedia.org lenny main
squeez
deb http://www.debian-multimedia.org squeeze main

也可以用ftp,但是ftp的连接速度没有http快。

保存以后
aptitude update;aptitude install debian-multimedia-keyring

1.首先选择好源地址;

deb http://ftp.jp.debian.org/debian/ squeeze main contrib non-free
deb-src http://ftp.jp.debian.org/debian/ squeeze main contrib non-free

2.apt-get install ffmpeg x264 libmp3lame-dev

直播;

nice –10 ffmpeg -threads 4 -b 512k -s 720*576 -qscale 1 -r 25 -y -i udp://227.0.1.3:1234 -ar 44100 -ac 1 -ab 32 -vcodec libx264 -vpre medium_firstpass -level 30 -acodec libfaac -er aggressive -deinterlace -async 1 -bufsize 1024 -f flv rtmp://IP/live

2010年05月19日

deb http://mirrors.163.com/debian squeeze main non-free contrib
deb-src http://mirrors.163.com/debian squeeze main non-free contrib
deb http://mirrors.163.com/debian squeeze-proposed-updates main contrib non-free
deb-src http://mirrors.163.com/debian squeeze-proposed-updates main contrib non-free
deb http://mirrors.163.com/debian-security squeeze/updates main contrib non-free
deb-src http://mirrors.163.com/debian-security squeeze/updates main contrib non-free

deb http://http.us.debian.org/debian squeeze main contrib non-free
deb http://non-us.debian.org/debian-non-US squeeze/non-US main contrib non-free
deb http://security.debian.org squeeze/updates main contrib non-free

2010年05月18日

首先要安装各种解码器

1、lame
lame-3.97.tar.gz
Url:http://sourceforge.net/project/showfiles.php?group_id=290&package_id=309
安装方法如下:

Java代码
  1. tar -zxvf lame-3.97.tar.gz
  2. cd lame-3.97
  3. ./configure –enable-shared –prefix=/usr
  4. make
  5. make install
tar -zxvf lame-3.97.tar.gz
cd lame-3.97
./configure --enable-shared --prefix=/usr
make
make install

2、libogg
libogg-1.1.3.tar.gz
Url:http://downloads.xiph.org/releases/ogg/libogg-1.1.3.tar.gz
安装方法如下:

Java代码
  1. ./configure –prefix=/usr
  2. make
  3. make install
./configure --prefix=/usr
make
make install

3、libvorbis
libvorbis-1.1.2.tar.gz
Url:http://downloads.xiph.org/releases/vorbis/libvorbis-1.1.2.tar.gz
安装方法如下:

Java代码
  1. ./configure –prefix=/usr
  2. make
  3. make install
./configure --prefix=/usr
make
make install

4、xvid
xvidcore-1.1.3.tar.gz
Url:http://downloads.xvid.org/downloads/xvidcore-1.1.3.tar.gz
安装方法如下:

Java代码
  1. tar zvxf xvidcore-1.1.3.tar.gz
  2. cd xvidcore-1.1.3/build/generic
  3. ./configure –prefix=/usr
  4. make
  5. make install
tar zvxf xvidcore-1.1.3.tar.gz
cd xvidcore-1.1.3/build/generic
./configure --prefix=/usr
make
make install

5、x264
x264-snapshot-20071107-2245.tar.bz2
Url:http://www.videolan.org/developers/x264.html
ftp://ftp.videolan.org/pub/videolan/x264/snapshots/
安装方法如下:

Java代码
  1. bunzip2 x264-snapshot-20070913-2245.tar.bz2
  2. tar xvf x264-snapshot-20070913-2245.tar
  3. ./configure –prefix=/usr –enable-shared
  4. make
  5. make install
bunzip2 x264-snapshot-20070913-2245.tar.bz2
tar xvf x264-snapshot-20070913-2245.tar
./configure --prefix=/usr --enable-shared
make
make install

6、libdts
libdts-0.0.2.tar.gz
[url]http://download.videolan.org/pub/videolan/libdca/0.0.2/libdca-0.0.2.tar.gz [/url]
安装方法:

Java代码
  1. tar zxvf libdts-0.0.2.tar.gz
  2. cd libdts-0.0.2
  3. ./configure –prefix=/usr
  4. make
  5. make install
tar zxvf libdts-0.0.2.tar.gz
cd libdts-0.0.2
./configure --prefix=/usr
make
make install

7、a52
a52dec-0.7.4.tar.gz
http://liba52.sourceforge.net/downloads.html
安装方法:

Java代码
  1. ./configure –prefix=/usr
  2. make
  3. make install
./configure --prefix=/usr
make
make install

8、faad2
faad2-2.6.1.tar.gz
http://www.audiocoding.com/downloads.html

安装方法

Java代码
  1. autoreconf -vif
  2. ./configure –prefix=/usr –with-mp4v2 –enable-shared
  3. make
  4. make install
autoreconf -vif
./configure --prefix=/usr --with-mp4v2 --enable-shared
make
make install

9、faac
faac-1.26.tar.gz
http://linux.softpedia.com/progDownload/FAAC-Download-554.html
安装方法:

Java代码
  1. tar zxvf faac-1.26.tar.gz
  2. cd faac
  3. ./bootstrap
  4. ./configure –prefix=/usr
  5. make
  6. make install
tar zxvf faac-1.26.tar.gz
cd faac
./bootstrap
./configure --prefix=/usr
make
make install

10、amr-nb
amrnb-6.1.0.4.tar.bz2
http://ftp.penguin.cz/pub/users/utx/amr/amrnb-6.1.0.4.tar.bz2
安装方法:

Java代码
  1. ./configure –prefix=/usr
  2. make
  3. make install
./configure --prefix=/usr
make
make install

11、amr-wb
amrwb-7.0.0.1.tar.bz2
http://ftp.penguin.cz/pub/users/utx/amr/amrwb-7.0.0.1.tar.bz2
安装方法:

Java代码
  1. ./configure –prefix=/usr
  2. make
  3. make install
./configure --prefix=/usr
make
make install

12、lib52
a52dec-0.7.4.tar.gz
http://liba52.sourceforge.net/downloads.html

如果前面的安装一切顺利的话,恭喜你,可以安装ffmpeg了

安装ffmpeg

Java代码
  1. ./configure –prefix=/usr –enable-gpl –enable-shared –enable-libmp3lame –enable-libogg –enable-libvorbis –enable-libamr-nb –enable-libamr-wb –enable-libxvid –enable-libx264 –enable-liba52 –enable-liba52bin –enable-libfaac –enable-libfaad –enable-libfaadbin –enable-pp –enable-pthreads –disable-ffserver –disable-ffplay
  2. make
  3. make install
2010年05月13日

基于2.6内核(适合从原来无声或者oss等一切环境向alsa的装换)
首先安装相关软件
apt-get install alsa-utils alsa-base
再安装(当然应该有编译环境)
apt-get install alsa-source #这步千万不能省略关键
在此当dpkg configures中,选择你自己的声卡类型
以root运行
/usr/share/alsa-base/snddevices
然后运行
alsaconf
并选择你的声卡模块
这样以后你的alsamixer,alsactl都运行正常了。
建议安装gnome-alsamixer,一个不错的调音器。
如果daemon中有类似esd,arts的daemon请自行关闭。

apt-get install gnome-alsamixer 调节音量

2010年05月05日

Installing Red5 on Debian
在DEBIAN中安装Red5
This howto was provided by Nathan P. Johansen.
这篇[howto]是Nathan P.Johansen提供的
The following are steps used to get Red5 running on a Debian machine. This is the development version of Red5.
下面的步骤的关于开发版本的Red5是如何安装运行在linux debian下的过程

Before beginning this make sure you are running these commands as root.
开始执行下面语句之前,请确认你的角色是具有root权限的。
1.
Install Subversion:

apt-get install subversion
1.
安装Subversion:
apt-get install subversion

2.
Install tools to build your own Debian packages:

apt-get install dpkg-dev
apt-get install debhelper
apt-get install dh-make
apt-get install devscripts
apt-get install fakeroot

2
安装建立自己deb的工具包
apt-get install dpkg-dev debhelper dh-make devsrcipts fakeroot

3.
Install Java (see this tutorial for more info):

apt-get install java-package
3
安装JAVA(请自己查询java的指南来得到更详细的信息)
apt-get install java-package
(这里原作者写的太简单,请使用下面的语句代替:
apt-cache search sun-java
apt-get install sun-java5-jdk

apt-get install sun-java6-jdk
之所以选用jdk,而不是仅仅使用jre,是因为下面的过程中需要java的开发环境,而非一个简单的JRE运行时间环境。
4.
Install Apache Ant 1.7:

wget http://apache.mirror.transip.nl/ant/binaries/apache-ant-1.7.0-bin.tar.gz
gzip -d xf apache-ant-1.7.0-bin.tar.gz
tar -xf apache-ant-1.7.0-bin.tar
cd apache-ant-1.7.0
mv apache-ant-1.7.0 /usr/local/ant
export ANT_HOME=/usr/local/ant
4.
安装Apache Ant1.7:
wget http://apache.mirror.transip.nl/ant/binaries/apache-ant-1.7.0-bin.tar.gz
gzip -d xf apache-ant-1.7.0.bin.tar.gz
tar -xf apache-ant-1.7.0.bin.tar
cd apache-ant-1.7.0
mv apache-ant-1.7.0 /usr/local/ant
export ANT_HOME=/usr/local/ant
(译者注:这个好象在我的sid中直接就是
apt-get install ant
就可以搞定^_^)
5.
Once Java and Ant are all set up you simply download the latest development version of Red5 to your box.

svn co http://red5.googlecode.com/svn/java/server/trunk red5-trunk

That will create a folder in your current directory called red5-trunk.
5
当你配置好你的JAVA和ant以后,下面我们就要从svn中检出red5的源码了:
svn co http//red5.googlecode.com/svn/java/serve/trunk red5-trunk
这个命令将会将red5的源码检出到你当前目录下的red5-trunk子目录下(时间不是很长,我大概花费了不到5分钟;
郁闷的是red5现在还没有采用maven,还在使用ant!-(:

6.
Navigate to the red5-trunk directory and run

/usr/local/ant/bin/ant

That will build the project on your machine.
6
好了,我们开始编译吧:
cd  red5-trunk
ant
这会编译整个的red5(泡杯茶,等一会,这个过程相对长一点,赫赫,过程中需要从网络中下载必要的包,你的网络要畅通哦)
7.
At this point you will need to create a red5 directory in the /usr/local/red5 directory.

mkdir /usr/local/red5
7
编译完成以后,请在/usr/local中创建一个red5的目录
mkdir /usr/local/red5

8.
Then you will want to copy the contents of the dist(distribution) folder to /usr/local/red5 like so

cp -R red5-trunk/dist/* /usr/local/red5/
8
现在将刚才编译好的包拷贝到/usr/local/red5目录中
cp -R red5-trunk/dist/ /usr/local/red5

9.
We need need to fix the permissions on the red5.sh file:

cd /usr/local/red5
chmod 755 red5.sh
9
red5.sh适当的权限
cd /usr/local/red5
chmod 755 red5.sh

10.
To run the server you have a few options using the red5.sh file. Run the server by either running

sh red5.sh &

or

./red5.sh &

This will start the Red5 service manually.
10
好了,现在可以让red5开始工作了,运行下面的命令中的一个(取决于你的shell -):)
sh red5.sh &

./red5.sh &

11.
Verify the correct ports are being bound to:

netstat -ant
11
查看一下red5是不是在适当的端口运行起来了吧!
netstat -nat

You may need to edit the red5.properties file in the /usr/local/red5/conf directory if you can’t connect to your server from an external location. Try to connect to the server before you modify the properties file because you may be able to connect to it with no problems.

Wowza转播视频主要有两种,一种为转播服务器上已经存在的视频进行视频点播,一种为接收视频流进行实时直播。
支持格式: Flash media content (.flv), H.264/ACC media content (.f4v, .mp4, .m4a, .mov, .mp4v, .3gp, .3g2), MP3 content (.mp3)

实时直播

进行实时直播需要接收视频流,此处用Adobe Flash Media Encoder + 摄像头模拟视频流.

1. 安装Adobe Flash Media Encoder (可在其官网下载,需简单的进行注册http://www.adobe.com/products/flashmediaserver/flashmediaencoder/)

2. Wowza Media Server 安装目录(以下用[install-dir]简称,Windows为C:\Program Files\Wowza Media Systems\Wowza Media Server Pro;Linux 为/usr/local/WowzaMediaServerPro)的applications下创建文件夹live

3. 创建文件夹[install-dir]/conf/live

4. 复制文件[install-dir]/conf/Application.xml到[install-dir]/conf/live

5. 编辑[install-dir]/conf/live文件夹下刚刚复制的 Application.xml,将Streams/StreamType设置为live,如果要录制此视频流可设为live-record,默认保存在 [install-dir]/content/文件夹下

6. 启动Wowza Media Server(如何启动见:http://sunky045.javaeye.com/blog/538288)

7. 用Adobe Flash Media Encoder进行视频编码模拟视频流,具体设置见下图

注:

  • 勾选video后,在Device选项中选择摄像头(USB Video Device),图象才能出现
  • FMS URL为Wowza Media Server服务器IP,live为[install-dir]/applications/下文件夹的名字
  • Stream:用于客户端定位,录制视频流时默认的格式为.flv,若要保存为mp4格式需要加前缀 mp4: ;如不需要保存直接为live即可
  • 其它设置可自行调整,例如若有音频可勾选Audio选项
  • 设置完成后点Connect,再点Start开始编码,出现上图界面

8. 打开[install-dir]/examples/LiveVideoStreaming/client/live.html或live.swf进行视频直播

注:

  • Server 与步骤7中的FMS URL一致
  • Stream为步骤7中的Stream

视频点播

进行视频点播相对来说就简单多了,只需在[install-dir]/applications/下新建一个文件夹(如[install-dir] /applications/testVideo),然后将要点播的视频(如Extremists.m4v)复制到[install-dir] /content下然后就可以进行播放了,如下图:

注:

  • Server 为 rtmp://[server-ip-address]/testVideo 其中testVideo为[install-dir]/applications/下新建文件夹的名字
  • Server为视频的名字,如果为mp4需加上前缀mp4:
2010年05月04日

在 Debian 上安装和配置 Xen

2010年03月27日 | 作者:vpsee

SUN 每隔一段时间都会有一些服务器捐给大学、实验室、研究机构等。我们项目组就刚 “骗” 了几台免费的 Sun Fire 服务器,当然也和我们是 SUN(也许现在应该叫 Oracle)的长期客户有关,我们的服务器基本都是 SUN 的。现在只要新机器一进来就先虚拟化,虚拟化后才能上机柜,技术变化太快了,记得几年前我们买机器一上来首先装的是操作系统,现在 hypervisor 代替了操作系统。

首先最小化安装64位的 Debian,下面的安装步骤和配置过程基于 Debian 5.04 版本,CentOS 版本可以参看:在 CentOS 上安装和配置 Xen,Ubuntu 版本可以参看:在 Ubuntu 上安装和配置 Xen,OpenSolaris 版本参看:在 OpenSolaris 上安装和配置 Xen.

安装 Xen

检查一下 source list:

# vi /etc/apt/sources.list

deb http://http.us.debian.org/debian stable main contrib non-free
#deb http://non-us.debian.org/debian-non-US stable/non-US main contrib non-free
deb http://security.debian.org stable/updates main contrib non-free

安装 Xen 及相关工具:

# apt-get install xen-hypervisor-3.2-1-amd64 \
xen-linux-system-2.6.26-2-xen-amd64 xen-utils-3.2-1 \
xenstore-utils xenwatch xen-shell xen-tools

我们需要很多 loop devices 来挂载基于文件的虚拟机,所以需要把 loop device 的数目限制设成最大

# vi /etc/modules

loop max_loop=64

安装完 Xen 后,Debian 上的 Xen 的默认网络配置用的是 network-dummy,和 CentOS 上有点不一样,我们需要修改成 bridge 以便每个虚拟机都像一个独立机器一样运行在网络上:

# vi /etc/xen/xend-config.sxp

#(network-script network-dummy)
(network-script network-bridge)

安装成功后,检查 Xen 内核是否已经装好,并给内核加上 dom0_mem=256M 限制 Xen Dom0 的内存,防止 dom0 把内存耗光:

# vi /boot/grub/menu.lst

...
title           Xen 3.2-1-amd64 / Debian GNU/Linux, kernel 2.6.26-2-xen-amd64
root            (hd0,0)
kernel          /xen-3.2-1-amd64.gz dom0_mem=256M
module          /vmlinuz-2.6.26-2-xen-amd64 root=/dev/mapper/vpsee-root ro console=tty0
module          /initrd.img-2.6.26-2-xen-amd64
...

重启系统后检查一下是否是 Xen 的内核以及 Xen 是否启动:

# reboot

# uname -r
2.6.26-2-xen-amd64

# xm list
Name                                        ID   Mem VCPUs      State   Time(s)
Domain-0                                     0   256     2     r-----      9.3

创建和安装 guest

如果把正在运行的 Xen 内核的操作系统看成 host 的话,那么运行在 host 上面的操作系统就可以看成 guest。先建一个目录用来存放所有的 guest 操作系统的 image,vm01.img,vm02.img 等,1个 guest 对应1个 image。

# mkdir /vm

# xen-create-image --hostname=vm01 --size=10Gb --swap=512Mb --ide \
--ip=172.16.39.121 --netmask=255.255.254.0 --gateway=172.16.38.1 --force \
--dir=/vm --memory=512Mb --arch=i386 \
--kernel=/boot/vmlinuz-2.6.26-2-xen-amd64 \
--debootstrap --dist=etch --mirror=http://ftp2.de.debian.org/debian/ --password

可以根据需要调整 /etc/xen-tools/xen-tools.conf

进入 guest

安装成功后需要增加给对应的虚拟机器增加一个 Xen 配置文件以便 Xen 能启动这个虚拟机:

# vi /etc/xen/vm01

kernel      = '/boot/vmlinuz-2.6.26-2-xen-amd64'
ramdisk     = '/boot/initrd.img-2.6.26-2-xen-amd64'
memory      = '512'
root        = '/dev/xvda2 ro'
disk        = [
                  'file:/vm/domains/vm01/swap.img,xvda1,w',
                  'file:/vm/domains/vm01/disk.img,xvda2,w',
              ]
name        = 'vm01'
vif         = [ 'ip=172.16.39.121,mac=00:16:3E:C0:21:DE' ]
on_poweroff = 'destroy'
on_reboot   = 'restart'
on_crash    = 'restart'

启动刚安装的 Debian 虚拟机后就可以登录了,

# xm create vm01
# xm console vm01

如果要退出 guest 的话,用 Ctrl + ],就会回到 host。

如果想每次启动 host 时自动启动 guest 的话:

# ln -s /etc/xen/vm01 /etc/xen/auto

更懒的办法

如果觉得安装 guest 操作系统太麻烦,可以到 http://stacklet.com/ 下载一个已经装好的镜像文件,调整 Xen guest 的配置文件,然后在 host 下启动 guest 镜像就可以了,这里这里有更详细的介绍。

增加 swap

如何给 guest 系统(domU)增加 swap,这里有介绍。