3. Создайте сервер потокового видео rtmp.
3. Создайте сервер потокового видео rtmp.

Установка Linux nginx

Обычно нам нужно сначала установить pcre и zlib: первый для перезаписи, а второй для сжатия gzip.

1.Выберите каталог исходного кода.

Язык кода:javascript
копировать
cd /usr/local/src

2. Установите библиотеку PCRE.

скачать

Язык кода:javascript
копировать
wget https://netix.dl.sourceforge.net/project/pcre/pcre/8.40/pcre-8.40.tar.gz

Разархивируйте установочный пакет

Язык кода:javascript
копировать
tar -zxvf pcre-8.40.tar.gz

Введите каталог установки

Язык кода:javascript
копировать
cd pcre-8.40

Скомпилируйте и установите

Язык кода:javascript
копировать
./configure 
make && make install

Проверьте версию ПКР

Язык кода:javascript
копировать
pcre-config --version

3. Установите библиотеку zlib.

Язык кода:javascript
копировать
wget http://www.zlib.net/zlib-1.2.11.tar.gz
tar -zxvf zlib-1.2.11.tar.gz
cd zlib-1.2.11
./configure
make && make install

4. Установите Nginx

Язык кода:javascript
копировать
cd /usr/local/
wget http://nginx.org/download/nginx-1.15.3.tar.gz
tar -zxvf nginx-1.15.3.tar.gz
rm nginx-1.15.3.tar.gz
mv nginx-1.15.3 nginx
cd nginx/
./configure --prefix=/usr/local/nginx 
make & make install

Если вы столкнулись с ошибкой, проигнорируйте ее и продолжите выполнение следующих шагов.

Добавьте переменные среды Nginx, вы можете напрямую вводить команды Nginx в командной строке.

Язык кода:javascript
копировать
vim /etc/profile

Добавьте путь к Nginx в конце

Язык кода:javascript
копировать
export NGINX_HOME=/usr/local/nginx
export PATH=$PATH:$NGINX_HOME/sbin

Перекомпилировать переменные среды

Язык кода:javascript
копировать
source /etc/profile

Запустить nginx

Язык кода:javascript
копировать
mkdir /usr/local/nginx/logs
cd sbin
./nginx

Введите IP в браузере, и появится интерфейс приветствия nginx.

Команда для перезапуска nginx:

Язык кода:javascript
копировать
nginx -s reload

Закройте службу nginx:

Язык кода:javascript
копировать
killall -9 nginx

Возникшие проблемы

Язык кода:javascript
копировать
nginx:[emerg] listen()to 0.0.0.0:80, backlog 511 failed (98: Address already in use)
.
.
.
nginx:[emerg] sill could not blind()

Порт подсказки занят

Проверить занятость порта

Язык кода:javascript
копировать
sudo netstat -ntpl

Мой

Язык кода:javascript
копировать
tcp6 0 0 :::80 :::* LISTEN 1128/apache2

Тогда убей задание 1128

Язык кода:javascript
копировать
sudo kill 1128

Просто перезапустите Nginx

Также возможно, что брандмауэр не открывает порт 80. Открыть порт 80

Язык кода:javascript
копировать
iptables -I INPUT -p tcp --dport 80 -j ACCEPT

5. Установите rtmp-расширение Nginx.

Язык кода:javascript
копировать
cd /usr/local/nginx

Среда Openssl также отсутствует, и ее необходимо устанавливать вручную.

Язык кода:javascript
копировать
sudo apt-get install libssl-dev

Если сообщается об ошибке

Язык кода:javascript
копировать
ERR:1 http://... 404 Not Found

Обновите его

Язык кода:javascript
копировать
apt-get update

Установить заново

Язык кода:javascript
копировать
sudo apt-get install libssl-dev

git clone https://github.com/arut/nginx-rtmp-module.git
./configure --add-module=/usr/local/nginx/nginx-rtmp-module
make & make install

6. Настройте сайт службы rtmp Nginx.

Язык кода:javascript
копировать
vim /usr/local/nginx/conf/nginx.conf

Добавьте следующий контент в конец файла

Язык кода:javascript
копировать
rtmp{
    server{
        #Прослушивающий порт
        listen 1935;
        chunk_size 4000;
        application tv_file{
            #Открыть в режиме реального времени
            live on;
            #Openhls
            hls on;
            Путь push-запроса #rtmp, путь к хранилищу файлов
            hls_path /usr/local/nginx/html/tv_file;
            #Каждый файл TS содержит 5 секунд контента
            hls_fragment 5s;
        }
    }
}

В середине файла измените модуль http-сервера.

Язык кода:javascript
копировать
location/{
    root /usr/local/nginx/html;
    index index.html index.htm
}

Откройте порт 1935, рекомендуется использовать Alibaba Cloud.

Запустить nginx

Язык кода:javascript
копировать
cd /usr/local/nginx/sbin
./nginx

тест:

терминал Windows

Язык кода:javascript
копировать
telnet Адрес сервера 1935

Возникшие проблемы: телнет недоступен, панель управления->Программы и возможности->включить и отключитьWindowsФункция->ПроверятьTelnet Client

7. Push-тест

