ÈËÉú¾ÍÊDz«ÖйúÇø

NginxÊÓÆµ²¥·Å£ºÁ÷ýÌåʱ´úµÄǿʢÒýÇæÓëÎÞÏÞ¿ÉÄÜ_08
ȪԴ£ºÖ¤È¯Ê±±¨Íø×÷ÕߣºÀ¾ü2026-03-06 01:43:56
wwwzqhsauikdwjbfkjabfwqr

NginxÔÚÊÓÆµ·Ö·¢ÖеĽ¹µã¼ÛÖµ

NginxÖ®ÒÔÊdzÉΪÊÓÆµ²¥·ÅÁìÓòµÄ¡°½¾×Ó¡± £¬Æä½¹µã¼ÛÖµÌåÏÖÔÚÒÔϼ¸¸ö·½Ã棺

¸ßÐÔÄÜÓë¸ß²¢·¢£ºNginxµÄÊÂÎñÇý¶¯¡¢Òì²½·ÇÛձռܹ¹ £¬Ê¹ÆäÄܹ»ÇáËÉÓ¦¶Ôº£Á¿²¢·¢ÅþÁ¬ £¬ÎÞÂÛÊÇRTMPÖ±²¥Á÷ÕÕ¾ÉHTTPÁ÷ýÌåÇÐÆ¬ £¬¶¼ÄܸßЧ´¦Öóͷ£¡£ÎÞаÐÔÓë¿ÉÀ©Õ¹ÐÔ£ºNginxÓµÓи»ºñµÄÄ£¿éÉú̬ £¬Í¨¹ý°²?×°ngxrtmpmodule¡¢ngxhttpflv_moduleµÈ?µÚÈý·½Ä£¿é £¬¿ÉÒÔÇáËÉÀ©Õ¹Æä¹¦Ð§ £¬Öª×ã²î±ðÁ÷ýÌåЭæÅºÍÃûÌõÄ?ÐèÇó¡£

µÍ×ÊÔ´ÏûºÄ£ºÏà±ÈÓÚÆäËû·þÎñÆ÷ £¬NginxÔÚ´¦Öóͷ£¸ß²¢·¢ÇëÇóʱ £¬ÄÚ´æºÍCPUÕ¼ÓÃÂʶ¼½ÏµÍ £¬Õâ¹ØÓÚ±¾Ç®¿ØÖƺÍÐÔÄÜÓÅ»¯ÖÁ¹ØÖ÷Òª¡£ÎȹÌÐÔÓë¿É¿¿ÐÔ£ºNginx¾­ÓɶàÄêµÄÉú³¤ºÍÆÕ±éµÄ?Ó¦Óà £¬ÒѾ­Ö¤ÊµÎúÆä׿ԽµÄÎȹÌÐԺͿɿ¿ÐÔ £¬Äܹ»È·±£ÊÓÆµ·þÎñµÄÒ»Á¬¿ÉÓá£

Ò×ÓÚÉèÖÃÓë¹ÜÀí£ºNginxµÄ?ÉèÖÃÎļþ¾«Á·Ã÷Îú £¬Ò×ÓÚÃ÷È·ºÍÐÞ¸Ä £¬ÎªÊÓÆµ·þÎñµÄ¸ßЧ°²ÅźÍÔËάÌṩÁ˱㵱¡£

´Ó¼òÆÓµÄHTTPÊÓÆµµã²¥ £¬µ½ÖØ´óµÄRTMPÖ±²¥ÍÆÁ÷ £¬ÔÙµ½ÏȽøµÄHLS/DASH×Ô˳ӦÁ÷ýÌå £¬NginxÒÀ¸½ÆäǿʢµÄÄÜÁ¦ºÍÎÞаµÄÉèÖà £¬ÒѾ­³ÉΪ¹¹½¨¸ßÐÔÄÜ¡¢µÍÑÓ³Ù¡¢¸ß¿É¿¿ÐÔÊÓÆµ²¥·Å½â¾ö¼Æ»®µÄ»ùʯ¡£ËüΪÄÚÈÝ´´×÷Õß¡¢Ö±²¥Æ½Ì¨¡¢ÊÓÆµ·þÎñÌṩÉÌÌṩÁËÒ»¸öǿʢ¶ø¿É¿¿µÄƽ̨ £¬ÈÃËûÃÇÄܹ»½«¾«²ÊµÄÊÓÆµÄÚÈÝ £¬Îȹ̡¢Á÷ͨµØ×ª´ï¸øÈ«ÇòÓû§¡£

