#curl #iframe #video-streaming #php-curl #laravel-middleware
#curl #iframe #потоковое видео #php-curl #laravel-промежуточное программное обеспечение
Вопрос:
Вот что у меня есть для примера:
-
Сервер : http://192.168.12.12/cctv/monitor1 (Здесь показан видеопоток системы видеонаблюдения с монитора 1)
-
ServerB: http://192.168.13.13/monitoring (Это моя веб-страница, на которой я хочу показать видеопоток с сервера) * ps: это также может пинговать / получать доступ к серверу
-
PC1: ПК, у которого есть разрешение ping / доступ как к ServerA, так и к ServerB
-
PC2: ПК, у которого НЕТ РАЗРЕШЕНИЯ на пинг / доступ к ServerA, но может получить доступ к ServerB (My web)
///////
Все работает нормально, если я просто показываю потоковую передачу со стороны клиента, потому что PC1 получил полное разрешение на доступ к серверу.
Но есть проблема, когда дело доходит до использования PC2 для доступа к моей веб-странице, он не показывает видео с сервера.
Я пытался использовать cURL, и это закончилось сверхдлинной загрузкой (больше похоже на бесконечную загрузку), тем не менее, я не знаю, можно ли было извлечь видео из cURL или нет.
ЦЕЛЬ, которую я пытаюсь достичь, — создать мой веб в качестве промежуточного программного обеспечения для ServerA и PC2
PC2> мой веб (ServerB) > видео (ServerA)
///—————————————————————————————————
Вот мое объяснение моих кодов, например :
/* URL-адрес цикла потокового видео*/
for($i=0;$i<count($cctv);$i ){
echo "<iframe src='".$cctv['link']."'/>"
}
/* Функция cURL (честно говоря, я использую эту функцию для каждой ссылки cctv, которую я зациклил, как checkcURL ($cctv[‘link’]) ) */
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST ,1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION ,0);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
//——————————————————————————
Извините, если оба моих объяснения или мой английский были плохими, надеюсь, у вас, ребята, хорошего дня
Ответ №1:
просто хочу добавить, не забывайте всегда указывать максимальный тайм-аут (т. Е. 60 секунд, может варьироваться в зависимости от вашего использования) в любых ваших проектах производственного класса при выполнении curl или http-запроса. Таким образом, ваши сервисы никоим образом не зависят и не зависят от других сервисов. Даже если удаленные / внешние службы зависли, ваши службы этого не сделают.
Хорошего дня 🙂