скачать OBS Studio скачатьадрес:https://pc.qq.com/detail/4/detail_23604.html После завершения установки откройте программу существовать источник Модуль, нажимаем +, медиа-источник, создаем новый, существовать Добавить локальный файлвидеоФайл вверх, Установлено: «Зациклить», «Перезапустить воспроизведение, когда источник станет активным», «Использовать аппаратное декодирование, когда существующее доступно». существоватьнижний правый угол контроль Модуль, нажмите «Настройки», нажмите «Push Streaming». Сервис: Пользовательский Сервер: rtmp://адрес сервера:1935/tv_file Ключ потоковой передачи: test (это произвольное имя файла, сохраненное на сервере)

Начать трансляцию: Тогда можно увидеть существующий сегмент сервера .ts файлы .m3u8

Язык кода:javascript
копировать
cd /usr/local/nginx/html/tv_file
ls
test-0.ts test-1.ts test-2.ts test.m3u8            

8. Тест на растяжение

скачать Установить VLC скачатьадрес https://www.videolan.org/ нажмите медиа->Включите потоковую передачу по сети Выберите сеть и введите URL-адрес в существующем IP-адрес сервера потоковой передачи и ключ потоковой передачи

Язык кода:javascript
копировать
rtmp://Адрес сервера:1935/tv_file/test

Нажмите, чтобы играть

Заявление об авторских правах: Содержание этой статьи добровольно предоставлено пользователями Интернета, а мнения, выраженные в этой статье, представляют собой только точку зрения автора. Этот сайт предоставляет только услуги по хранению информации, не имеет никаких прав собственности и не принимает на себя соответствующие юридические обязательства. Если вы обнаружите на этом сайте какое-либо подозрительное нарушение авторских прав/незаконный контент, отправьте электронное письмо, чтобы сообщить. После проверки этот сайт будет немедленно удален.

Издатель: Лидер стека программистов полного стека, укажите источник для перепечатки: https://javaforall.cn/179933.html Исходная ссылка: https://javaforall.cn

boy illustration
Учебное пособие по Jetpack Compose для начинающих, базовые элементы управления и макет
boy illustration
Код js веб-страницы, фон частицы, код спецэффектов
boy illustration
【новый! Суперподробное】Полное руководство по свойствам компонентов Figma.
boy illustration
🎉Обязательно к прочтению новичкам: полное руководство по написанию мини-программ WeChat с использованием программного обеспечения Cursor.
boy illustration
[Забавный проект Docker] VoceChat — еще одно приложение для мгновенного чата (IM)! Может быть встроен в любую веб-страницу!
boy illustration
Как реализовать переход по странице в HTML (html переходит на указанную страницу)
boy illustration
Как решить проблему зависания и низкой скорости при установке зависимостей с помощью npm. Существуют ли доступные источники npm, которые могут решить эту проблему?
boy illustration
Серия From Zero to Fun: Uni-App WeChat Payment Practice WeChat авторизует вход в систему и украшает страницу заказа, создает интерфейс заказа и инициирует запрос заказа
boy illustration
Серия uni-app: uni.navigateЧтобы передать скачок значения
boy illustration
Апплет WeChat настраивает верхнюю панель навигации и адаптируется к различным моделям.
boy illustration
JS-время конвертации
boy illustration
Обеспечьте бесперебойную работу ChromeDriver 125: советы по решению проблемы chromedriver.exe не найдены
boy illustration
Поле комментария, щелчок мышью, специальные эффекты, js-код
boy illustration
Объект массива перемещения объекта JS
boy illustration
Как открыть разрешение на позиционирование апплета WeChat_Как использовать WeChat для определения местонахождения друзей
boy illustration
Я даю вам два набора из 18 простых в использовании фонов холста Power BI, так что вам больше не придется возиться с цветами!
boy illustration
Получить текущее время в js_Как динамически отображать дату и время в js
boy illustration
Вам необходимо изучить сочетания клавиш vsCode для форматирования и организации кода, чтобы вам больше не приходилось настраивать формат вручную.
boy illustration
У ChatGPT большое обновление. Всего за 45 минут пресс-конференция показывает, что OpenAI сделал еще один шаг вперед.
boy illustration
Copilot облачной разработки — упрощение разработки
boy illustration
Микросборка xChatGPT с низким кодом, создание апплета чат-бота с искусственным интеллектом за пять шагов
boy illustration
CUDA Out of Memory: идеальное решение проблемы нехватки памяти CUDA
boy illustration
Анализ кластеризации отдельных ячеек, который должен освоить каждый&MarkerгенетическийВизуализация
boy illustration
vLLM: мощный инструмент для ускорения вывода ИИ
boy illustration
CodeGeeX: мощный инструмент генерации кода искусственного интеллекта, который можно использовать бесплатно в дополнение к второму пилоту.
boy illustration
Машинное обучение Реальный бой LightGBM + настройка параметров случайного поиска: точность 96,67%
boy illustration
Бесшовная интеграция, мгновенный интеллект [1]: платформа больших моделей Dify-LLM, интеграция без кодирования и встраивание в сторонние системы, более 42 тысяч звезд, чтобы стать свидетелями эксклюзивных интеллектуальных решений.
boy illustration
LM Studio для создания локальных больших моделей
boy illustration
Как определить количество слоев и нейронов скрытых слоев нейронной сети?
boy illustration
[Отслеживание целей] Подробное объяснение ByteTrack и детали кода