Root Only

подайте на пропитание, бывшему админу бывшего локалхоста

Menu
  • Администрирование
  • Программирование
  • Монетизация
  • Продвижение
  • Хлам
Menu

Получение видео с камеры на базе чипа HiIpcam через video/bubble

Хочу поделиться небольшим скриптом, написанным с целью получения видео-потока в h264 с видео-камер, серии HiIpcam из Content-Type: video/bubble.
На http-запрос curl -i '192.168.0.123/bubble/live?ch=0&stream=0 подобная камера как правило отвечает что-то похожее на:

HTTP/1.1 200 OK
Server:HiIpcam
Content-Type:video/bubble
Connection:keep-alive

<bubble version=»1.0″ vin=»1″><vin0 stream=»3″><stream0 name=»720p.264″ size=»1280×720″ x1=»yes» x2=»yes» x4=»yes» />
<stream1 name=»360p.264″ size=»640×360″ x1=»yes» x2=»yes» x4=»yes» />
<stream2 name=»qvga.264″ size=»320×240″ x1=»yes» x2=»yes» x4=»yes» />
<vin0>

Пара примеров как этим пользоваться:

# просмотр через mplayer
./ipcam.py | mplayer -fps 50 -

# просмотр через ffplay
./ipcam.py | ffplay -

# запись в файл
./ipcam.py > file.mp4

Ниже собственно сам скрипт.
Для корректной работы необходимо изменить 4 переменные, а именно:
ip-адрес видео-камеры, порт, если он отличается от стандартного, и пару логин/пароль.
#!/usr/bin/env python
# -*- coding: utf-8 -*-

TCP_IP = ‘192.168.0.123’
TCP_PORT = 80
LOGIN=’login’
PASSW=’password’

import socket,sys

BUFFER_SIZE = 1024

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((TCP_IP, TCP_PORT))

s.send(«GET /bubble/live?ch=0&stream=0 HTTP/1.1\r\n\r\n»)
data = s.recv(BUFFER_SIZE)

BUFFER_SIZE = 4096

s.send(«\xaa\x00\x00\x00\x35\x00\x02\xd7\x0e\x7f\x00\x00\x00\x2c\x00\x00\x00\x00%s\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00%s\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00» % (LOGIN, PASSW))
data = s.recv(BUFFER_SIZE)

s.send(«\xaa\x00\x00\x00\x15\x0a\x02\xd7\x0f\x79\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00»)
data = s.recv(BUFFER_SIZE)
while data:
sys.stdout.write(data)
data = s.recv(BUFFER_SIZE)

s.close()

Поиск

Метки

adb antiddos bash bubble cache console ddos debian docker eclipse elasticsearch elk ffmpeg fs gentoo glusterfs grafana healthcheck hicam ipcam jquery jscript mail mysql mysqldump nginx nodejs php putty python redirect replication RSS serial socat ssh ssh-agent sysfs systemd tinymce uart usb vim vnc windows

Безопасность

© 2026 Root Only