Всем привет, мы снова встретились, я ваш друг Цюаньчжаньцзюнь.
Пострадал перенос начала занятий в школе из-за эпидемии,В этот период по всей стране продвигается онлайн-обучение.,Платформа edx MOOC была создана некоторое время назад.,Но чего не хватает?,Это Интернетпрямая трансляцияпреподавание,провести день,Успешно построено,Запишите для дальнейшего использования.
1. Основной технический маршрут
Среди них сервер использует nginx + nginx-rtmp-module, поток push использует OBS-Studio, а поток pull использует воспроизведение веб-страницы html5.
2. Установка сервера прямой трансляции
Среда centos7, графический интерфейс рабочего стола не установлен, серверная версия
yum install -y gcc yum install -y openssl openssl-devel yum insall -y pcre pcre-devel yum install -y zlib zlib-devel
git clone https://github.com/arut/nginx-rtmp-module.git
wget http://nginx.org/download/nginx-1.9.9.tar.gz
tar -zxvf nginx-1.9.9.tar.gz cd nginx-1.9.9
./configure –prefix=/usr/local/nginx –add-module=/root/nginx-rtmp-module –with-http_ssl_module make && make install
После обычной компиляции и установки вы увидите каталог /usr/local/nginx.
Конфигурационный файл
nano /usr/local/nginx/conf/nginx.conf
Добавьте следующую конфигурацию
rtmp { server { listen 1935; #Прослушивающий порт chunk_size 4000; #Максимальный размер блока для интеграции потока, чем больше установлено это значение CPU Чем меньше нагрузка #Добавляем поддержку hls application hls { Путь push-запроса #rtmp live on; #Открыть в режиме реального времени hls on; #Openhls hls_path /usr/local/nginx/html/hls; #Путь для сохранения push-файла должен иметь разрешение на запись hls_fragment 5s; # Каждый файл содержит5секундывидеосодержание }
application hls1 { # Второй канал прямой трансляции… жить дальше; вкл. hls_path /usr/local/nginx/html/hls1; hls_fragment 10 с; } } }
После сохранения запустите сервер
./sbin/nginx -c ./conf/nginx.conf
Например, после изменения конфигурации используйте команду nginx -s reload, чтобы перечитать конфигурацию.
3. Прямая трансляция
OBS-Studio-23.2.1-Full-x64 Зеленая версия скачана из Интернета, установка не требуется, просто распакуйте и пользуйтесь
Настройте сервер потоковой передачи. Ключ потоковой передачи — это имя файла кэша потоковой передачи на сервере.
Если поток отправки нормальный, вы можете увидеть сгенерированный файл в каталоге /usr/local/nginx/html/hls.
[root@gdcmxy sbin]# ls /usr/local/nginx/html/hls поток-0.ts поток-1.ts поток.m3u8 4. Pull стриминг, то есть прямая трансляция
Использование веб-страницы HTML5
<!DOCTYPE html> <html> <head> <title>игрок</title> <!– Импортированный videojs имеет версию 7.0 или выше. Он интегрирует библиотеку протокола VHS и может воспроизводить потоковое видео HLS. –> <link href=”css/video-js.min.css” rel=”stylesheet” type=”text/css”> <script src=”js/video.min.js”></script> <!– представилvideojs-flash.jsПлагин в основном предназначен для воспроизведенияrtmpвидеопоток–> <script src=”js/videojs-flash.min.js”></script> </head> <body> <video id=’myvideo’ width=960 height=540 class=”video-js vjs-default-skin” con
Обычное использование прямой трансляции
5. Прямая трансляция готовых видеофайлов
Вы можете установить ffmpeg на сервер в качестве источника воспроизведения.
Установить:
yum install -y epel-release rpm rpm –import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 yum repolist rpm –import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-1.el7.nux.noarch.rpm yum repolist yum install -y ffmpeg
использовать:
ffmpeg -re -i testvideo.mp4 -c copy -f flv rtmp://192.168.49.129:1395/live/stream
Левая часть изображения ниже — это эффект воспроизведения, а правая — ffmpeg, отправляющий поток.
На изображении ниже воспроизводятся видеофайлы с двумя каналами принудительной потоковой передачи и двумя каналами потоковой передачи по запросу. Изображение плавное и без давления.
Ссылки на многие статьи здесь не указаны, спасибо!
Издатель: Лидер стека программистов полного стека, укажите источник для перепечатки: https://javaforall.cn/132419.html Исходная ссылка: https://javaforall.cn