Ö±²¥³¡¾°¶ÔʵʱÐÔ¡¢µÍÑÓ³ÙÓÐ׿«¸ßµÄÒªÇ󡣹ŰåµÄHTTPЭÒéÔÚ´«ÊäÀú³ÌÖб£´æÒ»¶¨µÄÑÓ³Ù £¬ÄÑÒÔÖª×ãÖ±²¥¶Ô¡°¼´Ê±ÐÔ¡±µÄÐèÇó¡£Õâʱ £¬RTMP£¨Real-TimeMessagingProtocol£©Ð­ÒéÓ¦Ô˶øÉú £¬²¢Ñ¸ËÙ³ÉΪֱ²¥ÍÆÁ÷ºÍ·Ö·¢µÄÊ×Ñ¡¡£Nginxͨ¹ý×°ÖÃngxrtmpmoduleÄ£¿é £¬ÍêÉÆÖ§³ÖRTMPЭÒé¡£

ÕâÒâζ×Å £¬Nginx²»µ«¿ÉÒÔ×÷ΪHTTP·þÎñÆ÷ £¬¸üÄÜÒ¡ÉíÒ»±ä £¬³ÉΪһ¸ö¹¦Ð§Ç¿Ê¢µÄRTMP·þÎñÆ÷¡£

ÓÐÁËngxrtmpmodule £¬NginxÄܹ»ÎüÊÕÀ´×ÔÖ±²¥Ô´µÄRTMPÍÆÁ÷ £¬²¢½«Æä¾ÙÐÐתÂë¡¢·Ö·¢¡£ËüÄܹ»´¦Öóͷ£´ó×ڵIJ¢·¢ÅþÁ¬ £¬È·±£Ö±²¥?Á÷µÄÎȹ̴«Êä £¬×ÝÈ»ÔÚÓû§Á¿¼¤ÔöµÄÇéÐÎÏ £¬Ò²Äܼá³ÖÁ÷ͨ²»¿¨¶Ù¡£NginxµÄÊÂÎñÇý¶¯¡¢Òì²½?·ÇÛձյļܹ¹ £¬Ê¹ÆäÔÚ´¦Öóͷ£¸ß²¢·¢µÄRTMPÅþÁ¬Ê± £¬×ÊÔ´Õ¼Óü«µÍ £¬Ð§ÂʾªÈË¡£

Õâ¹ØÓÚÐèÒª³¤Ê±¼äÔËÐС¢³Ð?ÔØº£Á¿Óû§µÄÖ±²¥?ƽ̨¶øÑÔ £¬ÎÞÒÉÊÇÖØ´óµÄÓÅÊÆ¡£

HTTPÁ÷ýÌåµÄáÈÆð£ºHLSÓëDASHµÄNginxÖ®µÀ

Îļþϵͳ»º´æ£ºÈ·±£ÄúµÄÊÓÆµÎļþ´æ?´¢ÔÚËÙÂÊ¿ìµÄ´æ´¢×°±¸ÉÏ £¬²¢Ê¹ÓòÙ×÷ϵͳµÄÎļþϵͳ»º´æ¡£GzipѹËõ£º¹ØÓÚ·ÇÊÓÆµÄÚÈÝ£¨ÈçM3U8¡¢MPDË÷ÒýÎļþ£© £¬¿ÉÒÔ¿ªÆôGzipѹËõÀ´¼õС´«ÊäÌå»ý £¬Ìá¸ß¼ÓÔØËÙÂÊ¡£µ«¹ØÓÚÊÓÆµÁ÷×Ô¼º £¬Í¨³£²»½¨Òé¾ÙÐÐGzipѹËõ £¬ÓÉÓÚÊÓÆµÊý¾Ý×Ô¼ºÒѾ­ÊǸ߶ÈѹËõµÄ¡£

