@null_object

Как создать сервер видео трансляции?

Как создать сервер видео трансляции ? Каким протоколом отдавать видео лучше ? Как можно отдать видео с OpenCV в браузер ?

Что-то накидал, но оно по понятным причинам не работает:
import socket
import cv2

RESPONSE  = "HTTP/1.1 200 OK\r\nServer: hrenoten\r\nAccept-Ranges: bytes\r\nContent-Type: application/octet-stream\r\nConnection: keep-alive\r\n\r\n"
BUFF_SIZE = 64*1024

#ip, port = tuple(input().split(' '))
ip, port = '127.0.0.1', 8000

sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.bind( (ip, int(port)) )
sock.listen(10)

cap = cv2.VideoCapture(0)

conn, addr = sock.accept()
print('New connection: ' + addr[0])

while not conn.recv(BUFF_SIZE):
    pass
while True:
    ret, img = cap.read()
    byteImg = img.tostring()
    #А ещё я не понимаю нужны-ли HTTP заголовки
    conn.send(RESPONSE.encode('utf-8') + byteImg)

print(addr[0] + ' is closed')
conn.close()
  • Вопрос задан
  • 3270 просмотров
Решения вопроса 2
qlkvg
@qlkvg
python backend developer
https://gist.github.com/n3wtron/4624820 - простейший вариант, как раз ваш случай. Если скучно и не хватает приключений - почитайте про вебсокеты.
Ответ написан
pro_co_ru
@pro_co_ru
Старший инженер-программист
Погугли RTMP/RTSP проктоколы.

Есть nginx модуль.
Позволяет забирать видео с вебок, других стриминговых сервисов, либо из видеофайлов отдавемых с помощью fmpeg.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы