LINUX.ORG.RU

Как вывести заглушку, если входящий стрим отвалился? ffmpeg, nginx-rtmp или что угодно

 , , nginx-rtmp,


0

2

Я ретранслирую RTMP поток. Сейчас через ffmpeg -> nginx-rtmp -> ffmpeg, но в целом неважно

Часто так бывает, что входящий RTMP(s) отваливается. При этом пользователь у себя в плеере видит дулю и плееру становится плохо

Хочется, чтобы вместо этого он видел заранее записанную видео-заглушку или какой-то другой живой стрим. Живой стрим сильно лучше.

И когда сломавшийся входящий поток починится - чтобы трансляция переключилась назад на него.

Посоветуйте, пожалуйста, какое-нибудь решение? Я не держусь за nginx-rtmp, можно хоть Red5 вкорячить, если знать что настраивать

Важно:

  1. решение должно быть опенсорсным, бесплатным и без подстав.

  2. решение не должно включать в себя модификацию плеера, потому что плеер - это твич, миксер, ютуб, фейсбук и другие стриминговые площадки

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

★★★★☆

Последнее исправление: stevejobs (всего исправлений: 2)

Хочется, чтобы вместо этого он видел заранее записанную видео-заглушку или какой-то другой живой стрим. Живой стрим сильно лучше.

Заглушку я бы просто запускал оверлеем в ffmpeg ("под" основным стримом). С переключением потоков сложнее на мой взгляд, но в nginx есть возможность вешать хуки на всякие события, наверно как-то можно через них дергать смену потока.

Подписался на тему, тоже интересно.

micronekodesu ★★★
()

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

пильнуть на гитхаб

собирать грабли лично и интересующимися.

вырастит полезное.

qulinxao3
()

на дурняк таких решений, тем более опенсорс - нет

anonymous
()
Ответ на: комментарий от micronekodesu

с ffmpeg проблема в том, что отключившиеся стримы он перестаёт пробовать. Заглушка покажется, но вот сломанный стрим не вернется никогда. Или может я тебя как-то не так понял, покажи пример когда стрим возвращается?

если ты в nginx передернешь стрим втупую - это будет полный чейн переподключения. То есть, если у тебя там внутри ffmpeg всё это принимает и перебрасывает на какой-нибудь Twitch, то будет момент, когда ffmpeg погаснет и прервёт соединение. Twitch на это ответит как на окончание трансляции. Это примерно так же плохо, как и при прямом падении соединения.

и в случае ffpmeg, и в случае nginx можно пойти и запатчить то место, где они перестают пробовать стримы. Для ffmpeg явно можно написать внешнюю утилиту для фейловера внешним способом, и в интернете уже есть куски недописанного кода на эту тему

Ни за что не поверю, что никто этого ещё не сделал за все эти бесчисленные годы. Это первая проблема, с которой сталкивается любой стример

stevejobs ★★★★☆
() автор топика
Последнее исправление: stevejobs (всего исправлений: 2)
Ответ на: комментарий от stevejobs

Ни за что не поверю, что никто этого ещё не сделал за все эти бесчисленные годы. Это первая проблема, с которой сталкивается любой стример

сделали и продают за деньги

ждем когда стив джобс сделает на дурняк да еще и опенсорс

anonymous
()

Да там просто бездна открывается с этими заглушками. Люди продают девайсы по 10 килобаксов за 4 канала для IP changeover.

Т.е. этого вполне может и не быть в опенсорсе.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.