Иногда вы можете столкнуться с подобными сценариями:
В это время я подумаю, можно ли четко и плавно разделить экран и видеопоток? Очевидно, что прямая трансляция отвечает этому ряду условий. Итак, вот несколько решений:
Первые два варианта очень простые, трехсторонние прямые. Также легко начать вещание на платформе трансляции Существующая прямая. Цены на услуги трансляции невелики по сравнению с серверами с оплатой по мере использования.
В этой статье рассматривается последний случай,Иметь свой сервер,Надеемся, что он реализует простую прямую трансляцию Push-стриминга.
Выбор развертывания часто определяет конечный результат использования, на этот раз Lighthouse Легкий сервер приложений размещен в дата-центре материкового Китая. В настоящее время самую низкую цену существования обеспечивает Конфигурация. 2 виртуальный CPU, 2 GB память и 4 MB Полоса пропускания в нисходящем направлении.
Вообще говоря,Должен Конфигурацияиз CPU Памяти достаточно, пропускная способность зависит от контента, которым вы хотите поделиться, и количества людей, транслирующих одновременно.
Если вы используете 4000 KBps скорость прямого кода трансляцияPush-стриминг, без конвертации и сжатия кода, может смотреть другой друг, если использовать 2000 KBps Скорость кода, прямая трансляцияPush-стриминг,
Требуемая скорость кода тесно связана с контентом и методом кодирования. Приведем пример и пожалуемся на него. это видео предоставил “1080P «Высокий битрейт» Скорость кода составляет всего 1000 Кбит/с, где скорость передачи видео составляет только 825 Кбпс, разве вам всем не нравится это смотреть? (
Короче говоря, эту статью не следует использовать для настройки конфигурации:
Поиск в Интернете Nginx-RTMP, можно получить много инструкций по компиляции Установить, но на самом деле на данный момент нет необходимости заморачиваться с существующим, просто использовать apt Менеджер пакетов можно использовать через search Найдите пакет, который требует Установить:
Установить Nginx и Nginx-RTMP, для облегчения перекодирования необходимо дополнительно установить ffmpeg
# Обновить исходный код программного обеспечения
apt update
# apt upgrade -y
# Установить
apt install nginx libnginx-mod-rtmp -y
# ffmpeg (если требуется перекодирование)
apt install ffmpeg -y
Nginx-RTMP из Конфигурация Нужно написатьсуществовать nginx.conf файл, в настоящее время находится в среде /etc/nginx/nginx.conf
。
Большая часть файлов конфигурации существует. Файлы конфигурации создаются заново. rtmp модуль и напишите, небольшую часть Конфигурации нужно записать в файл Конфигурации. http в модуле.
весь Конфигурацияссылка:https://github.com/arut/nginx-rtmp-module/wiki/Directives
rtmp {
server {
listen 1935;
application vod {
play /var/document/vedios;
}
}
}
rtmp {
server {
listen 1935;
application live {
live on;
}
}
}
В разделе «Конфигурация» адрес Push-стриминга: rtmp://IP_ OR_DOMAIN/live/
,когдаиспользовать live При выполнении Push-стриминга для кода Push-стриминга игровой адрес имеет вид rtmp://IP_ OR_DOMAIN/live/live
rtmp {
server{
listen 1935;
chunk_size 4096;
application live {
live on;
record off;
push rtmp://target;
}
}
}
Используйте ffmpeg для выполнения операций перекодирования
rtmp {
server {
listen 1935;
application src {
live on;
exec ffmpeg -i rtmp://localhost/src/$name
-c:a aac -b:a 32k -c:v libx264 -b:v 128K -f flv rtmp://localhost/hls/$name_low
-c:a aac -b:a 64k -c:v libx264 -b:v 256k -f flv rtmp://localhost/hls/$name_mid
-c:a aac -b:a 128k -c:v libx264 -b:v 512K -f flv rtmp://localhost/hls/$name_hi;
}
application hls {
live on;
hls on;
hls_path /tmp/hls;
hls_nested on;
hls_variant _low BANDWIDTH=160000;
hls_variant _mid BANDWIDTH=320000;
hls_variant _hi BANDWIDTH=640000;
}
}
}
Push-стриминг Можетиспользовать OBS、ffmpeg Подождите инструменты
Примечание: x11захват в новой версии ffmpeg был удален, приведя пример ffmpegPush-стриминга:
./ffmpeg -f gdigrab -framerate 30 -i desktop -c:v h264\_nvenc -qp 0 -acodec aac -f flv rtmp://IP_OR_DOMAIN:1935/live/live
играть Можетразличными способами,нравиться ffplay, веб-страницы, сторонние клиенты (например, PotPlayer) и т.д.