За последние 24 часа нас посетили 15777 программистов и 1544 робота. Сейчас ищут 886 программистов ...

Запись потока с IP камеры

Тема в разделе "PHP для новичков", создана пользователем dimpase, 20 апр 2016.

  1. dimpase

    dimpase Активный пользователь

    С нами с:
    20 апр 2016
    Сообщения:
    12
    Симпатии:
    0
    Привет, я нуб, помогитеее мнее!:))
    Я купил ip камеру, но не могу с нее заисать корректно картинки(поток картинок), я сохраняю их в файл потом пытаюсь их прочитать но мне говорит что файл изображения поврежден. Когда сохраняется файл там какие то символы походу неправильно кодируются, там на 2 байта роде он больше становится.
    Как правильно картинку в файл записать если я ее получаю с ip камеры?

    Картинки приходят с камеры с
    Код (Text):
    1. Content-Type: multipart/x-mixed-replace;boundary=object-ipcamera

    Вот начало файла картинки

    Код (Text):
    1. HTTP/1.1 200 OK
    2. Date: Fri Apr  1 19:33:58 2016
    3. Server: GoAhead-Webs
    4. Accept-Ranges: bytes
    5. Connection: close
    6. Content-Type: multipart/x-mixed-replace;boundary=object-ipcamera
    7.  
    8. --object-ipcamera
    9. Content-Type:image/jpeg
    10. Content-Length:18476
    11.  
    12. яа ШJFIF FIF :58 ,,, тра ля ля
    PHP:
    1.  function read_header($ch, $head)
    2.                 {
    3.                    // $script.='<script type="text/javascript">top.document.getElementById(\'tenchurinaSRC\').innerHTML=\''.$header.'\';</script>';
    4.                    //print_r ($header);
    5.                
    6.                    echo $head;
    7.                    return strlen($head);
    8.                 }
    9.                 $curl = curl_init('http://192.168.31.2:81/videostream.cgi');
    10.                 curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
    11.                 curl_setopt($curl, CURLOPT_USERPWD, $user.":".$pass);
    12.                 curl_setopt($curl, CURLOPT_BUFFERSIZE, 2048);
    13.                 //curl_setopt($curl, CURLOPT_TIMEOUT, 25);
    14.                 //curl_setopt($curl, CURLOPT_NOBODY, 1);
    15.                 curl_setopt($curl, CURLOPT_HEADERFUNCTION, 'read_header');
    16.                 curl_exec($curl);                

    Понятное дело что какие то картинки неправильно сохраняются в файл или вообще не сохраняются.
     
    #1 dimpase, 20 апр 2016
    Последнее редактирование: 20 апр 2016
  2. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Что там за формат? Потоковый jpeg?
     
  3. dimpase

    dimpase Активный пользователь

    С нами с:
    20 апр 2016
    Сообщения:
    12
    Симпатии:
    0
    да
    с разделителями boundary
     
  4. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв