PHP cURL извлекает видео по URL-адресу на локальном сервере

#curl #iframe #video-streaming #php-curl #laravel-middleware

#curl #iframe #потоковое видео #php-curl #laravel-промежуточное программное обеспечение

Вопрос:

Вот что у меня есть для примера:

  1. Сервер : http://192.168.12.12/cctv/monitor1 (Здесь показан видеопоток системы видеонаблюдения с монитора 1)

  2. ServerB: http://192.168.13.13/monitoring (Это моя веб-страница, на которой я хочу показать видеопоток с сервера) * ps: это также может пинговать / получать доступ к серверу

  3. PC1: ПК, у которого есть разрешение ping / доступ как к ServerA, так и к ServerB

  4. 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-запроса. Таким образом, ваши сервисы никоим образом не зависят и не зависят от других сервисов. Даже если удаленные / внешние службы зависли, ваши службы этого не сделают.

Хорошего дня 🙂