как отображать и воспроизводить двоичные данные, которые меняются каждую секунду

#javascript #python #html #http-live-streaming #live-streaming

Вопрос:

я соскабливаю прямую трансляцию с одного website.in очистка прямого эфира я использую подключение websocket к серверу, и сервер выдает мне двоичные данные прямого эфира каждую секунду. мой код на python выглядит следующим образом:-

     import websocket
try:
    import thread
except ImportError:
    import _thread as thread
import time
from base64 import b64encode
import requests
import base64 
import json

def on_message(ws, message):
    try:
        json.loads(message)
        print(message)
        print("json found")
    except ValueError:
        test={}    
        f = open("data.mp4","ab") # write or append we can do anything
        f.write(message)
    
    # f = open("data.mp4","ab")
    # f.write(message)
# 
def on_error(ws, error):
    print("on error")
    print(error)

def on_close(ws,d,c):
    print(d)
    print(c)
    print("### closed ###")

def on_open(ws):
    print("open")
    def run(*args):    
        while True:
            ws.send("Hello")
        print("thread terminating...")
    thread.start_new_thread(run, ())

def connect():
    ws = websocket.WebSocketApp("wss://bintu-h5live-secure.nanocosmos.de/h5live/authstream/stream.mp4/?url=rtmp://bintu-splay.nanocosmos.de:1935/splayamp;stream=Av7gf-8VFKdamp;cid=788213amp;pid=15225378643amp;token=498926e198c330ffcb8e25e7470fe1a6+eea9c39334dca9b5aa2d7d31ed28abf2amp;expires=1622528020amp;options=13amp;tag=teen20",
                              on_open = on_open,on_message=on_message,on_error=on_error,on_close=on_close)

    ws.run_forever(origin="https://beeta777.com")
 

здесь проблема в том, что я хочу показывать прямую трансляцию на своем веб-сайте. как я могу показать это на своем веб-сайте ?

Комментарии:

1. Я думаю, что для этого вам придется проделать большую работу, хотя мы не могли бы помочь вам в переполнении стека или использовать FFMPEG и оболочку Python вокруг нее, что может помочь reddit.com/r/ffmpeg/comments/6926ty/…

2. вероятно, если бы вы отправили его обычным способом, вам понадобился бы только тег <video> , а браузер сделал бы все остальное. Если вы отправите его в websocket, вам придется написать код на JavaScript, который будет получать данные из сокета и обновлять изображение Canvas или заменять изображение как base64 в <img src="data: base64 ... ">

3. Не могли бы вы, пожалуйста, прислать код js для этого ? Извлеките данные с моего сервера python websocket, обслужите и поместите их на html-страницу . Я пробовал раньше, но не получилось

4. Что ты пробовал? Каким образом это не работает?

5. Я просто добавляю тег видео . Src в качестве моего поля видео mp4, которое постоянно добавляется, но html-страница не загружает новые данные, поэтому, когда мы обновляем новые данные, статистика начинается с первой секунды, а не с последней секунды, когда видео приостановлено.