Nginx100%Video£ºµ±¸ß»úÄÜWeb·þÎñÆ÷¸ÏÉÏÊÓÆµÁ÷ýÌåµÄ´ºÌì
ÔÚÐÅÏ¢±¬Õ¨µÄʱÆÚ£¬ÊÓÆµÒѳÉΪÈËÃÇ»ñÊØÐÅÏ¢¡¢ÓéÀÖÏûDz¡¢ÉõÖÁóÒ×¹µÍ¨µÄÖ÷ÌâÔØÌå¡£´Ó¶ÌÊÓÆµµÄ²¡¶¾Ê½´«²¼£¬µ½¸ßÇåÖ±²¥µÄʵʱ»¥¶¯£¬ÔÙµ½ÆóÒµÄÚ²¿µÄÔÚÏßÅàѵºÍ»áÒ飬ÊÓÆµÁ÷ýÌåµÄÐèÒª³öÏÖ³ö±¬Õ¨Ê½Ôö³¤¡£°éËæ¶øÀ´µÄÊǶԷþÎñÆ÷»úÄÜ¡¢²»±äÐԺͳɱ¾µÄÑϸñÌôÕ½¡£ÈôºÎ¸ßЧ¡¢²»±ä¡¢¾¼ÃµØÌṩÁ÷³©µÄÊÓÆµÂÄÀú£¬³ÉΪÁËÎÞÊýÆóÒµºÍ¿ª·¢Õߨ½´ý½â¾öµÄÎÊÌâ¡£
ÕýÊÇÔÚÕâÑùµÄ²¼¾°Ï£¬Nginx£¬Õâ¸öÒԸ߻úÄÜ¡¢¸ß²¢·¢Öø³ÆµÄWeb·þÎñÆ÷£¬Æ¾½èÆä׳´óµÄÀ©´óÐԺͽýݵÄÅäÖÃÄÜÁ¦£¬ÔÚÊÓÆµÁ÷ýÌåÁìÓò´ó·ÅÒì²Ê£¬Öð²½ÐγÉÁË¡°Nginx100%Video¡±µÄ¼¼ÊõÉú̬¡£Ëü²»½ö½öÊÇÒ»¸öµ¥Ò»µÄWeb·þÎñÆ÷£¬¸üÊǹ¹½¨ÏÖ´úÊÓÆµÁ÷ýÌå·þÎñµÄ»ùʯ¡£
½ñÌ죬ÎÒÃǾÍÀ´Éî¿Ì̽ÇóNginxÈôºÎÔÚÊÓÆµÁ÷ýÌåµÄÊÀ½çÀʵÏÖ100%µÄ»úÄÜ¿ªÊÍ£¬½âËøÎÞÏÞ¿ÉÄÜ¡£
Nginx£º²»½ö½öÊÇWeb·þÎñÆ÷£¬¸üÊÇÊÓÆµÁ÷ýÌåµÄ¡°ÈðÊ¿¾üµ¶¡±
NginxÖ®ËùÒÔÄÜÔÚÊÓÆµÁ÷ýÌåÁìÓòÍÑÓ±¶ø³ö£¬Àë²»¿ªÆäÖ÷ÌâÓÅÊÆµÄÑÓ³¤ºÍ´´?С£
׿ԽµÄ²¢·¢´¦ÖÃÄÜÁ¦£ºNginxѡȡÊÂÎñÇý¶¯¡¢Òì²½·Ç×èÈûµÄI/OÄ£ÐÍ£¬¿ÉÄÜÒÔ¼«µÍµÄ×ÊÔ´¿÷Ëð´¦Öú£Á¿²¢·¢Ïνӡ£¶ÔÓÚÊÓÆµÁ÷ýÌå¶øÑÔ£¬ÕâÒâζ×Å·þÎñÆ÷Äܹ»Í¬Ê±Îª³ÉǧÉÏÍòµÄÓû§ÌṩÁ÷³©µÄÊÓÆµ²¥·Å£¬ÎÞÂÛÊÇÔÚÏßÖ±²¥»¹Êǵ㲥?£¬¶¼ÄÜÇáËÉÓ¦¶Ô¡£Ä£¿é»¯Éè¼Æ£¬¸ß¶È¿ÉÀ©´ó£ºNginxµÄÄ£¿é»¯¼Ü¹¹ÔÊÐí¿ª·¢Õ߯¾¾ÝÏÖʵÐèÒª¼ÓÔØ»ò¿ª·¢Ìض¨µÄÄ£¿é¡£
ÔÚÊÓÆµÁ÷ýÌåÁìÓò£¬Õâ´ßÉúÁËÖîÈçngxrtmpmodule£¨RTMPºÍ̸֧³Ö£©¡¢ngxhttpflv_module£¨FLV·â×°£©µÈһϵÁÐ׳´óµÄÄ£¿é£¬ÎªÖ±²¥ºÍµã²¥ÌṩÁËרҵ¼¶µÄ?Ö§³Ö¡£¸ßЧµÄ»º´æ»úÔ죺Nginx׳´óµÄ»º´æÄÜÁ¦£¬ÎÞÂÛÊǾ²Ì¬×ÊÔ´µÄCDN»º´æ£¬»¹ÊÇÁ÷ýÌåÇÐÆ¬Êý¾ÝµÄһʱ´æ´¢£¬¶¼ÄÜÏÔÖø½µµÍÔ´·þÎñÆ÷µÄѹÁ¦£¬ÌáÉýÓû§½Ó¼û¿ìÂÊ£¬Ï÷¼õÑÓ³¤¡£
½Ã½ÝµÄÅäÖÃÓë¸ºÔØÆ½ºâ£ºNginx½Ã½ÝµÄÅäÖÃÑ¡ÏîʹÆä¿ÉÄÜÇáËÉÊÊÓ¦¸÷ÀิÔÓµÄÍøÂç»·¾³ºÍÒµÎñÐèÒª¡£Æä׳´óµÄ¸ºÔØÆ½ºâÄÜÁ¦£¬Äܹ»½«Á÷Á¿·ÖÉ¢µ½¶ą̀·þÎñÆ÷ÉÏ£¬È·±£·þÎñµÄ¿ÉÓÃÐԺͲ»±äÐÔ£¬Ô¤·Àµ¥µã¹ÊÕÏ¡£
RTMPºÍ̸£ºÖ±²¥Ê±ÆÚµÄ»ùʯ£¬NginxµÄµÃÁ¦¸±ÊÖ
ÔÚÖ±²¥ÁìÓò£¬RTMP£¨Real-TimeMessagingProtocol£©ºÍÌ¸ÔøÊÇÊÂʵÉϵij߶ȡ£Ëü¿ÉÄÜʵÏÖµÍÑÓ³¤µÄÒôÊÓÆµ´«Ê䣬¼«¶ÈÊʺÏÖ±²¥³¡¾°¡£Nginxͨ¹ýngxrtmpmoduleÄ£¿é£¬ÔÉúÖ§³ÖRTMPºÍ̸£¬Ê¹Æä¿ÉÄÜÇáËɱíÑÝÖ±²¥Ô´·þÎñÆ÷µÄ½ÇÉ«¡£
RTMPÍÆÁ÷ÓëÀÁ÷£º´«Í³Ö±²¥?Á÷³ÌÖУ¬Ö÷²¥Í¨¹ýRTMPºÍ̸½«ÊÓÆµÁ÷ÍÆË͵½·þÎñÆ÷£¬·þÎñÆ÷ÔÙͨ¹ýRTMPºÍ̸½«Á÷·Ö·¢¸øÅÔ¹ÛÕß¡£NginxÄܹ»½Ó¹ÜÀ´×ÔOBS¡¢XSplitµÈ?ÍÆÁ÷Èí¼þµÄRTMPÍÆÁ÷£¬²¢½«Æä·Ö·¢¸ø¿Í»§¶Ë¡£Ö±²¥×ªÂëÓë·Ö·¢£ºNginx¹²Í¬FFmpegµÈ¹¤¾ß£¬Äܹ»ÊµÏÖÖ±²¥Á÷µÄʵʱתÂ룬½«Æäת»»Îª·ÖÆçÇ峺¶ÈºÍÂëÂʵİ汾£¬ÒÔÊÊÓ¦·ÖÆçÍøÂç»·¾³µÄÓû§¡£
Nginx»¹Äܽ«RTMPÁ÷ת»»ÎªHLS»òDASHµÈHTTP-basedºÍ̸£¬ÊµÏÖ¿çÆ½Ì¨²¥·Å¡£Ö±²¥Â¼ÔìÓë»Ø·Å£ºNginxÄܹ»ÅäÖÃRTMPÄ£¿é£¬½«Ö±²¥Á÷¼Ôì³ÉÎļþ£¬ÓÃÓÚºóÐøµÄµã²¥»ò»Ø·Å·þÎñ¡£
Óµ±§HTTP-basedºÍ̸£ºHLSÓëDASH£¬ÃæÏò½«À´µÄÁ÷ýÌå³ß¶È
Ö»¹ÜRTMPÔÚµÍÑÓ³¤·½ÃæÓÐÓÅÊÆ£¬µ«Æä»ùÓÚTCPµÄÏνӺͶÀÓкÍ̸£¬ÔÚ´©Í¸·À»ðǽ¡¢¿çƽ̨¼æÈÝÐԵȷ½Ãæ´æÔڿ϶¨ÏÞ¶È¡£Ëæ×ÅÒÆ¶¯»¥ÁªÍøµÄ·¢Õ¹£¬HTTP-basedµÄÁ÷ýÌåºÍ̸HLS£¨HTTPLiveStreaming£©ºÍDASH£¨DynamicAdaptiveStreamingoverHTTP£©Öð²½³ÉΪÖ÷Á÷¡£
HLS£ºÓÉAppleÍÆ³ö£¬½«ÊÓÆµÁ÷Ô׸î³ÉÓ×µÄTS£¨TransportStream£©Îļþ£¬²¢Í¨¹ýÒ»¸öM3U8Ë÷ÒýÎļþÀ´ÖÎÀí¡£Æä×î´óµÄÓÅÊÆÊǼæÈÝÐÔ¼«¼Ñ£¬ÏÕЩËùÓÐÖ÷Á÷É豸ºÍä¯ÀÀÆ÷¶¼Ö§³Ö¡£NginxÄܹ»ÇáËɵؽ«RTMPÁ÷ת»»ÎªHLSÌåʽ£¬ÊµÏÖÖ±²¥?ºÍµã²¥µÄHTTP»¯¡£
DASH£º×÷ΪһÖÖÊ¢¿ªµÄÁ÷ýÌå´«Êä³ß¶È£¬DASHÓëHLSÀàËÆ£¬Ò²Êǽ«ÊÓÆµÔ׸î³ÉÓ×Îļþ£¬µ«ËüÔ½·¢½Ã½Ý£¬Ö§³Ö¸ü¶àÖÖÀàµÄ±àÂëÌåʽºÍ´ò°ü·½Ê½¡£NginxͬÑù¿ÉÄÜͨ¹ýÏàÓ¦µÄÄ£¿é»ò¹²Í¬µÚÈý·½¹¤¾ß£¬¸ßЧµØ´¦ÖÃDASHÁ÷¡£
Nginx100%VideoµÄÀíÏ룬ÕýÊÇÒª³ä·ÖÀûÓÃNginxÔÚ´¦ÖÃHTTPºÍ̸ÉϵÄÓÅÊÆ£¬½«RTMPÍÆÁ÷µÄ½Ã½ÝÐÔÓëHLS/DASHµÄ¿í·º¼æÈÝÐÔÃÀÂú½áºÏ¡£ÕâÒâζ×Å£¬Í¨¹ýNginx£¬ÄúÄܹ»´î?½¨Ò»Ì׿ÉÄÜͬʱ֧³ÖRTMPÖ±²¥¡¢HLS/DASHÖ±²¥ºÍµã²¥µÄ׳´óÁ÷ýÌåÆ½Ì¨¡£
ÒªÕæÕýʵÏÖ¡°Nginx100%Video¡±£¬½ö½ö²¿ÊðÊÇÔ¶Ô¶²»¹»µÄ£¬¾«ÃÜ»¯µÄ»úÄܵ÷ÓÅÖÁ¹Ø³ÁÒª¡£
ÏνÓÊýÓ뻺³åÇøÓÅ»¯£ºNginxµÄworker_connections¡¢buffer_size¡¢client_body_buffer_sizeµÈ²ÎÊý£¬±ØÒªÆ¾¾ÝÏÖʵµÄ²¢·¢Óû§ÊýºÍÊÓÆµÂëÂʽøÐкÏÀíÅäÖá£Îļþ¾ä±úÏÞ¶È£ºÊÓÆµÁ÷ýÌåζ¿÷Ëð´óÁ¿µÄÎļþ¾ä±ú£¬±ØÒªµ÷ÕûϵͳµÄulimitÉèÖá£
TCP/IPÕ»µ÷ÓÅ£ºÀýÈçnet.core.somaxconn¡¢net.ipv4.tcp_tw_reuseµÈÄں˲ÎÊýµÄµ÷Õû£¬Äܹ»ÌáÉýTCPÏνӵÄ?ЧÄܺͲ»±äÐÔ¡£±àÒë×°ÖÃÓëÄ£¿éÑ¡Ôñ£ºÑ¡ÔñÏàÒ˵ÄNginx°æ±¾£¬²¢Æ¾¾ÝÐèÒª±àÒë°²?×°±ØÒªµÄÄ£¿é£¨Èçngxrtmpmodule£©£¬Ô¤·À²»ÓÃ?ÒªµÄÄ£¿éÕ¼ÓÃ×ÊÔ´¡£
CDN¼¯³É£º¶ÔÓÚ´ó¹æÄ£ÊÓÆµ·þÎñ£¬ÓëCDN£¨ÄÚÈÝ·Ö·¢ÍøÂ磩¼¯³ÉÊDZز»³ÉÉٵġ£NginxÄܹ»×÷Ϊ»ØÔ´·þÎñÆ÷£¬ÓëCDNÐͬ¹¤×÷£¬½«Á÷Á¿Ñ¹Á¦·ÖÉ¢µ½È«ÇòµÄ±ßÔµ½Úµã£¬½øÒ»²½ÌáÉýÓû§ÂÄÀú¡£
ÔÚ½ÓÏÂÀ´µÄpart2ÖУ¬ÎÒÃǽ«Éî¿Ì̽ÇóÈôºÎͨ¹ýNginx¹¹½¨ÆëÈ«µÄÊÓÆµÁ÷ýÌå½â¾ö¹æ»®£¬Ô̺¬Ö±²¥¡¢µã²¥?¡¢CDN¼¯³ÉÒÔ¼°Ò»Ð©½ø½×ÀûÓó¡¾°£¬ÈÃNginx100%VideoµÄÍþÁ¦µÃµ½ÁÜÀ쾡ÖµIJûÑï¡£
Nginx100%Video£º¹¹½¨È«ÄÜÐÍÊÓÆµÁ÷ýÌå½â¾ö¹æ»®µÄʵսָÄÏ
ÔÚǰһ²¿ÃÅ£¬ÎÒÃÇÉî¿ÌÏàʶÁËNginxµÄÖ÷ÌâÓÅÊÆÒÔ¼°ÆäÔÚÊÓÆµÁ÷ýÌåÁìÓò±íÑݵĹؼü½ÇÉ«£¬³ö¸ñÊÇRTMP¡¢HLSºÍDASHºÍ̸µÄÖ§³Ö¡£´Ë¿Ì£¬ÎÒÃǽ«¾Û½¹ÓÚÈôºÎÀûÓÃNginx¹¹½¨Ò»¸öÖ°ÄÜÈ«Ãæ¡¢»úÄÜ׿ԽµÄÊÓÆµÁ÷ýÌå·þÎñ£¬²¢?̽ÌÔìäÔÚ¸÷Àೡ¾°ÏµÄÀûÓã¬ÒÔ¼°ÈôºÎͨ¹ý½ø½×ÅäÖýøÒ»²½?ÍÚ¾òÆäDZÁ¦¡£
Ò»¸öÆëÈ«µÄÊÓÆµÁ÷ýÌå·þÎñ£¬Í¨³£Ô̺¬ÒÔϼ¸¸öÖ÷Ìâ»·½Ú£ºÄÚÈݲɼ¯£¨ÍÆÁ÷£©¡¢ÄÚÈÝ´¦Öã¨×ªÂë¡¢·â×°£©¡¢ÄÚÈÝ´æ´¢£¨Â¼Ôì¡¢µã²¥Îļþ£©¡¢ÄÚÈÝ·Ö·¢£¨Ö±²¥¡¢µã²¥·þÎñ£©ÒÔ¼°ÄÚÈݲ¥?·Å£¨¿Í»§¶Ë£©¡£NginxÔÚÕâ¸öÁ´ÌõÖУ¬Äܹ»¸ßЧµØ³Ðµ£ÆðÄÚÈÝ´¦Öᢷַ¢ºÍ²¿ÃÅ´æ´¢µÄ?½ÇÉ«¡£
ÍÆÁ÷¶Ë£ºÖ÷²¥Ê¹ÓÃOBS¡¢vMixµÈÍÆÁ÷Èí¼þ£¬Í¨¹ýRTMPºÍ̸½«ÒôÊÓÆµÁ÷ÍÆË͵½?Nginx·þÎñÆ÷£¨ÅäÖÃÁËngxrtmpmodule£©¡£Nginx×÷ΪԴվ£ºNginx½Ó¹ÜRTMPÍÆÁ÷£¬²¢Äܹ»Ö±½Óͨ¹ýRTMPºÍ̸½«Ö±²¥Á÷·Ö·¢¸øÖ§³Ö?RTMPµÄ²¥·ÅÆ÷£¨ÈçVLC£©¡£
תÂëÓëHLS/DASH·â×°£º¸ü³£¼ûµÄ×ö·¨ÊÇ£¬Nginx½«RTMPÁ÷ͨ¹ýexecÖ¸Áî»òFFmpegµÈ¹¤¾ß£¬ÊµÊ±×ªÂë³É¶àÖÖÂëÂʺͷֱæÂÊ£¬²¢·â×°³ÉHLS£¨.m3u8/.ts£©»òDASH£¨.mpd/.m4s£©Ìåʽ¡£ÕâЩÎļþ½«´æ´¢ÔÚNginx¿É½Ó¼ûµÄĿ¼Ï¡£
HTTP·Ö·¢£ºNginxÒÔHTTP·þÎñµÄ·½Ê½£¬½«HLS/DASHµÄË÷ÒýÎļþºÍýÌ寬¶ÎÌṩ¸øWeb¶Ë¡¢App¶Ë»òÆäËûÖ§³ÖHTTPÁ÷ýÌå²¥·ÅµÄ¿Í»§¶Ë¡£µÍÑÓ³¤Ö±²¥£º¶ÔÓÚ±ØÒª¸üµÍÑÓ³¤µÄ³¡¾°£¬Äܹ»Í¨¹ýWebRTC£¨¹ÌÈ»NginxÔÉúÖ§³ÖÓÐÏÞ£¬µ«¿Éͨ¹ýµÚÈý·½Ä£¿é»ò½áºÏÆäËû·þÇóʵÏÖ£©»òµÍÑÓ³¤HLS/DASH£¨LL-HLS/LL-DASH£©¼¼Êõ£¬½øÒ»²½Ëõ¶ÌÑÓ³¤¡£
NginxÔڴ˹ý³ÌÖУ¬³Ðµ£×ÅÁ÷ýÌå·þÎñÆ÷»ò·´Ïò´úÀíµÄ½ÇÉ«¡£
ÊÓÆµ´æ´¢£º½«Ô¤ÏȱàÂëºÃµÄÊÓÆµÎļþ£¨MP4¡¢FLVµÈ£©ÉÏ´«µ½Nginx·þÎñÆ÷µÄÎļþϵͳ»ò¶ÔÏó´æ´¢ÖС£HTTPÌṩ·þÎñ£ºNginxÖ±½ÓÅäÖÃΪ¾²Ì¬Îļþ·þÎñÆ÷£¬Í¨¹ýHTTP£¨GETÒªÇó£©Ïò¿Í»§¶ËÌṩÊÓÆµÎļþ¡£Á÷ʽ´«ÊäÓÅ»¯£º¶ÔÓÚ´óÎļþÊÓÆµ£¬NginxÄܹ»ÀûÓÃÆäsendfile»úÔ죬¸ßЧµØ½«ÎļþÄÚÈÝÖ±½Ó·¢Ë͵½ÍøÂç½Ó¿Ú£¬ÎÞÐè¾¹ýÓû§¿Õ¼ä£¬ÏÔÖøÌáÉý´«ÊäЧÄÜ¡£
RangeÒªÇóÖ§³Ö£ºNginxĬÈÏÖ§³ÖHTTPµÄRangeÒªÇó£¬ÕâÒâζ×ÅÓû§Äܹ»ÊµÏÖÊÓÆµµÄ¿ì½ø¡¢¿ìÍËÒÔ¼°¶ÏµãÐø²¥£¬¶øÎÞÐèÿ´Î¶¼ÖØÐÂÆðÍ·ÏÂÔØ¡£
CDN¼¯³É£ºNginxÓëCDNÐͬ£¬´òÔìÈ«Çò»¯ÊÓÆµ·Ö·¢ÍøÂç
¶ÔÓÚÃæÏòÈ«ÇòÓû§»òÕ¼ÓдóÁ¿²¢·¢Óû§µÄÊÓÆµ·þÎñ£¬CDN£¨ContentDeliveryNetwork£©ÊDZز»³ÉÉÙµÄ×é³É²¿ÃÅ¡£NginxÔÚCDN¼Ü¹¹ÖбíÑÝ×ÅÖÁ¹Ø³ÁÒªµÄ?¡°»ØÔ´¡±½ÇÉ«¡£
Nginx×÷Ϊ»ØÔ´·þÎñÆ÷£ºµ±Óû§Í¨¹ýCDN½Ó¼ûÊÓÆµÄÚÈÝʱ£¬CDN±ßÔµ½Úµã»áÊ×Ïȳ¢ÊÔ´Ó±¾µØ»º´æÌṩ·þÎñ¡£ÈôÊÇ»º´æÎ´ÉäÖУ¬CDN½Úµã¾Í»áÏòÔ´Õ¾£¨¼´²¿ÊðNginxµÄ·þÎñÆ÷£©ÌáÒéÒªÇ󡣸ßЧµÄ»ØÔ´£ºNginxƾ½èÆä¸ß²¢·¢´¦ÖÃÄÜÁ¦£¬¿ÉÄܼ±¾çÏìÓ¦CDN½ÚµãµÄÒªÇ󣬲¢½«ÊÓÆµÄÚÈÝ´«Ê䏸CDN½Úµã£¬CDN½ÚµãÔÙ½«Æä»º´æ²¢·Ö·¢¸ø×îÖÕÓû§¡£
¸ºÔØÆ½ºâÓ뽡ȫ²é³£ºµ±Ô´Õ¾²¿ÊðÁ˶ą̀Nginx·þÎñÆ÷ʱ£¬Nginx×ÔÉíÄܹ»×÷Ϊ¸ºÔØÆ½ºâÆ÷£¬½«CDNµÄ»ØÔ´ÒªÇó·ÖÅäµ½·ÖÆçµÄ?ºó¶Ë·þÎñÆ÷¡£NginxµÄ½¡È«²é³»úÔìÄܹ»È·±£?CDNÖ»´Ó½¡È«µÄ?Ô´Õ¾»ñÈ¡ÄÚÈÝ£¬ÌáÉýÕûÌå·þÎñµÄ¿ÉÓÃÐÔ¡£¼Ó¿ìÖ°ÄÜ£ºNginx»¹Äܹ»Í¨¹ý»º´æ²ß?ÂÔ¡¢Ñ¹Ëõ¡¢SSL/TLSÓÅ»¯µÈ¼¿Á©£¬½øÒ»²½¼Ó¿ì»ØÔ´¹ý³Ì£¬È·±£CDN½ÚµãÄܸü¿ìµØ»ñÈ¡ÄÚÈÝ¡£
¡°Nginx100%Video¡±²»?½ö½öÊÇ»ù´¡Ö°ÄÜµÄ¶ÑÆö£¬¸üÊǶԻúÄܼ«Ï޵IJ»ÐÝ×êÓª¡£
WebRTCÓëʵʱ»¥¶¯£ºÖ»¹ÜNginxÔÉúWebRTCÖ§³ÖÓÐÏÞ£¬µ«Í¨¹ýµÚÈý·½Ä£¿é£¨Èçnginx-rtmp-module¹²Í¬WebRTCʵÏÖ£¬»òÖ±½Ó¼¯³Émediasoup¡¢JanusµÈWebRTC·þÎñÆ÷£©»ò½«Nginx×÷Ϊ·´Ïò´úÀí£¬¿ÉÒÔΪʵʱÒôÊÓÆµÍ¨»°¡¢»¥¶¯Ö±²¥µÅצÓÃÌṩ׳´óµÄÖ§³Ö¡£
ÍòÎﻥÁª£¨IoT£©ÊÓÆµÁ÷£ºÔÚIoTÁìÓò£¬ÉãÏñÍ·²É¼¯µÄÊÓÆµÁ÷¿ÉÄܱØÒªÍ¨¹ýRTMP¡¢RTSPµÈºÍ̸´«Êä¡£NginxÄܹ»×÷ΪRTMP·þÎñÆ÷½Ó¹ÜÕâЩÁ÷£¬²¢½«Æäת·¢¸øÆäËû´¦ÖÃÆ½Ì¨£¬»òת»»ÎªHTTP-basedÁ÷ÓÃÓÚWeb¶Ë²é¿´¡£°²È«Óë¼øÈ¨£ºNginxÄܹ»¼¯³É?׳´óµÄ¼øÈ¨»úÔ죬Èç»ùÓÚTokenµÄURLÊðÃû£¬È·±£Ö»ÓÐÊÚȨÓû§ÄÜÁ¦½Ó¼ûÊÓÆµÄÚÈÝ¡£
Äܹ»Í¨¹ýHTTPBasicAuth¡¢DigestAuth£¬»ò¸ü¸´ÔÓµÄLua¾ç±¾¡¢OAuthµÈ·½Ê½ÊµÏÖ¡£¼à¿ØÓëÈÕÖ¾£ºNginxµÄ?½Ó¼ûÈÕÖ¾ºÍÃýÎóÈÕÖ¾ÊÇÅŲéÎÊÌâ¡¢·ÖÎöÁ÷Á¿µÄ³ÁҪƾ¾Ý¡£½áºÏPrometheus¡¢GrafanaµÈ¼à¿Ø¹¤¾ß£¬Äܹ»ÊµÊ¹ØÆÎÕNginx·þÎñÆ÷µÄ¸÷Ïî»úÄÜÖ¸±ê£¨ÏνÓÊý¡¢´ø¿í¡¢CPU¡¢ÄÚ´æµÈ£©£¬ÊµÊ±·¢ÏÖ²¢?½â¾öDZÔÚÎÊÌâ¡£
APIÍø¹ØÓë΢·þÎñ£ºÔÚ¸´ÔÓµÄÊÓÆµÆ½Ì¨¼Ü¹¹ÖУ¬Nginx³£±»?ÓÃ×÷APIÍø¹Ø£¬´¦ÖÃÀ´×Ôǰ¶ËµÄ¸÷ÀàÒªÇ󣬲¢½«ÒªÇó·Óɵ½ºó¶ËµÄ¸÷¸ö΢·þÎñ¡£
×ܽ᣺Nginx100%Video£¬¸³Äܽ«À´ÊÓÆµÂÄÀú
Nginx100%Video£¬´ú±í×ÅÒ»ÖÖ¶ÔÊÓÆµÁ÷ýÌå¼¼Êõ¼«ÖÂ×êÓªµÄ̬¶È¡£Ëü²»½ö½öÊÇÒ»ÖÖ¼¼ÊõÕ»£¬¸üÊÇÒ»ÖÖÀíÏ룺ÀûÓÃNginx׳´óµÄ»úÄܺͽýݵÄÀ©´óÐÔ£¬¹¹½¨¸ß¿¿µÃס¡¢¸ß»úÄÜ¡¢µÍ³É±¾µÄÊÓÆµÁ÷ýÌå·þÎñ¡£
´Órtmpµ½hls/dash£¬´ÓÖ±²¥µ½µã²¥£¬´Óµ¥»ú²¿Êðµ½CDNÐͬ£¬NginxÒÔÆäÎÞ¿ÉÆ¥µÐµÄͨÓÃÐԺͲ»±äÐÔ£¬³ÉΪÁ˹¹½¨ÏÖ´úÊÓÆµ»ù´¡ÉèÊ©µÄÃÎÏëÑ¡Ôñ¡£ÎÞÂÛÊDzݴ´µÄÊÓÆµÄÚÈÝÌṩÉÌ£¬»¹ÊdzÉÊìµÄ»¥ÁªÍø¾ÞÍ·£¬¶¼ÄÜÔÚNginxµÄÊÀ½çÀïÕÒµ½ÊʺÏ×Ô¼ºµÄ½â¾ö¹æ»®£¬¿ªÊÍÊÓÆµÄÚÈݵÄÎÞÏÞ¼ÛÖµ£¬ÎªÓû§´øÀ´Ç°ËùδÓеÄÁ÷³©?¡¢³Á½þʽµÄÊÓÆµÂÄÀú¡£
Óµ±§Nginx100%Video£¬¾ÍÊÇÓµ±§ÊÓÆµÁ÷ýÌåµÄÎÀDZ·´À´¡£