สร้างเซิร์ฟเวอร์การสตรีมวิดีโอสดด้วย Linux ของคุณเอง


เครื่องมือและเว็บไซต์สตรีมมิงแบบสดส่วนใหญ่นั้นให้บริการฟรีแก่สาธารณะ แต่มักจะต้องการให้คุณสร้างบัญชีโดยให้ข้อมูลที่คุณอาจไม่ต้องการให้ปรากฏทางออนไลน์ พวกเขา สามารถเก็บเนื้อหาบางส่วนไว้ด้านหลังโฆษณาและรวมข้อกำหนดในการให้บริการที่สับสนซึ่งพวกเขาอาจไม่ยึดติดกับตัวเอง

มีคนที่ชอบความสามารถในการสตรีมสด แต่ไม่จำเป็นต้องมีวิดีโอให้คนทั่วไปเห็น พวกเขาต้องการควบคุมสตรีมและเนื้อหาที่พวกเขาสร้างขึ้นแทน ซอฟต์แวร์โอเพนซอร์ซเช่น Linux เป็นคำตอบที่ดีที่สุดสำหรับอุปสรรคนี้

คิดล่วงหน้า

ก่อนที่คุณจะเริ่มตั้งค่าเซิร์ฟเวอร์สตรีมส่วนตัวของคุณเองคุณควรถามคำถามสองสามข้อ อันดับแรกคุณกำลังมองหาคุณภาพสตรีมใด ถัดไปคุณคาดว่าจะมีผู้ดูกี่คน คุณจะเก็บเนื้อหาที่สตรีมทั้งหมดของคุณไว้ที่ไหน ใครจะมีสิทธิ์เข้าถึงเนื้อหานั้น

ข้อกำหนดของระบบสามารถถูกมองว่าเป็นสิ่งที่น่ากังวล อย่างไรก็ตามไม่มีกฎที่กำหนดไว้ในสิ่งที่คุณต้องการในเรื่องนี้ดังนั้นโปรดทำตัวชอบและทดลองเพื่อดูว่าอะไรดีที่สุดสำหรับเป้าหมายของคุณ

คุณจะต้องคิดว่าโปรโตคอลใด จะจัดการส่วนเสียงและวิดีโอของการสตรีม โปรโตคอลการส่งข้อความแบบเรียลไทม์ (RTMP) เป็นตัวเลือกที่ยอดเยี่ยม แต่ก็มีอีกหลายอย่างเช่น WebRTC ที่อาจดีกว่าในสถานการณ์ของคุณ RTMP ได้รับการสนับสนุนอย่างกว้างขวางดังนั้นเราจะมุ่งเน้นไปที่บทความนี้

สิ่งที่ต้องกังวลอีกประการหนึ่งคือความล่าช้าในการสตรีมแบบ "สด" เพียงเพราะคุณมีชีวิตอยู่ไม่ได้หมายความว่าทุกอย่างจะเข้ากันได้อย่างสมบูรณ์แบบ วิดีโอสตรีมจำเป็นต้องเข้ารหัสถ่ายโอนบัฟเฟอร์และแสดงดังนั้นคาดว่าจำเป็นต้องปรับแต่งเล็กน้อยในแอตทริบิวต์ของสตรีม

In_content_1 all: [300x250] / dfp: [640x360 ]->
<รูป class = "lazy aligncenter">

เซิร์ฟเวอร์ Linux การตั้งค่า

