Интересно, я поступаю неправильно? Итак, две библиотеки, которые я использую:
1. https://github.com/arut/nginx-rtmp-module
2. https://github.com/JRoy/InstagramLive-PHP
Модуль Nginx RTMP работает нормально, и я могу транслировать все, что угодно, от Facebook до Twitch, но я не могу заставить его работать с библиотекой InstagramLive. Я использую приведенный ниже формат файла nginx.conf на основе ключа потока и URL-адреса, который я получаю после запуска библиотеки InstagramLive:
rtmp {
server {
listen 1935;
chunk_size 4096;
application live {
live on;
record off;
push rtmp://live-upload.instagram.com:80/rtmp/<key>;
}
}
}
Однако, когда я запускаю поток OBS, учетная запись Instagram показывает его в реальном времени, но не загружает видео, и через некоторое время появляется сообщение об ошибке, указывающее на превышение времени ожидания. Я предполагаю, что есть проблема с масштабированием / разрешением, и буду признателен, если кто-то может помочь.
ОБНОВИТЬ:
Так что я получил его для потоковой передачи в Instagram, но, похоже, возникла проблема с масштабированием при прямой потоковой передаче, поэтому он пытался использовать ffmpeg для обхода проблемы. Придумал этот код ниже:
rtmp {
server {
listen 1935;
chunk_size 4096;
application live {
live on;
record off;
allow publish all;
allow play all;
push rtmp://127.0.0.1:1935/youtube;
exec ffmpeg -i rtmp://127.0.0.1:1935/live/$name -threads 1 -vcodec flv -acodec copy -s 1280x720 -f flv rtmp://127.0.0.1:1935/youtube;
}
application instagram {
live on;
record off;
push rtmp://live-upload.instagram.com:80/rtmp/KEY;
}
application youtube {
live on;
record off;
push rtmp://a.rtmp.youtube.com/live2/KEY;
}
}
}
Как-то сейчас снова видео из Instagram не загружается, Youtube или любые другие потоки, которые я включаю, будут работать.
Задача ещё не решена.
Других решений пока нет …