卡夫卡与socket通信的流媒体视频

2024-04-19 02:01:16 发布

您现在位置:Python中文网/ 问答频道 /正文

嗯,基本上我想做的是用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。你知道吗


Tags: kafkainstanceimportipmessagetopicserversocket