У меня есть клиент Python с веб-камерой и сервер Python.
Я хочу использовать свой фрейм камеры на моем сервере динамически, поэтому хочу посмотреть фрейм в браузере с сервером python socketio.
Я попытался отправить фрейм на сервер python socketio и обновить им img src, но не знаю, как обновить тег img src полученными данными.
Что я должен исправить, чтобы обновить img, полученный от клиентской веб-камеры на сервере socketio?
спасибо.
клиент / test.py
...
socketIO = SocketIO(host, port)
camnamespace = socketIO.define(CamNamespace, namespace)
video = cv2.VideoCapture(0)
success, frame = video.read()
encode_param=[int(cv2.IMWRITE_JPEG_QUALITY),90]
result, imgencode = cv2.imencode('.jpeg', frame, encode_param)
stringData = imgencode.tostring()
data=stringData
while True:
camnamespace.emit('dash_event', {'data':str(data)})
...
Веб-сервер / шаблоны / index.html
...
<img id="bg">
<script>
var myroom = "test";
var namespace = "/live";
$(document).ready(function() {
var socket = io.connect('http://' + document.domain
+ ':' + location.port + namespace);
socket.on('connect', function() {
socket.emit('join',{room:myroom});
});
socket.on("livedash", function(msg) {
data = msg['data']
$("#bg").attr("src", '--frame\r\n'+ 'Content-Type: image/jpeg\r\n\r\n' + data + '\r\n\r\n');
});
});
</script>
...
Веб-сервер / sock_namespace.py
...
class MyNamespace(Namespace):
def on_dash_event(self, message):
emit('livedash',{'data':str(message['data']) },room="test")
...