Ubuntu Linux เป็นรายการโปรดส่วนตัวของฉันดังนั้นจะเป็นรุ่นที่เลือกได้ที่นี่ สำหรับผู้ที่ต้องการตัวเลือก GUI สามารถใช้ Ubuntu Desktop ได้

  • ติดตั้ง Ubuntu และเลือกการตั้งค่าที่เหมาะสมกับความต้องการของคุณมากที่สุด คุณอาจต้องการตั้งค่าเครือข่ายแบบคงที่เนื่องจากจะใช้เป็นเซิร์ฟเวอร์
  • รีบูทระบบหลังการติดตั้งหากไม่ได้ทำโดยอัตโนมัติ เมื่อระบบอูบุนตูบูทขึ้นแล้วให้ติดตั้งการอัปเดตที่มีให้:
  • sudo apt update
    sudo apt upgrade

    เราจะใช้ Nginx เว็บเซิร์ฟเวอร์สำหรับเซิร์ฟเวอร์สตรีมมิ่งนี้ ติดตั้ง:

    sudo apt install nginx

    จัดหาโมดูล RTMP เพื่อให้ Nginx สามารถจัดการสตรีมสื่อของคุณ:

    sudo add-apt-repository universe
    sudo apt install libnginx-mod-rtmp

    ปรับการกำหนดค่าของ Nginx เพื่อให้สามารถรับและส่งกระแสข้อมูลสื่อของคุณ

    sudo nano /etc/nginx/nginx.conf

    เพิ่มรหัสต่อไปนี้ที่ด้านล่างของไฟล์กำหนดค่า:

    rtmp {
            server {
                    listen 1935;
                    chunk_size 4096;

                    application live {
                            live on;
                            record off;
                    }
            }
    }

    บันทึกไฟล์กำหนดค่าตามที่เราจะใช้ในภายหลัง เพื่อสร้างเซิร์ฟเวอร์การสตรีมที่ใช้งานได้

    รีสตาร์ท Nginx ด้วยการกำหนดค่าใหม่:

    sudo systemctl restart nginx

    การตั้งค่าซอฟต์แวร์สตรีมมิ่ง

    เซิร์ฟเวอร์พร้อมแล้วดังนั้นถึงเวลาแล้ว เพื่อตั้งค่าซอฟต์แวร์สตรีมของคุณ มาใช้ เปิดโปรแกรม Broadcaster (OBS) ในการวิ่งผ่านนี้

    • มุ่งหน้าไปยังไซต์และเลือกบิลด์สำหรับ Linux หลังจากซอฟต์แวร์เปิดใช้งานให้กำหนดค่า OBS ด้วยการตั้งค่าที่ตรงกับฮาร์ดแวร์ของคุณมากที่สุด
    • เพิ่มแหล่งข้อมูลสตรีมด้วยการคลิก + ภายใต้ แหล่งที่มา /
    • สำหรับการทดสอบสาเกเลือก Display Captureและป้อนชื่อสำหรับแหล่งที่มา
    • คลิกปุ่ม ตกลงจากนั้น OBS จะแสดงเดสก์ท็อปของคุณ
    • จากนั้นคลิกแท็บ ไฟล์และเลือก การตั้งค่า
    • ในส่วนสตรีมเลือก ตั้งประเภทสตรีมเป็นกำหนดเอง ...และป้อน URL ต่อไปนี้ลงในฟิลด์เซิร์ฟเวอร์:

      rtmp://IPaddress/live 

      แทนที่ IPaddressให้ป้อนที่อยู่ IP ของเซิร์ฟเวอร์การสตรีมของคุณ

      ตอนนี้สร้างคีย์สตรีมของคุณเองแล้วป้อนลงในกล่องคีย์สตรีม ทำสิ่งที่คุณจำได้และจดไว้ เพื่อความปลอดภัยที่เพิ่มขึ้นให้ทำเครื่องหมายในช่อง ใช้การรับรองความถูกต้องแล้วเพิ่มข้อมูลประจำตัวที่คุณต้องการ

      <รูป class = "lazy aligncenter">

      เสร็จสิ้นด้วย นำไปใช้ตามด้วยปุ่ม ตกลง

      ทุกอย่างควรจะเรียบร้อยแล้ว ถูกกำหนดค่าสำหรับการสตรีม หากต้องการเริ่มต้นสตรีมแรกให้กดปุ่ม สตรีมทันทีปุ่มจะเปลี่ยนเป็น หยุดสตรีมมิ่งตราบใดที่ทุกอย่างถูกต้อง การวัดแบนด์วิดท์ของสตรีมของคุณจะปรากฏที่ด้านล่างของหน้าต่าง OBS

      เป็นผู้ดูอันดับแรกของคุณ

      มีผู้เล่นสื่อโอเพ่นซอร์สมากมายที่สนับสนุน RTMP ซึ่งเป็นที่รู้จักมากที่สุดคือ เครื่องเล่นสื่อ VLC ติดตั้งและเปิดใช้ซอฟต์แวร์นี้คลิกแท็บ สื่อและเลือก เปิดสตรีมเครือข่ายจากเมนู

      คีย์สตรีมของคุณมีประโยชน์ไหม? พิมพ์เส้นทางไปยังสตรีมของคุณและใส่รหัสสตรีมที่คุณตั้งค่าไว้ก่อนหน้านี้ไปยังจุดสิ้นสุด ควรมีลักษณะดังนี้:

      rtmp://IPaddress/live/SecretKey

      คลิก เล่นและคุณจะได้รับมุมมองสดของสตรีมของคุณเอง

      <แข็งแกร่ง>มาตรการเพิ่มเติม

      <รูป class = "lazy aligncenter">

      เมื่อพื้นฐานสำเร็จแล้วการ จำกัด การเข้าถึงเซิร์ฟเวอร์สตรีมของคุณและความสามารถในการบันทึกและบันทึกวิดีโอของคุณเป็นอีกสองปัจจัยที่คุณอาจสนใจ

      ตามค่าเริ่มต้นทุกคนสามารถดูของคุณได้ กระแส. สิ่งนี้อาจขัดกับวัตถุประสงค์ของการสร้างเซิร์ฟเวอร์ตั้งแต่แรก คุณต้องการตั้งค่าการเข้าถึงแบบ จำกัด โดยใช้ไฟร์วอลล์ Linux ไฟล์. htaccess หรือ การควบคุมการเข้าถึงในตัวในโมดูล RTMP ตัวเลือกนี้จะขึ้นอยู่กับคุณ

      การกำหนดค่า Nginx ที่ให้ไว้ที่นี่จะช่วยให้คุณสามารถสตรีมวิดีโอ แต่ไม่สามารถบันทึกได้ ในการเพิ่มตัวเลือกพื้นที่เก็บข้อมูลใน Nginx config ด้านล่างส่วน RTMP คุณสามารถตั้งค่าตัวเลือกการบันทึกสตรีมและระบุตำแหน่งที่คุณต้องการบันทึกและจัดเก็บเนื้อหาของคุณ

      กำหนดเส้นทางที่มีอยู่เพื่ออนุญาตให้ Nginx เขียน ป้อนข้อมูลต่อไปนี้:

      แอปพลิเคชันสด {
      เปิดการใช้งานอยู่
      บันทึกทั้งหมด
      record_path / var / www / html / recordings
      record_unique on;
      }

      นั่นคือทั้งหมด คุณควรจำเป็นเมื่อตั้งค่าเซิร์ฟเวอร์การสตรีมสดโดยใช้ Ubuntu Linux OS หากคุณสนใจเซิร์ฟเวอร์การสตรีมสื่อสดที่ไม่ใช่สดฉันขอแนะนำให้ใช้ เพล็กซ์ แทน OBS

      OBS STUDIO ตอนที่ 18 : แก้ NGINX ให้ Live ไป Facebook แบบ RTMPS ด้วย STUNNEL

      กระทู้ที่เกี่ยวข้อง:


      31.08.2019