Создайте свой собственный сервер потокового видео в реальном времени с Linux


Большинство инструментов и сайтов для прямых трансляций бесплатны для всех, но они часто требуют создания учетной записи, предоставляющей информацию, которую вы, возможно, не хотите публиковать в Интернете. Они могутскрывать некоторый контент за рекламой и включать запутанные Условия обслуживания, которых они могут даже не соблюдать.

Есть те, кому нравится возможность вести прямые трансляции, но им не нужно, чтобы их видео были доступны массам. Вместо этого они предпочли бы иметь больше контроля над своим потоком и контентом, который они производят. Программное обеспечение с открытым исходным кодом, такое как Linux, — лучший ответ на это препятствие.

Думать на будущее

Прежде чем приступить к настройке личного потокового сервера, вам следует задать себе несколько вопросов. Во-первых, какое качество потока вы ищете? Далее, сколько зрителей вы ожидаете привлечь? Где вы будете хранить весь свой потоковый контент? Кто будет иметь доступ к этому контенту?

Системные требования также могут вызывать беспокойство. Однако не существует четких правил относительно того, что именно вам нужно в этом отношении, поэтому сделайте себе одолжение и поэкспериментируйте, чтобы увидеть, что лучше всего подходит для ваших целей.

Вам необходимо выяснить, какой протокол будет обрабатывать аудио- и видеочасть потоковой передачи. Протокол обмена сообщениями в реальном времени (RTMP) — отличный выбор, но есть и другие, такие как WebRTC, которые могут оказаться лучше в вашей ситуации. RTMP имеет широкую поддержку, поэтому в этой статье мы сосредоточимся на этом.

Еще одна вещь, о которой следует беспокоиться, — это возможные задержки в вашей «прямой» трансляции. Тот факт, что вы выходите в эфир, не означает, что все будет идеально. Видеопотоки необходимо кодировать, передавать, буферизировать и отображать, поэтому ожидайте, что потребуется небольшая настройка атрибутов потока.

Настройка сервера Linux

Ubuntu Linux — мой личный фаворит, поэтому здесь я выберу именно эту версию. Для тех, кто предпочитает вариант с графическим интерфейсом, доступен Рабочий стол Ubuntu.

  • Запустите установщик Ubuntu и выберите настройки, которые лучше всего соответствуют вашим потребностям. Вероятно, вам захочется установить некоторые статические настройки сети, поскольку она будет использоваться в качестве сервера.
  • Перезагрузите систему после установки, если это не произойдет автоматически. После загрузки системы 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

    Настройка программного обеспечения для потоковой передачи

    Сервер готов, теперь пришло время настроить программное обеспечение для потоковой передачи. Давайте использовать Открытое программное обеспечение для вещательных компаний (OBS) в этом прохождении.

    • Зайдите на сайт и выберите сборку для Linux. После запуска программного обеспечения настройте OBS с настройками, которые лучше всего соответствуют вашему оборудованию.
    • Добавьте источник потоковой передачи, нажав + под Источник .
      • Для тестирования выберите Захват экрана и введите имя источника.
      • Нажмите кнопку ОК , и OBS отобразит ваш рабочий стол.
      • Затем нажмите вкладку Файл и выберите Настройки .
      • В разделе «Поток» выберите установить тип потока на «Пользовательский…» и введите следующий URL-адрес в поле «Сервер»:

        rtmp://IPaddress/live 

        Вместо IP-адрес введите IP-адрес вашего сервера потоковой передачи.

        Теперь создайте свой собственный ключ потока и введите его в поле «Ключ потока». Сделайте это чем-то, что вы запомните, и запишите. Для дополнительной безопасности установите флажок Использовать аутентификацию и добавьте предпочитаемые учетные данные.

        Завершите, нажав Применить и кнопку ОК .

        Теперь все должно быть настроено для потоковой передачи. Чтобы начать первую трансляцию, нажмите кнопку Начать трансляцию . Если все было сделано правильно, кнопка изменится на Остановить трансляцию . Показатели пропускной способности вашего потока появятся в нижней части окна OBS.

        Будьте вашим первым зрителем

        Существует множество медиаплееров с открытым исходным кодом, поддерживающих RTMP, наиболее известный из которых — медиаплеер VLC. Установите и запустите это программное обеспечение, перейдите на вкладку Медиа и выберите в меню Открыть сетевой поток ..

        У вас под рукой ключ трансляции? Введите путь к вашему потоку и добавьте в конец ключ потока, который вы установили ранее. Должно выглядеть так:

        rtmp://IPaddress/live/SecretKey

        Нажмите Воспроизвести , и вы сможете просмотреть свою трансляцию в реальном времени.

        Дополнительные меры

        Теперь, когда основы достигнуты, вас могут заинтересовать еще два фактора: ограничение доступа к вашему потоковому серверу и возможность записывать и сохранять видео.

        По умолчанию ваш поток может просматривать кто угодно. Это может противоречить изначальной цели создания сервера. Вам потребуется настроить ограниченный доступ с помощью брандмауэра Linux, файл .htaccess или встроенный контроль доступа в модуле RTMP. Этот выбор остается за вами.

        Приведенная здесь конфигурация Nginx позволит вам только транслировать видео, но не сохранять их. Чтобы добавить опцию хранения, в конфигурации Nginx, чуть ниже раздела RTMP, вы можете настроить параметры записи потока и указать место, где вы хотите сохранить и сохранить свой контент.

        Установите существующий путь, чтобы Nginx мог писать по нему. Введите следующее:

        приложение работает {
                      работает;
                     запишите все;
                     record_path /var/www /html/recordings;
                     record_unique включена;

        Это все, что вам нужно при настройке сервера потокового вещания с использованием ОС Ubuntu Linux. Если вас больше интересует сервер потокового мультимедиа, не работающий в реальном времени, я бы предложил использовать Плекс вместо OBS.

        .

        Похожие сообщения:


        31.08.2019