SSL/TLSÓÅ»¯£ºÈôÊÇÄúµÄÊÓÆµ·þÎñʹÓÃHTTPS £¬ÐèÒªÉèÖøßЧµÄSSL/TLSЭæÅºÍ¼ÓÃÜÌ×¼þ £¬²¢?˼Á¿Ê¹ÓÃHTTP/2»òHTTP/3À´½øÒ»²½ÌáÉý´«ÊäÐÔÄÜ¡£³¤ÅþÁ¬ÓëKeep-Alive£ººÏÀíÉèÖÃkeepalive_timeout £¬¼á³ÖHTTPÅþÁ¬µÄ¸´Óà £¬ïÔÌ­TCPÎÕÊÖºÍSSLÎÕÊֵĿªÏú¡£

»á¼û¿ØÖÆÓëÏÞÁ÷£ºÍ¨¹ýlimit_reqÄ£¿éʵÏÖÇëÇóÏÞÁ÷ £¬±ÜÃâ¶ñÒâ¹¥»÷»òÓû§ÀÄÓà £¬°ü¹Ü·þÎñµÄÎȹÌÐÔ¡£Ê¹ÓÃngx_http_access_module¾ÙÐÐIP°×Ãûµ¥»òºÚÃûµ¥¿ØÖÆ¡£

Ö»¹ÜRTMPÔÚÖ±²¥ÁìÓòÕ¼ÓÐÖ÷Ҫְλ £¬µ«Æä¼æÈÝÐԺʹ©Í¸ÐÔ£¨ÓÈÆäÊÇÔÚÄ³Ð©ÍøÂçÇéÐÎÏ£©ÈÔ±£´æÒ»Ð©ÌôÕ½¡£ÎªÁËսʤÕâЩÎÊÌâ £¬»ùÓÚHTTPµÄÁ÷ýÌåÊÖÒÕÓ¦Ô˶øÉú £¬ÆäÖÐ×î¾ß´ú±í?ÐԵļ´ÊÇHLS£¨HTTPLiveStreaming£©ºÍDASH£¨DynamicAdaptiveStreamingoverHTTP£©¡£

ÕâÁ½ÖÖÊÖÒÕ½«ÊÓÆµÎļþÖ§½â³ÉһϵÁÐСƬ¶Ï £¬²¢Í¨¹ýHTTPЭÒé¾ÙÐд«Êä £¬¼«´óµØÌá¸ßÁËÁ÷ýÌåµÄ¿É»á¼ûÐÔºÍ˳ӦÐÔ¡£

HLSÊÇÆ»¹û¹«Ë¾Ìá³öµÄÁ÷ýÌåÊÖÒÕ £¬Ëü½«ÊÓÆµÇÐÆ¬³É.tsÎļþ £¬²¢Í¨¹ýÒ»¸ö.m3u8Ë÷ÒýÎļþÀ´ÐÎòÕâЩÇÐÆ¬¡£¿Í»§¶ËÏÂÔØ.m3u8Îļþºó £¬±ã¿ÉÒÔ°´Ë³ÐòÏÂÔØ.tsÎļþ²¢²¥·Å¡£HLSµÄÓÅÊÆÔÚÓÚÆäÆÕ±éµÄ×°±¸Ö§³ÖºÍǿʢµÄ?ÍøÂç˳ӦÐÔ £¬ÏÕЩËùÓÐÖ÷Á÷×°±¸ºÍä¯ÀÀÆ÷¶¼Ö§³ÖHLS²¥·Å¡£

DASHÔòÊÇÒ»¸ö¿ª·ÅµÄ±ê×¼ £¬ËüÔÊÐí½«ÊÓÆµÖ§½â³É²î±ðÖÊÁ¿¡¢²î±ðÂëÂʵÄÇÐÆ¬ £¬²¢Ìṩһ¸ö.mpd£¨MediaPresentationDescription£©ÎļþÀ´ÐÎòÕâЩÇÐÆ¬¡£¿Í»§¶Ë¿ÉÒÔÆ¾Ö¤×ÔÉíµÄÍøÂç״̬ºÍ×°±¸ÐÔÄÜ £¬¶¯Ì¬µØÑ¡Ôñ×îÊʺϵÄÇÐÆ¬¾ÙÐÐÏÂÔØ²¥·Å £¬´Ó¶øÊµÏÖ×Ô˳ӦÂëÂʲ¥·Å £¬ÓÐÓýâ¾öÍøÂ粨¶¯µ¼ÖµĿ¨¶ÙÎÊÌâ¡£

¸ß¼¶Ó¦ÓÃÓëʵ¼ù

CDN¼¯³É£º½«Nginx×÷ΪCDN£¨ÄÚÈÝ·Ö·¢ÍøÂ磩µÄ½Úµã £¬Ê¹ÓÃÆäǿʢµÄ·Ö·¢ÄÜÁ¦ £¬½«ÊÓÆµÄÚÈÝ»º´æµ½?ÀëÓû§¸ü½üµÄ±ß??Ôµ·þÎñÆ÷ £¬´ó´óËõ¶Ì»á¼ûÑÓ³Ù £¬ÌáÉýÓû§ÌåÑé¡£¶àЭÒéÖ§³Ö£º³ý?ÁËRTMP¡¢HLS¡¢DASH £¬Nginx»¹¿ÉÒÔͨ¹ýÆäËûÄ£¿éÖ§³Ö¸ü¶àÁ÷ýÌåЭÒé £¬ÈçSRT£¨SecureReliableTransport£© £¬ÒÔÖª×ã¸üרҵµÄÖ±²¥³¡¾°ÐèÇó¡£

¸ºÔØÆ½ºâ£ºµ±µ¥¸öNginx·þÎñÆ÷ÎÞ·¨Öª×ã¸ß²¢·¢ÐèÇóʱ £¬¿ÉÒÔͨ¹ý¶ą̀Nginx·þÎñÆ÷¾ÙÐиºÔØÆ½ºâ £¬½«Á÷Á¿ÊèÉ¢µ½²î±ðµÄ·þÎñÆ÷ÉÏ £¬Ìá¸ßϵͳµÄÕûÌå¿ÉÓÃÐÔºÍÍÌÍÂÁ¿¡£¶¯Ì¬×ªÂëÓë´ò°ü£ºËäÈ»Nginx×Ô¼º²»Ö±½Ó¾ÙÐÐÊÓÆµ×ªÂë £¬µ«¿ÉÒÔÓëFFmpeg¡¢FFmpeg-NVENCµÈתÂë·þÎñ¼¯³É £¬ÊµÏÖÊÓÆµµÄʵʱתÂëºÍ²î±ðÃûÌõĴò°ü £¬ÒÔ˳Ӧ²î±ðÖն˺ÍÍøÂçÇéÐΡ£

Çå¾²¼Ó¹Ì£ºÉèÖÃReferer·ÀµÁÁ´ £¬ÏÞÖÆ²»·¨»á¼û¡£Í¨¹ýtoken¼øÈ¨»úÖÆ £¬¶Ô²¥·ÅÇëÇó¾ÙÐÐÑéÖ¤ £¬±ÜÃâδÊÚȨµÄ²¥·Å¡£

