Как правильно получить прямую трансляцию с другого сервера и вернуть тот же канал с помощью PHP
У меня есть медиа-сервер ZoneMinder, который транслирует видеонаблюдение через http. Это ответ с потоком изображений (не видео).
Сейчас я создаю стороннее веб-приложение, для которого требуется отображение прямой трансляции. Проблема, с которой я столкнулся, заключается в том, что мне нужно интегрировать систему, не отправляя запрос браузера на сервер ZoneMinder, я не хочу делать это из стороннего бэкэнда приложения и отправлять их обратно в браузер.
Я использую PHP для приложения, и до сих пор я запускаю этот код:
$link = get_zoneminder_url_stream();
header("Content-Type: multipart/x-mixed-replace;boundary=ZoneMinderFrame");
$fd = fopen($link, "r");
while(!feof($fd)) {
echo fread($fd, 1024 * 5);
ob_start();
ob_end_flush();
ob_flush();
flush();
}
fclose ($fd);
Я получаю ожидаемый поток живого изображения для сервера ZoneMinder. Но у меня есть несколько проблем.
Когда я запускаю прямой эфир (выполняя приведенный выше код), остальная часть моего веб-приложения перестает отвечать на запросы. Все запросы к php-скрипту сервера не могут быть обработаны (они всегда "ожидают" на вкладках сети в консоли разработчика браузера), но все равно могут обрабатывать GET-запрос другого файла (например, файла ресурсов).
Я знаю, что в этот момент у меня возникают некоторые проблемы с самим PHP, а не с веб-сервером.
Поэтому мой вопрос заключается в том, каков наилучший способ сделать запрос в прямом эфире на другой сервер с сервера PHP и отбрасывать поток обратно в ответ браузеру.
заранее спасибо