當前位置:首頁 » 編程軟體 » nginxrtmp編譯

nginxrtmp編譯

發布時間: 2022-09-14 10:12:39

『壹』 編譯nginx錯誤nginx.exe : fatal error LNK1120: 3 個無法解析的外部命令

OpenGL作業進行中,突然發現一直提示默認返回類型出錯,發現是C++的前向聲明問題。好吧,解決完這個問題發現有有些看不懂的字元解析問題出現,提示如下所示:
>AccountDlg.obj : error LNK2001: 無法解析的外部符號 "protected: virtual struct AFXMSGMAP const * _thiscall CglQuaternion75::CglQuaternion75(CglQuaternion75 &)const " (?GetMessageMap@CAccountDlg@@MBEPBUAFX_MSGMAP@@XZ) 1>E:\code\OpenGL\Debug\example.exe : fatal error LNK1120: 1 個無法解析的外部命令
乍一眼不知道錯在哪裡...等會兒再看,還是不知道錯在哪裡,網上一搜明白了。
出現這種問題的典型原因一般是:文件中有相應函數的定義,卻沒有相應函數的實現部分。即有了聲明,卻沒有實現的定義部分。
在上面報錯信息中,重要的是
__thiscall CglQuaternion75::CglQuaternion75(CglQuaternion75 &)
這一部分,通過這部分就能確定出錯的函數部分究竟在哪裡,定位了之後進行修改就順利了許多。
於是點到聲明部分右鍵轉到定義部分,果然沒有反應,於是立馬加上漏掉的拷貝構造函數,好的解決了。
自己在完後jsoncpp的過程中出現了上面的錯誤,原因在於沒有將函數名字前面加上類::。這讓其只是一個外部函數,因此在類對象調用的時候總是出現上面的錯誤。

『貳』 nginx-rtmp模塊簡介

1:  Mole Configuration Struct(s)模塊配置結構

這個結構的命名規則為ngx_http_[mole-name]_[main|srv|loc]_conf_t。

main,srv,loc表示這個模塊的作用范圍是配置文件中的main/server/location三種范圍(這個需要記住,後面會經常用到)

2: Mole Directives模塊命令結構

static ngx_command_t ngx_http_echo_commands[] = {

{

ngx_string("echo"), //命令名字

NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1, //代表是local配置,帶一個參數

ngx_http_echo, //組裝模塊配置結構

NGX_HTTP_LOC_CONF_OFFSET, //上面的組裝模塊配置獲取完參數後存放到 哪裡?使用這個和下面的offset參數來進行定位

offsetof(ngx_http_echo_loc_conf_t, ed), //同上 

},

ngx_null_command //必須使用ngx_null_command作為commands的結束標記

};

3: The Mole Context模塊內容

static ngx_http_mole_t   ngx_http_circle_gif_mod ule_ctx

主要是定義了一些鉤子函數, nginx會在不同時期會調用

4: The Mole Definition模塊整合

ngx_mole_t ngx_http_<mole name>_mole = {

NGX_MODULE_V1,

&ngx_http__mole_ctx, /* mole context模塊內容 */

ngx_http__commands, /* mole directives模塊命令*/

NGX_HTTP_MODULE, /* mole type模塊類型,HTTP模塊,或者HTTPS*/

5: Mole Installation模塊安裝

1: ngx_rtmp_live_mole

直播模塊:推拉流同點, 不涉及回源

2: ngx_rtmp_relay_mole

中繼模塊:  1:回源pull  2: 轉推: push

一:  建立rtmp連接, 需要握手

      1: ngx_rtmp_handshake_recv()開始握手

      2: NGX_RTMP_HANDSHAKE_DONE()握手完成

      3: ngx_rtmp_cycle()重新設置讀寫handler

二:  建立網路連接

    建立rtmp連接之後, ngx_rtmp_recv函數會利用ngx_event_t結構會獲取推送過來的原始數據, 接受到的數據會存放到ngx_rtmp_stream_t的in鏈表結構中.

1:接受chunk數據

2:分析處理chunk數據, 如果message還沒接受完, 繼續接受數據

3:將chunk組成一個rtmp message, 然後交給ngx_rtmp_receive_message處理, 這個函數根據消息的類型找對應的handle

三:  建立網路流

        在建立網路連接後,就需要建立網路流了, 網路流代表了發送多媒體數據的通道. 伺服器和客戶端只能建立一個網路連接, 且多個網路流可以復用這一個網路連接

1: ngx_rtmp_recv接受數據後交給ngx_rtmp_receive_handler, 它會根據類型區別處理, 此時客戶端發送ngx_rtmp_msg_chunk_size類型的消息

2:接受message後跳轉到處理函數ngx_rtmp_amf_message_handler. 處理客戶端發送的amf控制消息. 此時連續接受3個amf數據.

3:調用ngx_rtmp_cmd_create_stream_init初始化網路流. 利用ngx_rtmp_receive_amf獲取接受的amf數據.

4:調用ngx_rtmp_cmd_create_stream創建網路流, 利用ngx_rtmp_send_amf向客戶端發送amf控制消息

四:  傳輸媒體數據

在客戶端和服務端建立網路流之後,接下來就可以傳輸媒體數據了, 一般來講, 媒體數據分為兩部分, 一部分為meta元信息, 另一部分是音視頻數據, 首先傳送的是meta元信息. 然後推送媒體. 伺服器處理如下:

1:從客戶端接受amf命令信息, 然後服務端會利用ngx_rtmp_cmd_publish_init來初始化發布環境.  函數功能: 會讀取剛接受端amf信息

2:利用ngx_rtmp_auto_push_publish, ngx_rtmp_notify_publish, ngx_rtmp_exec_publish建立發布環境,

3:如果conf配置了record命令記錄媒體文件, 此時會調用ngx_rtmp_record_publish來初始化記錄環境;

4:執行ngx_rtmp_access_publish;

[if !supportLists]l [endif]meta信息:

5:接受客戶端amf, 並調用ngx_rtmp_codec_meta_data獲取meta元信息;

6:結合伺服器的參數, 利用ngx_rtmp_codec_reconstruct_meta介面重構meta元信息, 並調用ngx_rtmp_prepare_message組成消息保存

[if !supportLists]l [endif]媒體數據:

7:接受客戶端推送, 根據類型轉到ngx_rtmp_codec_av來處理音視頻數據; 其中利用函數ngx_rtmp_codec_parse_avc_header來處理頭部信息

8:調用record模塊記錄數據, 介面為ngx_rtmp_codec_av;

9:調用live模塊來廣播發布數據, 介面為ngx_rtmp_live_av, 廣播到所有觀察者, 第一次調用介面ngx_rtmp_live_start創建廣播, 之後直接調用ngx_rtmp_append_shared-bufs

 

rtmp 的 信令交互圖:

1: 播放器端發起play

2: ngx_rtmp_relay_play()

3: ngx_rtmp_relay_pull() --主要建立pull請求, 將遠程拉流的上下文和本地上下文放到鏈表中

    ngx_rtmp_relay_create_local_ctx()創建本地上下文

    ngx_rtmp_relay_create_remote_ctx()創建遠端上下文

4: ngx_rtmp_relay_create_remote_ctx詳解:  創建遠端session, 開始rtmp信令交互

       1: ngx_rtmp_relay_create_connection  

        2: ngx_rtmp_init_session

注意:此時session中的flashver為「ngx-local-relay「

5: rtmp信令交互流程

核心函數: ngx_rtmp_relay_on_result主要用來接收對端服務端發送的amf消息包,而後按正常rtmp協議請求進行下一步交互,這個主要是當前服務端做為客戶端發起遠程rtmp請求流程

例如:   ngx_rtmp_client_handshake(發起握手)

         握手完成後調用回調函數: ngx_rtmp_relay_handshake_done

       ngx_rtmp_relay_send_connect:發起連接請求, 接著參考rtmp信令交互圖

        核心功能:向nginx推送一個直播流,該直播流經 nginx-rtmp 的 ngx_rtmp_live_mole 模塊轉發給 application live 應用,然後使用vlc連接 live,播放該直播流。本質上就是1對多的廣播

參考: http://nginx.org/en/docs/debugging_log.html

1: Nginx-rtmp-mole模塊源碼學習

https://blog.evanxia.com/2017/02/1264

2: nginx_rtmp_relay_mole模塊解讀

https://www.shangmayuan.com/a/d74b78669f804fb5b12cae5a.html

3:開發手冊中文版:包含指令介紹

https://blog.csdn.net/ai2000ai/article/details/55517992

『叄』 使用nginx-rtmp-mole 部署了一個rtmp服務, 但是推流地址只有一個,我如何才能有多個推流地址

建議使用WebRTC方式,多路推流伺服器能行嗎?

『肆』 centos 使用yum安裝nginx後如何添加模塊

1.確認你已經安裝在用的nginx信息

nginx-V

#停掉nginx服務
servicenginxstop
#進入解壓的nginx-1.10.3目錄
cdnginx-1.10.3
#編譯./configure後面加上第1步nginx-V查看到的所有配置參數,後面加上你要加的模塊配置
./configure--prefix=/etc/nginx--sbin-path=/usr/sbin/nginx...(太長我省略了)--add-mole=/root/nginx-rtmp-mole-1.1.10
make
千萬別makeinstall
驗證新nginx是否可用驗證編譯後的nginx是否可以使用已有的配置
./objs/nginx-t
使用新nginx
備份cp/usr/sbin/nginx/usr/sbin/nginx-bak
替換cp./objs/nginx/usr/sbin/nginx

ok了,重啟nginx
servicenginxstart
祝你成功!

『伍』 如何 編譯 ngx

一、必要軟體准備
1.安裝pcre

為了支持rewrite功能,我們需要安裝pcre

復制代碼代碼如下:
# yum install pcre* //如過你已經裝了,請跳過這一步

2.安裝openssl
需要ssl的支持,如果不需要ssl支持,請跳過這一步

復制代碼代碼如下:
# yum install openssl*

3.gzip 類庫安裝

復制代碼代碼如下:
yum install zlib zlib-devel

4.安裝wget
下載nginx使用,如果已經安裝,跳過這一步

復制代碼代碼如下:
# yum install wget

二、安裝nginx

1.下載

復制代碼代碼如下:
wget http://nginx.org/download/nginx-1.7.0.tar.gz

2.解壓

復制代碼代碼如下:

tar -zxvf nginx-1.7.0.tar.gz

3.編譯和安裝
執行如下命令:

復制代碼代碼如下:

# cd nginx-1.7.0
# ./configure --prefix=/usr/local/nginx-1.7.0 \
--with-http_ssl_mole --with-http_spdy_mole \
--with-http_stub_status_mole --with-pcre

–with-http_stub_status_mole:支持nginx狀態查詢
–with-http_ssl_mole:支持https
–with-http_spdy_mole:支持google的spdy,想了解請網路spdy,這個必須有ssl的支持
–with-pcre:為了支持rewrite重寫功能,必須制定pcre

最後輸出如下內容,表示configure OK了。

復制代碼代碼如下:

checking for zlib library ... found
creating objs/Makefile
Configuration summary
+ using system PCRE library
+ using system OpenSSL library
+ md5: using OpenSSL library
+ sha1: using OpenSSL library
+ using system zlib library
nginx path prefix: "/usr/local/nginx-1.7.0"
nginx binary file: "/usr/local/nginx-1.7.0/sbin/nginx"
nginx configuration prefix: "/usr/local/nginx-1.7.0/conf"
nginx configuration file: "/usr/local/nginx-1.7.0/conf/nginx.conf"
nginx pid file: "/usr/local/nginx-1.7.0/logs/nginx.pid"
nginx error log file: "/usr/local/nginx-1.7.0/logs/error.log"
nginx http access log file: "/usr/local/nginx-1.7.0/logs/access.log"
nginx http client request body temporary files: "client_body_temp"
nginx http proxy temporary files: "proxy_temp"
nginx http fastcgi temporary files: "fastcgi_temp"
nginx http uwsgi temporary files: "uwsgi_temp"
nginx http scgi temporary files: "scgi_temp"
# make //確定你的伺服器有安裝make,如果沒有安裝請執行yum install make

# make install

三、啟動、關閉、重置nginx
啟動:直接執行以下命令,nginx就啟動了,不需要改任何配置文件,nginx配置多域名虛擬主機請參考後續文章.

復制代碼代碼如下:
/usr/local/nginx-1.7.0/sbin/nginx

試試訪問:直接使用curl命令來讀取web信息

復制代碼代碼如下:

[root@ns conf]
# curl -s http://localhost | grep nginx.com
nginx.com.

關閉:

復制代碼代碼如下:
/usr/local/nginx-1.7.0/sbin/nginx -s stop

重置:當你有修改配置文件的時候,只需要reload以下即可

復制代碼代碼如下:
/usr/local/nginx-1.7.0/sbin/nginx -s reload

整個nginx的安裝就到這里結束了。

四、nginx編譯參數詳解

復制代碼代碼如下:

–prefix= 指向安裝目錄
–sbin-path 指向(執行)程序文件(nginx)
–conf-path= 指向配置文件(nginx.conf)
–error-log-path= 指向錯誤日誌目錄
–pid-path= 指向pid文件(nginx.pid)
–lock-path= 指向lock文件(nginx.lock)(安裝文件鎖定,防止安裝文件被別人利用,或自己誤操作。)
–user= 指定程序運行時的非特權用戶
–group= 指定程序運行時的非特權用戶組
–builddir= 指向編譯目錄
–with-rtsig_mole 啟用rtsig模塊支持(實時信號)
–with-select_mole 啟用select模塊支持(一種輪詢模式,不推薦在高載環境下使用)禁用:–without-select_mole
–with-poll_mole 啟用poll模塊支持(功能與select相同,與select特性相同,為一種輪詢模式,不推薦在高載環境下使用)
–with-file-aio 啟用file aio支持(一種APL文件傳輸格式)
–with-ipv6 啟用ipv6支持
–with-http_ssl_mole 啟用ngx_http_ssl_mole支持(使支持https請求,需已安裝openssl)
–with-http_realip_mole 啟用ngx_http_realip_mole支持(這個模塊允許從請求標頭更改客戶端的IP地址值,默認為關)
–with-http_addition_mole 啟用ngx_http_addition_mole支持(作為一個輸出過濾器,支持不完全緩沖,分部分響應請求)
–with-http_xslt_mole 啟用ngx_http_xslt_mole支持(過濾轉換XML請求)
–with-http_image_filter_mole 啟用ngx_http_image_filter_mole支持(傳輸JPEG/GIF/PNG 圖片的一個過濾器)(默認為不啟用。gd庫要用到)
–with-http_geoip_mole 啟用ngx_http_geoip_mole支持(該模塊創建基於與MaxMind GeoIP二進制文件相配的客戶端IP地址的ngx_http_geoip_mole變數)
–with-http_sub_mole 啟用ngx_http_sub_mole支持(允許用一些其他文本替換nginx響應中的一些文本)
–with-http_dav_mole 啟用ngx_http_dav_mole支持(增加PUT,DELETE,MKCOL:創建集合,COPY和MOVE方法)默認情況下為關閉,需編譯開啟
–with-http_flv_mole 啟用ngx_http_flv_mole支持(提供尋求內存使用基於時間的偏移量文件)
–with-http_gzip_static_mole 啟用ngx_http_gzip_static_mole支持(在線實時壓縮輸出數據流)
–with-http_random_index_mole 啟用ngx_http_random_index_mole支持(從目錄中隨機挑選一個目錄索引)
–with-http_secure_link_mole 啟用ngx_http_secure_link_mole支持(計算和檢查要求所需的安全鏈接網址)
–with-http_degradation_mole 啟用ngx_http_degradation_mole支持(允許在內存不足的情況下返回204或444碼)
–with-http_stub_status_mole 啟用ngx_http_stub_status_mole支持(獲取nginx自上次啟動以來的工作狀態)
–without-http_charset_mole 禁用ngx_http_charset_mole支持(重新編碼web頁面,但只能是一個方向–伺服器端到客戶端,並且只有一個位元組的編碼可以被重新編碼)
–without-http_gzip_mole 禁用ngx_http_gzip_mole支持(該模塊同-with-http_gzip_static_mole功能一樣)
–without-http_ssi_mole 禁用ngx_http_ssi_mole支持(該模塊提供了一個在輸入端處理處理伺服器包含文件(SSI)的過濾器,目前支持SSI命令的列表是不完整的)
–without-http_userid_mole 禁用ngx_http_userid_mole支持(該模塊用來處理用來確定客戶端後續請求的cookies)
–without-http_access_mole 禁用ngx_http_access_mole支持(該模塊提供了一個簡單的基於主機的訪問控制。允許/拒絕基於ip地址)
–without-http_auth_basic_mole禁用ngx_http_auth_basic_mole(該模塊是可以使用用戶名和密碼基於http基本認證方法來保護你的站點或其部分內容)
–without-http_autoindex_mole 禁用disable ngx_http_autoindex_mole支持(該模塊用於自動生成目錄列表,只在ngx_http_index_mole模塊未找到索引文件時發出請求。)
–without-http_geo_mole 禁用ngx_http_geo_mole支持(創建一些變數,其值依賴於客戶端的IP地址)
–without-http_map_mole 禁用ngx_http_map_mole支持(使用任意的鍵/值對設置配置變數)
–without-http_split_clients_mole 禁用ngx_http_split_clients_mole支持(該模塊用來基於某些條件劃分用戶。條件如:ip地址、報頭、cookies等等)
–without-http_referer_mole 禁用disable ngx_http_referer_mole支持(該模塊用來過濾請求,拒絕報頭中Referer值不正確的請求)
–without-http_rewrite_mole 禁用ngx_http_rewrite_mole支持(該模塊允許使用正則表達式改變URI,並且根據變數來轉向以及選擇配置。如果在server級別設置該選項,那麼他們將在 location之前生效。如果在location還有更進一步的重寫規則,location部分的規則依然會被執行。如果這個URI重寫是因為location部分的規則造成的,那麼 location部分會再次被執行作為新的URI。 這個循環會執行10次,然後Nginx會返回一個500錯誤。)
–without-http_proxy_mole 禁用ngx_http_proxy_mole支持(有關代理伺服器
–without-http_fastcgi_mole 禁用ngx_http_fastcgi_mole支持(該模塊允許Nginx 與FastCGI 進程交互,並通過傳遞參數來控制FastCGI 進程工作。 )FastCGI一個常駐型的公共網關介面。
–without-http_uwsgi_mole 禁用ngx_http_uwsgi_mole支持(該模塊用來醫用uwsgi協議,uWSGI伺服器相關)
–without-http_scgi_mole 禁用ngx_http_scgi_mole支持(該模塊用來啟用SCGI協議支持,SCGI協議是CGI協議的替代。它是一種應用程序與HTTP服務介面標准。它有些像FastCGI但他的設計 更容易實現。)
–without-http_memcached_mole 禁用ngx_http_memcached_mole支持(該模塊用來提供簡單的緩存,以提高系統效率)
-without-http_limit_zone_mole 禁用ngx_http_limit_zone_mole支持(該模塊可以針對條件,進行會話的並發連接數控制)
–without-http_limit_req_mole 禁用ngx_http_limit_req_mole支持(該模塊允許你對於一個地址進行請求數量的限制用一個給定的session或一個特定的事件)
–without-http_empty_gif_mole 禁用ngx_http_empty_gif_mole支持(該模塊在內存中常駐了一個1*1的透明GIF圖像,可以被非常快速的調用)
–without-http_browser_mole 禁用ngx_http_browser_mole支持(該模塊用來創建依賴於請求報頭的值。如果瀏覽器為modern ,則$modern_browser等於modern_browser_value指令分配的值;如 果瀏覽器為old,則$ancient_browser等於 ancient_browser_value指令分配的值;如果瀏覽器為 MSIE中的任意版本,則 $msie等於1)
–without-http_upstream_ip_hash_mole 禁用ngx_http_upstream_ip_hash_mole支持(該模塊用於簡單的負載均衡)
–with-http_perl_mole 啟用ngx_http_perl_mole支持(該模塊使nginx可以直接使用perl或通過ssi調用perl)
–with-perl_moles_path= 設定perl模塊路徑
–with-perl= 設定perl庫文件路徑
–http-log-path= 設定access log路徑
–http-client-body-temp-path= 設定http客戶端請求臨時文件路徑
–http-proxy-temp-path= 設定http代理臨時文件路徑
–http-fastcgi-temp-path= 設定http fastcgi臨時文件路徑
–http-uwsgi-temp-path= 設定http uwsgi臨時文件路徑
–http-scgi-temp-path= 設定http scgi臨時文件路徑
-without-http 禁用http server功能
–without-http-cache 禁用http cache功能
–with-mail 啟用POP3/IMAP4/SMTP代理模塊支持
–with-mail_ssl_mole 啟用ngx_mail_ssl_mole支持
–without-mail_pop3_mole 禁用pop3協議(POP3即郵局協議的第3個版本,它是規定個人計算機如何連接到互聯網上的郵件伺服器進行收發郵件的協議。是網際網路電子郵件的第一個離線協議標 准,POP3協議允許用戶從伺服器上把郵件存儲到本地主機上,同時根據客戶端的操作刪除或保存在郵件伺服器上的郵件。POP3協議是TCP/IP協議族中的一員,主要用於 支持使用客戶端遠程管理在伺服器上的電子郵件)
–without-mail_imap_mole 禁用imap協議(一種郵件獲取協議。它的主要作用是郵件客戶端可以通過這種協議從郵件伺服器上獲取郵件的信息,下載郵件等。IMAP協議運行在TCP/IP協議之上, 使用的埠是143。它與POP3協議的主要區別是用戶可以不用把所有的郵件全部下載,可以通過客戶端直接對伺服器上的郵件進行操作。)
–without-mail_smtp_mole 禁用smtp協議(SMTP即簡單郵件傳輸協議,它是一組用於由源地址到目的地址傳送郵件的規則,由它來控制信件的中轉方式。SMTP協議屬於TCP/IP協議族,它幫助每台計算機在發送或中轉信件時找到下一個目的地。)
–with-google_perftools_mole 啟用ngx_google_perftools_mole支持(調試用,剖析程序性能瓶頸)
–with-cpp_test_mole 啟用ngx_cpp_test_mole支持
–add-mole= 啟用外部模塊支持
–with-cc= 指向C編譯器路徑
–with-cpp= 指向C預處理路徑
–with-cc-opt= 設置C編譯器參數(PCRE庫,需要指定–with-cc-opt=」-I /usr/local/include」,如果使用select()函數則需要同時增加文件描述符數量,可以通過–with-cc- opt=」-D FD_SETSIZE=2048」指定。)
–with-ld-opt= 設置連接文件參數。(PCRE庫,需要指定–with-ld-opt=」-L /usr/local/lib」。)
–with-cpu-opt= 指定編譯的CPU,可用的值為: pentium, pentiumpro, pentium3, pentium4, athlon, opteron, amd64, sparc32, sparc64, ppc64
–without-pcre 禁用pcre庫
–with-pcre 啟用pcre庫
–with-pcre= 指向pcre庫文件目錄
–with-pcre-opt= 在編譯時為pcre庫設置附加參數
–with-md5= 指向md5庫文件目錄(消息摘要演算法第五版,用以提供消息的完整性保護)
–with-md5-opt= 在編譯時為md5庫設置附加參數
–with-md5-asm 使用md5匯編源
–with-sha1= 指向sha1庫目錄(數字簽名演算法,主要用於數字簽名)
–with-sha1-opt= 在編譯時為sha1庫設置附加參數
–with-sha1-asm 使用sha1匯編源
–with-zlib= 指向zlib庫目錄
–with-zlib-opt= 在編譯時為zlib設置附加參數
–with-zlib-asm= 為指定的CPU使用zlib匯編源進行優化,CPU類型為pentium, pentiumpro
–with-libatomic 為原子內存的更新操作的實現提供一個架構
–with-libatomic= 指向libatomic_ops安裝目錄
–with-openssl= 指向openssl安裝目錄
–with-openssl-opt 在編譯時為openssl設置附加參數
–with-debug 啟用debug日誌

『陸』 centos 使用yum安裝nginx後如何添加模塊

【操作步驟】

  1. 確認你已經安裝在用的nginx信息

    『柒』 在nginx.conf中加入rtmp後nginx啟動不了

    1)正確編譯和安裝:網頁鏈接

    2)安裝完成後,鍵入 nginx -V 命令查看(無法找到命令的話,請使用絕對路徑訪問 nginx 可執行文件)

    正常編譯安裝情況

    應當出現類似 --add-mole=nginx-rtmp-mole 字樣

    3)問題依舊可以嘗試:

    1. 移除舊安裝目錄下文件(rm -rf /usr/local/nginx)

    2. 清楚編譯產生的文件(make clean)

    3. 使用正確的選項重新編譯安裝

    4. 問題還在?嘗試換個 nginx 版本,再重復上述步驟

    『捌』 nginx編譯安裝需要哪些庫

    如果有網的情況,不用管這些。進入你的nginx文件夾,進行以下操作:
    通常至少需要以下庫:
    pcre(正則) , gcc(C編譯器) , net-tools(使用netstat命令)。
    一般有了上述的庫就能完成編譯,如果還不行,運行
    ./configure --prefix=你希望安裝到的目錄
    命令,最下方提示error少了什麼庫,你就 yum -y install 庫名(錯誤的提示裡面)就可以自動下載安裝了。

    『玖』 nginx rtmp 什麼時候產生m3u8

    nginx rtmp 什麼時候產生m3u8
    參考下面方法 jwplayer("mediaplayer").setup({ playlist: [{ sources: [{ file: 'rtmp://' + path + '/' + name },{ file: 'http://' + path + '/' + name // 這里可以寫m3u8的url。 }] }], height: 360, primary: "flash", width: 640 });
    jwplayer("mediaplayer").setup({ playlist: [{ sources: [{ file: 'rtmp://' + path + '/' + name },{ file: 'http://' + path + '/' + name // 這里可以寫m3u8的url。 }] }], height: 360, primary: "flash", width: 640 });

熱點內容
如何修改網銀U盾密碼 發布:2025-04-09 13:30:40 瀏覽:195
安卓渠道服怎麼更換賬號 發布:2025-04-09 13:29:54 瀏覽:547
linux讀取文件c 發布:2025-04-09 13:29:44 瀏覽:326
python字元串追加 發布:2025-04-09 13:26:48 瀏覽:795
學之書資料庫 發布:2025-04-09 13:26:07 瀏覽:638
粉碎資料庫 發布:2025-04-09 13:21:02 瀏覽:700
線上編程價格 發布:2025-04-09 13:01:57 瀏覽:324
和平精英里k層的密室密碼是多少 發布:2025-04-09 12:55:05 瀏覽:707
關掉加密 發布:2025-04-09 12:50:46 瀏覽:892
sql資料庫導出表結構 發布:2025-04-09 12:50:02 瀏覽:176