NginxÔÚÊÓÆµ²¥·ÅÁìÓòµÄÄÜÁ¦Ô¶²»Ö¹ÓÚ´Ë?¡£ËüÊÇÒ»¸ö¸ß¶ÈÎÞаÇÒÐÔÄÜǿʢµÄƽ̨ £¬Äܹ»Öª×ã´Ó¼òÆÓµÄ?µã²¥µ½ÖØ´óµÄÖ±²¥Ó¦Óó¡¾°¡£Í¨¹ýÉîÈëÃ÷È·NginxµÄÉèÖÃÔ­Àí¡¢ÕÆÎÕÐÔÄÜÓÅ»¯¼¼ÇÉ £¬²¢?ÍŽáÏÖʵӪҵÐèÇó £¬Äú¿ÉÒÔ¹¹½¨³öÎȹ̡¢¸ßЧ¡¢¿ÉÀ©Õ¹µÄÊÓÆµ·þÎñ £¬ÎªÓû§´øÀ´¼«ÖµĹÛÓ°ÌåÑé £¬ÔÚÇ¿ÁÒµÄÊг¡¾ºÕùÖÐÍÑÓ±¶ø³ö¡£

NginxÔÚÖ§³Ö?HLSºÍDASH·½ÃæÍ¬ÑùÌåÏÖ¾«²Ê¡£Í¨¹ýÉèÖÃNginx £¬ÎÒÃÇ¿ÉÒÔÇáËɵؽ«ÊÓÆµÎļþ¾ÙÐÐÇÐÆ¬ £¬²¢ÌìÉúÏìÓ¦µÄË÷ÒýÎļþ¡£Nginx×÷ΪHTTP·þÎñÆ÷ £¬Äܹ»¸ßЧµØ´¦Öóͷ£´ó×ÚµÄHTTPÇëÇó £¬¿ìËٵؽ«HLSµÄ.m3u8ÎļþºÍ.tsÇÐÆ¬ £¬»òÕßDASHµÄ.mpdÎļþºÍýÌåÇÐÆ¬ £¬·Ö·¢¸ø¿Í»§¶Ë¡£

NginxµÄ»º´æ»úÖÆ»¹¿ÉÒÔ½øÒ»²½ÌáÉý·Ö·¢Ð§ÂÊ £¬ïÔÌ­Ô´·þÎñÆ÷µÄѹÁ¦¡£

¸ü½øÒ»²½ £¬Nginx»¹¿ÉÒÔÍŽángxhttpflv_moduleµÈÄ£¿é £¬ÊµÏÖ¶ÔFLVÃûÌÃÊÓÆµµÄÖ±½ÓÁ÷ʽ´«Êä¡£FLVÊÇÒ»ÖÖºÜÊÇÊ¢ÐеÄÊÓÆµÃûÌà £¬ÓÈÆäÔÚFlashʱ´ú¡£ËäÈ»FlashÒÑÖð½¥±»ïÔÌ­ £¬µ«FLVÃûÌõÄÊÓÆµÄÚÈÝÈÔÈ»ÆÕ±é±£´æ¡£Nginxͨ¹ý¶ÔFLVµÄÖ§³Ö £¬¿ÉÒÔÎÞ·ì¶Ô½Ó¾ÉÓеÄÊÓÆµ×ÊÔ´ £¬ÎªÄÚÈÝǨáãºÍÉý¼¶ÌṩÁ˱㵱¡£

Nginx£º²»Ö¹ÓÚWeb·þÎñÆ÷ £¬¸üÊÇÁ÷ýÌåʱ´úµÄÊÓÆµ²¥·ÅÀûÆ÷

