溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

nginx如何搭建基于http協(xié)議的視頻點播服務(wù)器

發(fā)布時間:2021-11-05 16:28:34 來源:億速云 閱讀:443 作者:柒染 欄目:建站服務(wù)器

本篇文章給大家分享的是有關(guān)nginx如何搭建基于http協(xié)議的視頻點播服務(wù)器,小編覺得挺實用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

nginx搭建基于http協(xié)議的視頻點播服務(wù)器

1,下載安裝nginx 穩(wěn)定版,http://nginx.org/en/download.html

2,安裝相關(guān)庫pcre zlib  openssl,先看有沒有安裝。

ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/
http://zlib.net/zlib-1.2.8.tar.gz
http://www.openssl.org/source/openssl-1.0.1f.tar.gz

     [root@localhost vsftpd]# rpm -qa pcre
     pcre-7.8-7.el6.i686


3,下載nginx_mod_h364_streaming-2.2.7.tar.gz
http://h364.code-shop.com/download/nginx_mod_h364_streaming-2.2.7.tar.gz

     解壓nginx_mod_h364_streaming-2.2.7.tar.gz,添加flv,mp4模塊。解壓到和nginx源碼同級的目錄。

4,下載nginx-rtmp-module
https://github.com/arut/nginx-rtmp-module
unzip nginx-rtmp-module-master

5, 因為flv 和http是nginx自帶的所以不用下載這個模塊。

./configure \
--sbin-path=/usr/local/sbin \
--add-module=../nginx-rtmp-module-1.0.2 \
--with-http_ssl_module \
--add-module=../nginx_mod_h364_streaming-2.2.7 \
--with-pcre=../pcre-8.32 \
--with-zlib=../zlib-1.2.8  \
--with-http_flv_module \
--with-http_stub_status_module \
--with-http_mp4_module  

./configure --add-module=/usr/server/nginx_mod_h364_streaming-2.2.7 --sbin-path=/usr/local/sbin --with-debug

選擇需要的編譯選項
Nginx的編譯選項還是不少 的,基本上都是定制位置和模塊,分別是:
1)--sbin-path=/usr/local/sbin
從源碼編譯Nginx會安裝在/usr/local/nginx目錄下(你可以使用參數(shù)--prefix=<path>指定自己需要的位置),然后會將bin文件放在/usr/local/nginx/sbin/nginx,雖然比較清晰,但是和我們一般的習(xí)慣不同

(作為程序員的我們更習(xí)慣在/usr/local /sbin下尋找bin文件);

2)--with-http_ssl_module
主要是提供https訪問支持的





make

make install

5,make

      可能遇到問題1
      /root/nginx_mod_h364_streaming-2.2.7/src/ngx_http_streaming_module.c: In function ‘ngx_streaming_handler’:
     /root/nginx_mod_h364_streaming-2.2.7/src/ngx_http_streaming_module.c:158: error: ‘ngx_http_request_t’ has no member named ‘zero_in_uri’
     make[1]: *** [objs/addon/src/ngx_http_h364_streaming_module.o] Error 1
     make[1]: Leaving directory `/root/nnginx-1.5.9'
     make: *** [build] Error 2
     那么將src/ngx_http_streaming_module.c文件中以下代碼刪除或者是注釋掉就可以了


/* TODO: Win32 */
if (r->zero_in_uri)
{
     return NGX_DECLINED;
}

可能遇到問題2
../nginx_mod_h364_streaming-2.2.7/src/mp4_reader.c: 在函數(shù)‘esds_read’中:

../nginx_mod_h364_streaming-2.2.7/src/mp4_reader.c:377:16: 錯誤: 變量‘stream_priority’被設(shè)定但未被使用 [-Werror=unused-but-set-variable]

../nginx_mod_h364_streaming-2.2.7/src/mp4_reader.c:376:12: 錯誤: 變量‘stream_id’被設(shè)定但未被使用 [-Werror=unused-but-set-variable]

../nginx_mod_h364_streaming-2.2.7/src/mp4_reader.c: 在函數(shù)‘stsd_parse_vide’中:

../nginx_mod_h364_streaming-2.2.7/src/mp4_reader.c:529:22: 錯誤: 變量‘level_indication’被設(shè)定但未被使用 [-Werror=unused-but-set-variable]

../nginx_mod_h364_streaming-2.2.7/src/mp4_reader.c:528:22: 錯誤: 變量‘profile_compatibility’被設(shè)定但未被使用 [-Werror=unused-but-set-variable]

../nginx_mod_h364_streaming-2.2.7/src/mp4_reader.c:527:22: 錯誤: 變量‘profile_indication’被設(shè)定但未被使用 [-Werror=unused-but-set-variable]

../nginx_mod_h364_streaming-2.2.7/src/mp4_reader.c:526:22: 錯誤: 變量‘configuration_version’被設(shè)定但未被使用 [-Werror=unused-but-set-variable]

cc1: all warnings being treated as errors

make[1]: *** [objs/addon/src/mp4_reader.o] 錯誤 1

解決方法:
# vim objs/Makefile (修改objs/Makefile文件, 去掉其中的"-Werror"), 然后就能夠正常編譯了.

6, make install

7,配置 nginx.conf  主要是server部分


server {
            listen       8999;
            server_name  192.168.1.104;
            root    /usr/local/nginx/html/flv_file/;
            limit_rate_after 5m;   
            limit_rate 512k;        
   
            index   index.html;
            charset utf-8;
    
            location ~ \.flv {
                flv;
            }
    
            location ~ \.mp4$ {
                mp4;
            }
    
    
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   html;
            }
    }

8,啟動nginx,創(chuàng)建/usr/local/nginx/html/flv_file/目錄。


 cd /usr/local/nginx
啟動  ./nginx
優(yōu)雅關(guān)閉   ./nginx -s quit
快速關(guān)閉   ./nginx -s stop


nginx -s reload  :修改配置后重新加載生效
nginx -s reopen  :重新打開日志文件
nginx -t -c /path/to/nginx.conf 測試nginx配置文件是否正確

/usr/local/sbin/nginx  -c /usr/local/nginx/conf/nginx.conf -s reload


9,上傳mp4視頻文件CY.mp4

10,寫個html測試??粗暗奈恼掠胘wplayer來測試,但是我這邊一直報jwplayer udefined。


Loading the player ...


<video src="http://192.168.1.104:8999/CY.mp4" controls="controls" width="50%" height="50%">

以上就是nginx如何搭建基于http協(xié)議的視頻點播服務(wù)器,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI