ÎÞÂÛÊÇÆóÒµ¼¶µÄÊÓÆµ»áÒé¡¢¸ßÇåÓ°ÊÓ·Ö·¢£¬»¹ÊǸöÈËÓû§µÄ´´Òâ·ÖÏí£¬¸ßЧ¡¢Îȶ¨ÇÒ°²È«µÄÊÓÆµ´«Êä¼¼Êõ¶¼ÏÔµÃÓÈÎªÖØÒª
Linux£¬×÷Ϊһ¸ö¿ªÔ´¡¢Áé»îÇÒ¹¦ÄÜÇ¿´óµÄ²Ù×÷ϵͳ£¬ÎªÊÓÆµ´«ÊäÌṩÁ˷ḻµÄ¹¤¾ßºÍ½â¾ö·½°¸
±¾ÎĽ«ÉîÈë̽ÌÖÔÚLinux»·¾³ÏÂÈçºÎʵÏÖ¸ßЧÊÓÆµ´«Ê䣬´ÓÀíÂÛ»ù´¡µ½ÊµÕ½²Ù×÷£¬È«·½Î»½âÎöÕâÒ»¼¼Êõ¹ý³Ì
Ò»¡¢LinuxÊÓÆµ´«ÊäµÄ»ù´¡¼Ü¹¹ LinuxϵͳϵÄÊÓÆµ´«Êäͨ³£Éæ¼°ÒÔϼ¸¸öºËÐÄ×é¼þ£º 1.Îļþϵͳ£ºLinuxÖ§³Ö¶àÖÖÎļþϵͳ£¬ÈçEXT4¡¢BtrfsµÈ£¬ÕâЩÎļþϵͳ²»½ö¸ßЧ£¬»¹Ö§³Ö¸ß¼¶ÌØÐÔÈç¿ìÕÕ¡¢Ñ¹ËõµÈ£¬ÎªÊÓÆµÎļþµÄ´æ´¢ÌṩÁ˼áʵ»ù´¡
2.ÍøÂçÐÒ飺TCP/IPÊÇLinuxÍøÂç´«ÊäµÄ»ù´¡£¬¶øÔÚÊÓÆµ´«ÊäÖУ¬UDPÒòÆäµÍÑÓ³ÙÌØÐÔ³£±»ÓÃÓÚʵʱÁ÷ýÌå´«Êä
´ËÍ⣬HTTP¡¢FTP¡¢SFTPµÈÐÒéÒ²¹ã·ºÓ¦ÓÃÓÚÊÓÆµÎļþµÄÏÂÔØºÍÉÏ´«
3.¶àýÌå¿ò¼Ü£ºGStreamer¡¢FFmpegµÈÊÇLinuxÏÂÖøÃûµÄ¶àýÌå´¦Àí¿ò¼Ü£¬ËüÃÇÖ§³ÖÊÓÆµ±àÂë¡¢½âÂë¡¢·â×°¼°´«Ê䣬ÊÇʵÏÖ¸ßЧÊÓÆµ´«ÊäµÄ¹Ø¼ü¹¤¾ß
4.Á÷ýÌå·þÎñÆ÷£ºNginxÅäºÏRTMPÄ£¿é¡¢Red5¡¢WowzaµÈÁ÷ýÌå·þÎñÆ÷£¬Äܹ»ÔÚLinuxÉϴ¸ßЧµÄÊÓÆµÖ±²¥ºÍµã²¥Æ½Ì¨
5.¼ÓÃÜÓ밲ȫ£ºSSH¡¢SSL/TLSµÈ¼ÓÃܼ¼ÊõÈ·±£ÊÓÆµÊý¾ÝÔÚ´«Êä¹ý³ÌÖеݲȫÐÔ£¬·ÀÖ¹Êý¾Ýй¶ºÍ·Ç·¨·ÃÎÊ
¶þ¡¢LinuxÊÓÆµ´«ÊäµÄ¹Ø¼ü¼¼Êõ 1. ÊÓÆµÑ¹ËõÓë±àÂë ÊÓÆµÎļþͨ³£Ìå»ýÅÓ´ó£¬Ö±½Ó´«Êä²»½öºÄʱ³¤£¬¶øÇÒÕ¼ÓôóÁ¿ÍøÂç×ÊÔ´
Òò´Ë£¬¸ßЧµÄÊÓÆµÑ¹Ëõ¼¼ÊõÖÁ¹ØÖØÒª
H.264¡¢H.265£¨HEVC£©ÊÇĿǰ×î³£ÓõÄÊÓÆµ±àÂë±ê×¼£¬ËüÃÇÄÜÔÚ±£Ö¤ÊÓÆµÖÊÁ¿µÄͬʱÏÔÖø¼õÉÙÎļþ´óС
FFmpegÊÇLinuxÏ´¦ÀíÊÓÆµ±àÂë¡¢½âÂëµÄÇ¿´ó¹¤¾ß£¬Í¨¹ýÃüÁîÐм´¿ÉÇáËÉʵÏÖÊÓÆµ¸ñʽµÄת»»ºÍѹËõ
ʹÓÃFFmpeg½«ÊÓÆµ×ª»»ÎªH.264±àÂë ffmpeg -i input.mp4 -c:v libx264 -crf 23 output.mp4 ÆäÖУ¬`-c:v libx264`Ö¸¶¨Ê¹ÓÃH.264±àÂëÆ÷£¬`-crf 23`ÊÇÖÊÁ¿¿ØÖƲÎÊý£¬ÊýÖµÔ½µÍÖÊÁ¿Ô½ºÃ£¬ÎļþÔ½´ó
2. Á÷ýÌåÐÒéÑ¡Ôñ - RTMP£¨Real Time Messaging Protocol£©£º×¨ÎªÁ÷ýÌåÉè¼Æ£¬Ö§³ÖµÍÑÓ³ÙÖ±²¥£¬¹ã·ºÓ¦ÓÃÓÚÊÓÆµÖ±²¥³¡¾°
- HLS£¨HTTP Live Streaming£©£ºÓÉAppleÌá³ö£¬»ùÓÚHTTPÐÒ飬֧³Ö¶ÏµãÐø´«ºÍ×ÔÊÊÓ¦ÂëÂÊÁ÷£¬ÊʺÏÒÆ¶¯É豸ºÍÍøÒ³²¥·Å
- DASH£¨Dynamic Adaptive Streaming over HTTP£©£ºÓëHLSÀàËÆ£¬µ«¸üΪ¿ª·ÅºÍ±ê×¼»¯£¬Ö§³Ö¸ü¶àÉ豸ºÍƽ̨
ÔÚLinuxÉÏ£¬Nginxͨ¹ý°²×°RTMPÄ£¿é¿ÉÒÔ·½±ãµØ´î½¨RTMP/HLS/DASHÁ÷ýÌå·þÎñÆ÷
3. ÍøÂçÓÅ»¯ - QoS£¨Quality of Service£©£ºÈ·±£ÊÓÆµ´«Êä¹ý³ÌÖеĴø¿íºÍÑÓ³ÙÒªÇóµÃµ½Âú×㣬¿ÉÒÔͨ¹ýÅäÖ÷ÓÉÆ÷ºÍ½»»»»úÀ´ÊµÏÖ
- TCP/UDPÑ¡Ôñ£º¶ÔÓÚʵʱÐÔÒªÇó¸ßµÄÊÓÆµÖ±²¥£¬UDPÒòÆäÎÞÁ¬½Ó¡¢µÍÑÓ³ÙÌØÐÔ¸üΪºÏÊÊ£»¶ø¶ÔÓÚ¿É¿¿ÐÔÒªÇó¸ßµÄÎļþ´«Ê䣬TCPÔòÊǸüºÃµÄÑ¡Ôñ
- ¶àÏß³Ì/²¢·¢´¦Àí£ºÀûÓÃLinuxµÄ¶àºËÓÅÊÆ£¬Í¨¹ý¶àÏ̻߳ò²¢·¢´¦ÀíÌá¸ßÊÓÆµ´«ÊäµÄЧÂÊ
4. °²È«ÐÔ¿¼ÂÇ - Êý¾Ý¼ÓÃÜ£ºÊ¹ÓÃSSL/TLSÐÒé¶ÔÊÓÆµÊý¾Ý½øÐмÓÃÜ´«Ê䣬ȷ±£Êý¾ÝÔÚ´«Êä¹ý³ÌÖеݲȫÐÔ
- ·ÃÎÊ¿ØÖÆ£ºÍ¨¹ýÓû§ÃûÃÜÂë¡¢ÁîÅÆÑéÖ¤µÈ·½Ê½£¬ÏÞÖÆ·Ç·¨Óû§·ÃÎÊÊÓÆµ×ÊÔ´
- ·À»ðǽÅäÖ㺺ÏÀíÅäÖÃLinux·À»ðǽ¹æÔò£¬·Àֹδ¾ÊÚȨµÄ·ÃÎʺ͹¥»÷
Èý¡¢LinuxÊÓÆµ´«Êäʵս°¸Àý °¸ÀýÒ»£º´î½¨RTMPÁ÷ýÌå·þÎñÆ÷ 1.°²×°Nginx¼°RTMPÄ£¿é£º sudo apt-get update sudo apt-get install nginx sudo apt-get install libnginx-mod-rtmp 2.ÅäÖÃNginx£º±à¼`/etc/nginx/nginx.conf`£¬Ìí¼ÓRTMPÏà¹ØÅäÖÃ
rtmp { server{ listen 1935; chunk_size 4096; applicationlive { live on; record off; } } } http { server{ listen 8080; location /hls{ types{ application/vnd.apple.mpegurl m3u8;