ÔÚÕâ¸öÐÅÏ¢±¬Õ¨µÄʱ´ú £¬ÊÓÆµÒѾ­³ÉΪÈËÃÇ»ñÊØÐÅÏ¢¡¢ÓéÀÖÏûDz¡¢Éç½»»¥¶¯µÄÖ÷Á÷·½·¨¡£´Ó¸ßÇåÓ°Ï·¡¢Ö±²¥Èüʵ½ÔÚÏ߿γ̡¢¶ÌÊÓÆµ·ÖÏí £¬ÊÓÆµÄÚÈݵÄÏûºÄÐèÇó³Ê?ÏÖ³ö±¬·¢Ê½ÔöÌí¡£¶øÔÚÕⳡϯ¾í¶øÀ´µÄÊÓÆµºéÁ÷±³ºó £¬Ç¿Ê¢µÄÊÖÒÕÖ§³ÖÖÁ¹ØÖ÷Òª¡£Nginx £¬Õâ¸öÒÔ¸ßÐÔÄÜ¡¢¸ß²¢·¢¡¢µÍ×ÊÔ´ÏûºÄ¶øÖøÃûµÄWeb·þÎñÆ÷ £¬ÔçÒÑÓâÔ½ÁËÆä×î³õµÄ¶¨Î» £¬ÔÚÊÓÆµ²¥·ÅÁìÓòÊÎÑÝ×ÅÔ½À´Ô½Ö÷ÒªµÄ?½ÇÉ« £¬³ÉΪÎÞÊýÁ÷ýÌå·þÎñµÄǿʢÒýÇæ¡£

NginxÓëÊÓÆµ²¥·ÅµÄ²»½âÖ®Ôµ£º´ÓHTTPµ½RTMP

NginxÖ®ÒÔÊÇÄÜÔÚÊÓÆµ²¥·ÅÁìÓò´ó·ÅÒì²Ê £¬ÓëÆäÎÞаµÄ¼Ü¹¹ºÍǿʢ?µÄЭÒéÖ§³ÖϢϢÏà¹Ø¡£×î³õ £¬NginxÖ÷Ҫͨ¹ýHTTPЭÒéÀ´·Ö·¢ÊÓÆµÎļþ¡£Óû§Í¨¹ýä¯ÀÀÆ÷»á¼û £¬Nginx½«´æ´¢ÔÚ·þÎñÆ÷ÉϵÄÊÓÆµÎļþÒÔÁ÷ʽ´«ÊäµÄ·½·¨·¢Ë͸ø¿Í»§¶Ë¡£ÕâÖÖ·½·¨¼òÆÓÖ±½Ó £¬ÊÊÓÃÓڵ㲥³¡¾° £¬Óû§¿ÉÒÔËæÊ±ËæµØÔ¢Ä¿×Ô¼ºÏ²»¶µÄÊÓÆµ¡£

Ëæ×ÅÁ÷ýÌåÊÖÒÕµÄÒ»Ö±Éú³¤ £¬ÓÈÆäÊÇÖ±²¥ÐèÇóµÄÐËÆð £¬´¿´âµÄHTTP´«Êä×îÏÈÏÔ¶³öÆä¾ÖÏÞÐÔ¡£

NginxÐÔÄÜÓÅ»¯£ºÈÃÊÓÆµ²¥·ÅÈçË¿°ã˳»¬

WorkerÀú³ÌÓëÅþÁ¬Êýµ÷ÓÅ£ºworker_processes:ÉèÖÃΪCPU½¹µãÊýµÄÕûÊý±¶ £¬ÀýÈçworker_processesauto;»òworker_processes4;¡£worker_connections:ÉèÖÃΪÿ¸öworkerÀú³ÌÄܹ»´¦Öóͷ£µÄ×î´óÅþÁ¬Êý £¬Õâ¸öֵͨ³£ÐèҪƾ֤·þÎñÆ÷ÄÚ´æºÍÔ¤ÆÚµÄ²¢·¢Á¿À´µ÷½â¡£

worker_processes*worker_connections¾ÍÊÇNginxµÄ×ÜÅþÁ¬ÊýÉÏÏÞ¡£TCP/IP²ÎÊýÓÅ»¯£ºÔÚLinuxϵͳÖÐ £¬ÐèÒªµ÷½ânet.core.somaxconn¡¢net.ipv4.tcp_max_syn_backlog¡¢net.ipv4.tcp_tw_reuse¡¢net.ipv4.tcp_fin_timeoutµÈÄں˲ÎÊý £¬ÒÔÌá¸ßTCPÅþÁ¬µÄ´¦Öóͷ£ÄÜÁ¦ºÍЧÂÊ¡£

