Ну, по сути, я пытаюсь транслировать видео с помощью vlc. Я передаю видео байты через сервер kafka и я посылаю их через сокет UDP на порт, который я являюсь моим локальным. Я использовал wireshark, и он говорит, что данные поступают, так как я вижу размер данных, которые я отправлял. Хотя я не могу получить доступ к видеопотоку через vlc.
import time
import socket
import vlc
import sys
from kafka import KafkaConsumer
import numpy as np
TOPIC_KAFKA_SERVER = "TOPIC NAME"
IP_KAFKA_SERVER = 'IP'
PORT_KAFKA_SERVER = '9092'
# INITIALIZE CONSUMER from earliest
consumer = KafkaConsumer(TOPIC_KAFKA_SERVER,bootstrap_servers=[IP_KAFKA_SERVER + ':' + PORT_KAFKA_SERVER], auto_offset_reset='earliest')
#sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM,socket.IPPROTO_UDP)
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM,socket.IPPROTO_UDP)
def exibitImages():
#print('Test later with video using udp://127.0.0.1:37000')
#i = 1
for message in consumer:
#print(type(message),len(message.value))
sock.sendto(message.value, ('localhost', 37000))
#print("message sent!")
"""
if i > 0:
Instance = vlc.Instance()
player = Instance.media_player_new()
media = Instance.media_new('udp://127.0.0.1:37000')
player.set_media(media)
player.play()
i = 0
"""
#time.sleep(1)
if __name__ == "__main__":
exibitImages()
В основном проблема с сокетом udp. Кафка работает хорошо. Я не могу получить доступ к потоковому видео с помощью vlc.