1. 程式人生 > >Linux&Windows搭建基於nginx的視訊點播伺服器

Linux&Windows搭建基於nginx的視訊點播伺服器

1. nginx安裝

Linux

  • 安裝必要的依賴包:

    • $ sudo apt-get install build-essential libpcre3 libpcre3-dev libssl-dev
  • 解壓下載的nginx包,再解壓nginx_rtmp_module到同一資料夾,進入解壓後的nginx資料夾,安裝:

     $./configure --with-http_ssl_module  --add-module=../nginx-rtmp-module-master          
     $make         
     $sudo make install 
  • 如果沒有報錯,則已經安裝成功,
  • 啟動nginx: $ sudo /usr/local/nginx/sbin/nginx
  • 停止nginx: $ sudo /usr/local/nginx/sbin/nginx -s stop
  • 過載nginx: $ sudo /usr/local/nginx/sbin/nginx -s reload
  • 檢視載入的模組: $ sudo /usr/local/nginx/sbin/nginx -V

  • 啟動後開啟瀏覽器,輸入localhost,如果出現Welcome to nginx的頁面則已經成功安裝。

————————————————————–

Windows

  • 在windows下由於官方已經編譯好的nginx是不帶nginx_rtmp_module的,故直接使用已經編譯好的,
  • 開啟命令列,進入資料夾,啟動nginx.exe。
  • 同樣開啟瀏覽器,輸入localhost,出現歡迎介面則成功。關閉nginx.exe命令nginx.exe -s stop.

2. 配置檔案nginx.conf

  • nginx.conf在主目錄下的conf檔案下,配置如下:
worker_processes  1;

error_log  logs/error.log debug;

events {
    worker_connections  1024;
}

rtmp {
    server {
        listen 1935;

        application vod {
            play video; #這是一個目錄的名稱,如果是linux,則寫具體位置如/opt/video
} } } http { server { listen 80; location / { root html; } location /test.flv { root video; } location /stat { rtmp_stat all; rtmp_stat_stylesheet stat.xsl; } location /stat.xsl { root html; } } }
  • 重新載入nginx(nginx -s reload),放入想播放的檔案在video資料夾(windows是nginx資料夾下新建video資料夾,linux下寫具體路徑即可),必須是mp4或flv檔案,則此時可以測試了。

    —————————————————————————-

    3. 測試

  • 使用VLC播放器測試,開啟VLC播放器,選擇媒體–>開啟網路串流,在位址列裡輸入:

rtmp://localhost/vod/test.flv #這裡的vod是上面nginx.conf中rtmp中定義的名稱,後面跟的是視訊檔案的名稱
http://localhost/test.flv #http協議
  • 也可以使用手機版本的VLC,或者OPlayer,如果播放視訊,則成功。

4. flv檔案加入metadata

  • 一般點播網站使用flv檔案格式的視訊,因為flv體積較小,故建議使用flv播放,在linux下可以使用ffmpeg來進行轉換,在windows下可以使用格式工廠,其實也使用ffmpeg,則之後下載yamdi,用來載入metadata(備份儲存地址:http://download.csdn.net/detail/akeron/9752208),這樣在播放時便可以實現拖動,好像只限於http(目前不明白原因),yamdi的命令如下:
yamdi.exe -i input.flv -o out.flv #這樣便已經加入了metadata

5. 使用JWPlayer播放視訊

  <div id='my-video'  >  </div>
  <script src="jwplayer.js"></script>
  <script type='text/javascript'>
    jwplayer('my-video').setup({ #其它的引數上網查詢
      file:'jay.flv',#注意播放需要使用flash player,電腦版本chrome與
      fallback:'false',#edge都可不用flash,但firefox需要,安卓4.1上
      width: 512,#已經不使用flash了,iOS也不用,故使用手機瀏覽器播放不
      height: 383,#了。
      screencolor: '#ff0'
    });
  </script>