Потоковое видео с кафкой и сокетом связи - PullRequest
0 голосов
/ 09 октября 2019

Ну, по сути, я пытаюсь транслировать видео с помощью 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.

1 Ответ

0 голосов
/ 10 октября 2019

обновление: я могу получить доступ к данным в байтах, которые были отправлены мне. Видео работает нормально, когда я сохраняю его как файл .ts и запускаю в vlc или любом другом медиаплеере. Хотя я действительно хотел получить доступ через потоковую сеть в vlc через udp: //127.0.0.1: PORT

...