»º´æÕ½ÂÔ£ºä¯ÀÀÆ÷»º´æ£ººÏÀíÉèÖÃexpires»òCache-ControlÍ· £¬Èÿͻ§¶Ë£¨ä¯ÀÀÆ÷»ò²¥·ÅÆ÷£©»º´æÊÓÆµÇÐÆ¬ £¬ïÔÌ­ÖØ¸´ÇëÇó¡£Nginx»º´æ?£ºÊ¹ÓÃproxy_cacheÄ£¿é¿ÉÒÔ»º´æÀ´×Ôºó¶Ë·þÎñÆ÷µÄÏìÓ¦ £¬¹ØÓÚ·´Ïò´úÀí³¡¾°ÏÂÌṩÊÓÆµ·þÎñºÜÊÇÓÐÓá£

ÔÚÕâ¸öÉèÖÃÖÐ £¬applicationlive½ç˵ÁËÒ»¸öÖ±²¥Ó¦Óá£liveon;ÊÇÒªº¦ £¬Ëü¸æËßNginxÕâ¸öÓ¦ÓÃÊÇÓÃÀ´×öÖ±²¥µÄ¡£allowpublishºÍallowplayÓÃÓÚ¿ØÖÆÍÆÁ÷ºÍ²¥·ÅµÄȨÏÞ¡£

»ùÓÚNginxµÄHTTPÁ÷ýÌ壨HLS/DASH£©·þÎñ£ºµã²¥Óë×Ô˳ӦµÄÈÚºÏ

ÔÚNginxÖÐÌṩHLS»òDASH·þÎñ £¬Í¨³£ÐèҪ͎áFFmpegµÈ¹¤¾ß½«Ô­Ê¼ÊÓÆµÎļþ¾ÙÐÐÇÐÆ¬´¦Öóͷ£ £¬È»ºóNginxÈÏÕæ½«ÕâЩÇÐÆ¬Îļþͨ¹ýHTTPЭÒé¾ÙÐзַ¢¡£

ÊÓÆµÇÐÆ¬£ºÄú¿ÉÒÔʹÓÃFFmpeg½«ÊÓÆµÎļþÇÐÆ¬³ÉHLS»òDASHÃûÌá£ÀýÈç £¬Ê¹ÓÃFFmpegÌìÉúHLSÇÐÆ¬£º

ffmpeg-iinput.mp4-codec:copy-start_number0-hls_time10-hls_list_size0-fhlsoutput.m3u8

ÕâÌõÏÂÁî»á½«input.mp4ÇзֳÉ?10ÃëµÄÊÓÆµÆ¬¶Ï £¬²¢ÌìÉúoutput.m3u8Ë÷ÒýÎļþ¡£

NginxÉèÖãºÔÚNginxµÄhttp¿éÖÐ £¬ÄúÐèÒªÉèÖÃÒ»¸öserver¿éÀ´ÍйÜÕâЩÇÐÆ¬Îļþ¡£

NginxµÄRTMPÁ÷ýÌå·þÎñÆ÷´î½¨£ºÖ±²¥µÄÆðµã

Òª´î½¨Ò»¸öRTMPÖ±²¥·þÎñÆ÷ £¬½¹µãÔÚÓÚ×°ÖúÍÉèÖÃngxrtmpmoduleÄ£¿é¡£Õâ¸öÄ£¿éÔÊÐíNginxÎüÊÕÀ´×ÔÖ±²¥Ô´£¨ÈçOBS¡¢FFmpegµÈÍÆÁ÷Èí¼þ£©µÄRTMPÍÆÁ÷ £¬²¢½«Æä¾ÙÐд¦Öóͷ£ºÍ·Ö·¢¡£

