Я искал способ проксировать поток mjpeg с сетевой камеры AXIS M1114.
используя следующую настройку URL
http://host:port/axis-cgi/mjpg/video.cgi?resolution=320x240&camera=1
я пытаюсь зафиксировать вывод и сделать его доступным для пользователей с помощью php-скрипта, на котором работает сервер apache на ubuntu.
просмотрев Интернет в поисках ответа безрезультатно, я пришел к вам.
моя конечная цель состоит в том, чтобы пользователи могли ссылаться на прокси следующим образом:
<img src='proxy.php'>
и получить подробную информацию обо всех вещах в proxy.php.
Я пытался использовать способ cURL (рекомендуемый в аналогичной теме здесь), но я не могу заставить его работать, вероятно, из-за отсутствия знаний о внутренней работе.
в настоящее время мой очень простой proxy.php выглядит так
<?php
$camurl = "http://ip:port";
$campath = "axis-cgi/mjpg/video.cgi";
$userpass = "user:pw";
$ch = curl_init();
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_URL, $camurl + $campath);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'resolution=320x240&camera=1');
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt($ch, CURLOPT_USERPWD, $userpass);
$result = curl_exec($ch);
header('Content-type: image/jpeg');
echo $result;
curl_close($ch);
?>
Насколько я понимаю, это даст приемлемый результат для моего плана. Но увы.
Мой вопрос будет в том, есть ли вопиющая ошибка, которую я не вижу. Приветствуется любой более простой вариант/способ получения результата, к которому я стремлюсь.
Пожалуйста, укажите мне правильное направление. Я с радостью предоставлю любую соответствующую информацию, которую я мог упустить. Заранее спасибо.
решено редактировать:
После комментирования:
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, true);
изменение
curl_setopt($ch, CURLOPT_URL, $camurl + $campath);
to
curl_setopt($ch, CURLOPT_URL, $camurl . $campath); (mixing up some languages)
и, что наиболее важно, удаление пробела в файле .php, чтобы заголовок на самом деле был заголовком, который делал то, что я хотел.