在互联网上播放视频有两种方式,一种是通过HTTP协议访问视频文件;另外一种就是采用专门的流媒体服务器如red5。以下为在centos 5服务器上支持拖放的视频服务器安装配置。
web服务器安装:
wget http://sysoev.ru/nginx/nginx-0.7.65.tar.gz
tar zxf nginx-0.7.65.tar.gz -C /usr/local/src
cd /usr/local/src/nginx-0.7.65
groupadd www
useradd -d /var/www/nginx -g www www
./configure –prefix=/usr/local/nginx –user=www –group=www –with-http_flv_module –with-http_gzip_static_module –with-http_stub_status_module –with-cc=gcc –with-cc-opt=" -O3"
make && make install
cd /usr/local/nginx/conf
cat nginx.conf
user www;
worker_processes 1;
error_log logs/error.log;
pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 81;
server_name localhost;
root /var/www/nginx;
index index.html;
charset utf-8;
# important!
location ~ \.flv {
flv;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
启动
/usr/local/nginx/sbin/nginx
重启
/usr/local/nginx/sbin/nginx -s reload
mkdir -p /var/www/nginx
cd /var/www/nginx
其次,需要有一个能够播放Flv视频的播放器,很显然,它还需要能够嵌入到网页中。目前比较流行的,功能上也还比较完善的一个Flv播放器就是 JW FLV Media Player(也称为 jwplayer)。网址是:
http://www.longtailvideo.com/players/jw-flv-player/
下载mediaplayer-viral.zip并解压到/var/www/nginx
将播放器嵌入到你的视频播放网页中。嵌入的方式有两种:
直接嵌入,使用Object/Embed代码嵌入:
cat index.html
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"><title>veryi.com</title>
</head>
<body>
<h3>start</h3>
<p>click to play </p>
<!– START OF THE PLAYER EMBEDDING TO COPY-PASTE –>
<object id="player" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" name="player" width="400" height="315">
<param name="movie" value="player-viral.swf" />
<param name="allowfullscreen" value="true" />
<param name="allowscriptaccess" value="always" />
<param name="flashvars" value="file=snatch1.flv" />
<embed
type="application/x-shockwave-flash"
id="player2"
name="player2"
src="player-viral.swf"
width="400"
height="315"
allowscriptaccess="always"
allowfullscreen="true"
flashvars="file=snatch1.flv"
/>
</object>
<!– END OF THE PLAYER EMBEDDING –>
</body>
</html>
使用swfobject来嵌入Flash:
swfobject是一个很小的JavaScript脚本(10k),该脚本引入了一个swfobject对象,用于在网页内嵌入Flash,并避免了上述的安全提示。swfobject已经得到了广泛的使用和好评。
swfobject在jwplayer包中也包含了一个,不过是很旧的1.5版,建议使用最新的版本。本文写作时,最新的版本是2.2。 swfobject可以从此下载(只需要其中的swfobject.js文件):
http://code.google.com/p/swfobject/
使用swfobject嵌入的代码如下:
<html>
<head>
<script type="text/JavaScript" src="swfobject.js"></script>
<script type="text/JavaScript">
function createPlayer() {
var flashvars = {
file:"snatch1.flv",
type:"http",
image:"preview.jpg",
autostart:"false",
streamer:"start"
}
var params = {
allowfullscreen:"true", allowscriptaccess:"always"
}
var attributes = {
id:"player1", name:"player1"
}
swfobject.embedSWF("player-viral.swf", "placeholder1", "320", "196", "9.0.115", false, flashvars, params, attributes);
}
</script>
</head>
<body onload="createPlayer();">
<div id="placeholder1"></div>
</body>
</html>
附,媒体转换:
FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。它包括了目前领先的音/视频编码库libavcodec,安装,使用http://dag.wieers.com/或者http://www.atrpms.net/的源:
yum install ffmpeg -y
yum install ffmpeg-devel -y
转换dvd的MPEG-2格式的音频和视频数据VOB格式文件:
ffmpeg -i VTS_01_3.VOB -f flv -ar 22050 -s qvga -r 15 -y snatch1.flv
对ffmpeg无法解析的文件格式(wmv9,rm,rmvb等),
可以先用别的工具(mencoder)转换为 avi(ffmpeg能解析的)格式.
./mencoder /input/a.rmvb -oac lavc -lavcopts acodec=mp3:abitrate=64 -ovc xvid -xvidencopts bitrate=600 -of avi -o /output/a.avi
然后执行./ffmpeg -i "/opt/input/a.avi" -y -ab 32 -ar 22050 -b 800000 -s 640*480 /opt/output/a.flv"就可以了。
如果运行ffmpeg出现错误
lame: output buffer too small (buffer index: 9405, free bytes: 387)
解决方法:
wget http://dl.atrpms.net/all/lame-3.97-16.0.el5.i386.rpm
wget http://dl.atrpms.net/all/libmp3lame0-3.97-16.0.el5.i386.rpm
rpm -hUv –nodeps –oldpackage libmp3lame0-3.97-16.0.el5.i386.rpm lame-3.97-16.0.el5.i386.rpm
To prevent updating libmp3lame0 and lame again when running ‘yum update’, be sure to edit /etc/yum.conf and exclude these packages. Add the following line:
exclude=lame* libmp3lame*
(ffmpeg参数说明):
控制画面参数
-r <数值> 帧速率(非标准数值会导致音画不同步【标准值为15或29.97】)
-b <比特率> 指定压缩比特率
控制声音参数
-ac <数值> 设定声道数:1为单声道,2为立体声
-ar <采样率> 设定声音采样率(8000,11025,22050)
-ab <比特率> 设定声音比特率(-ac设为立体声时要以一半比特率来设置,比如192kbps的就设成96)
-vol <百分比> 设定音量大小,比如设定200就会比原来的音量大2倍:
-------------------------------------------------------------------------------------------------------------------------------------------------------------
转载:http://veryi.com/w/287.html