×°ÖÃngxrtmpmodule£ºÍ¨³£ £¬ngxrtmpmoduleÐèÒª×÷ΪNginxµÄµÚÈý·½Ä£¿é¾ÙÐбàÒë×°Öá£ÄúÐèÒªÏÂÔØNginxµÄÔ´Âë°üºÍngxrtmpmoduleµÄÔ´Âë°ü £¬È»ºóͨ¹ý./configure--add-module=/path/to/ngx_rtmp_moduleÏÂÁÆä±àÒëµ½NginxÖС£

RTMPÉèÖÃÒªµã£ºÔÚNginxµÄÉèÖÃÎļþ£¨Í¨³£ÊÇnginx.conf£©ÖÐ £¬ÄúÐèÒªÌí¼ÓÒ»¸örtmp¿é¡£Õâ¸ö¿é°üÀ¨ÁËRTMP·þÎñÆ÷µÄ½¹µãÉèÖãº

rtmp{server{listen1935;#RTMPĬÈ϶˿Úchunk_size4096;#¿é¾Þϸ £¬Ó°Ïì´«ÊäЧÂÊapplicationlive{#½ç˵һ¸öÃûΪliveµÄÓ¦ÓÃliveon;#¿ªÆôÖ±²¥Ä£Ê½recordoff;#ͨ³£ÔÚÖ±²¥Öв»ÐèÒªÂ¼ÖÆ £¬¿ÉÉèÖÃΪoffallowpublish127.0.0.1;#ÔÊÐíÍâµØÐû²¼? £¬Æ¾Ö¤ÐèÇóÐÞ¸Äallowplayall;#ÔÊÐíËùÓÐÈ˲¥·Å}}}

server{listen80;server_nameyour_domain.com;location/hls/{types{application/vnd.apple.mpegurlm3u8;video/mp2tts;}alias/path/to/your/hls/files/;#Ö¸ÏòHLSÇÐÆ¬ÎļþµÄ?Ŀ¼add_headerCache-Controlno-cache;add_headerAccess-Control-Allow-Origin*;#ÔÊÐí¿çÓò»á¼û}}

Õâ¶ÎÉèÖøæËßNginx £¬µ±ÊÕµ½/hls/µÄÇëÇóʱ £¬È¥/path/to/your/hls/files/Ŀ¼²éÕÒ¶ÔÓ¦µÄ.m3u8ºÍ.tsÎļþ £¬²¢¾ÙÐзַ¢¡£add_headerAccess-Control-Allow-Origin*;ºÜÊÇÖ÷Òª £¬ËüÔÊÐíÀ´×ÔÈκÎÓòÃûµÄ¿Í»§¶Ë»á¼ûÄúµÄHLS×ÊÔ´ £¬Õâ¹ØÓÚWeb²¥·ÅÆ÷À´ËµÊDZز»¿ÉÉٵġ£

ÔðÈα༭£º À¾ü
ÉùÃ÷£ºÖ¤È¯Ê±±¨Á¦ÕùÐÅÏ¢ÕæÊµ¡¢×¼È· £¬ÎÄÕÂÌá¼°ÄÚÈݽö¹©²Î¿¼ £¬²»×é³ÉʵÖÊÐÔͶ×ʽ¨Òé £¬¾Ý´Ë²Ù×÷Σº¦×Ôµ£
ÏÂÔØ¡°Ö¤È¯Ê±±¨¡±¹Ù·½APP £¬»ò¹Ø×¢¹Ù·½Î¢ÐŹ«ÖںŠ£¬¼´¿ÉËæÊ±Ïàʶ¹ÉÊж¯Ì¬ £¬¶´²ìÕþ²ßÐÅÏ¢ £¬ÕÆÎղƲú»ú»á¡£
ÍøÓÑ̸ÂÛ
µÇ¼ºó¿ÉÒÔ½²»°
·¢ËÍ
ÍøÓÑ̸ÂÛ½ö¹©Æä±í´ïСÎÒ˽¼Ò¿´·¨ £¬²¢²»Åúע֤ȯʱ±¨Ì¬¶È
ÔÝÎÞ̸ÂÛ
ΪÄãÍÆ¼ö
ÍøÕ¾µØÍ¼