FLV視頻發(fā)布方式簡介FLV視頻有兩總發(fā)布方式 HTTP方式 這種方式要下載FLV視頻文件到本地播放,一旦FLV視頻文件下載完成,就不會消耗服務(wù)器的資源和帶寬,但是拖動功能沒有RTMP/RTMP流媒體方式強大,很多視頻網(wǎng)站都是用HTTP方式實現(xiàn)的,如:YouTube,土豆,酷6等 RTMP/RTMP流媒體方式 這種方式不用下載FLV視頻文件到本地,可以實時的播放flv文件,可以任意拖拽播放進度條,但是比較消耗服務(wù)器的資源, 使用nginx來搭建flv流媒體服務(wù)器 1、使用nginx來搭建flv流媒體服務(wù)器簡介 nginx中的Flv Stream模塊能實現(xiàn)flv流媒體的功能,而且支持flv視頻進度條拖拽,另外nignx還可以作為方向代理服務(wù)器代理后端基于Flash Media Server或者Red5的RTMP/RTMP流媒體服務(wù)器 下面我們就來搭建一個完整的nginx流媒體服務(wù)器 1)、Nginx服務(wù)器的安裝 #安裝zlib tar xzvf zlib-1.2.3.tar.gz cd zlib-1.2.3 ./configure make && make install #安裝pcre tar zxvf pcre-7.9.tar.gz cd pcre-7.9 ./configure –prefix=/usr/local/pcre make && make install #安裝nginx groupadd www useradd -g www www tar xzvf nginx-0.8.34.tar.gz cd nginx-0.8.34 ./configure –with-http_ssl_module –with-pcre=/root/zhang/nginx/pcre-7.9 –with-zlib=/root/zhang/nginx/zlib-1.2.3 –user=www –group=www –prefix=/usr/local/webserver/nginx –with-http_flv_module make && make install 2)、安裝yamdi yadmi的作用是為flv文件添加關(guān)鍵幀,才能實現(xiàn)拖動播放 #下載yadmi wget http://sourceforge.net/projects/yamdi/files/yamdi/1.4/yamdi-1.4.tar.gz/download #安裝yadmi tar xzvf yamdi-1.4.tar.gz cd yamdi-1.4 make && make install 使用方法:yamdi -i input.flv -o out.flv 給input.flv文件 添加關(guān)鍵幀,輸出為out.flv文件 3)、配置nginx vi /usr/local/nginx/conf/nginx.conf 添加以下內(nèi)容(根據(jù)自身情況修改): user www www; worker_processes 30; error_log /usr/local/nginx/logs/error.log crit; pid /usr/local/nginx/logs/nginx.pid; events { use epoll; worker_connections 65535; } http { include mime.types; default_type application/octet-stream; log_format main ‘$remote_addr – $remote_user [$time_local] ‘ ‘”$request” $status $bytes_sent ‘ ‘”$http_referer” “$http_user_agent” ‘ ‘”$gzip_ratio”‘; keepalive_timeout 60; server_names_hash_bucket_size 128; client_header_buffer_size 32k; large_client_header_buffers 4 32k; access_log off; gzip on; gzip_min_length 1100; gzip_buffers 4 8k; gzip_types text/plain; output_buffers 1 32k; postpone_output 1460; client_header_timeout 3m; client_body_timeout 3m; send_timeout 3m; sendfile on; tcp_nopush on; tcp_nodelay on; ###################################################################### server { listen 80; server_name 192.168.1.105; root /usr/local/nginx/html/flv_file/; limit_rate_after 5m; ####在flv視頻文件下載了5M以后開始限速 limit_rate 512k; ####速度限制為512K index index.html; charset utf-8; location ~ \.flv { flv; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } } 4)、基本上已經(jīng)設(shè)置完畢,但是此時我們測試的時候還需要一個支持拖拽播放的flash播放器,開源的JW Player就可以實現(xiàn)這樣的功能,我將編譯的播放器上傳上來,供大家下載: 下載鏈接:http://blogimg.chinaunix.net/blog/upfile2/100607142612.rar 下載播放器后,上傳到上面設(shè)置的/usr/local/nginx/html/flv_file/目錄下,閉關(guān)把flv視頻文件也放到該目錄下! 5)、啟動nginx后測試: http://192.168.1.105/player.swf?type=http&file=test1.flv 說明: #我的ip是192.168.1.105 #player.swf是我的JW Player播放器 #http是表示居于http分發(fā)方式 #test1.flv是我的flv視頻文件 效果如下圖: |
聯(lián)系客服