Python 使用kafka和socket通信的流式视频
嗯,基本上我想做的是用vlc流式传输视频。我通过kafka服务器传递视频字节,并通过套接字UDP将它们发送到我的本地主机的端口。我使用wireshark,它说数据正在到达,因为我可以看到我发送的数据的大小。虽然,我无法通过vlc访问视频流Python 使用kafka和socket通信的流式视频,python,sockets,apache-kafka,udp,vlc,Python,Sockets,Apache Kafka,Udp,Vlc,嗯,基本上我想做的是用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 NA
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访问视频流。更新:我可以访问发送给我的字节数据。当我将视频保存为.ts文件并在vlc或任何其他媒体播放器中运行时,视频运行良好。虽然,我真正想要的是通过vlc中的流网络通过udp://127.0.0.1:PORT更新:我可以访问发送给我的字节数据。当我将视频保存为.ts文件并在vlc或任何其他媒体播放器中运行时,视频运行良好。虽然,我真正想要的是通过vlc中的流网络通过udp://127.0.0.1:PORTVLC提供了广泛的流媒体选项,那么,为什么选择卡夫卡呢?卡夫卡被用来从另一台计算机以字节形式发送视频。我正在设计一个手术摄像系统。因此,我们需要不同的计算机从同一服务器接收数据并发送到同一服务器。Kafka可以更好地管理这个流。Kafka是一个分布式消息代理。您的数据将跨分区分布。您不能期望全局排序。因此,您最好找到一种不同的解决方案来流式传输视频。VLC提供了广泛的流式传输选项,那么,为什么选择卡夫卡呢?卡夫卡被用来从另一台计算机以字节为单位发送视频。我正在设计一个手术摄像系统。因此,我们需要不同的计算机从同一服务器接收数据并发送到同一服务器。Kafka可以更好地管理这个流。Kafka是一个分布式消息代理。您的数据将跨分区分布。您不能期望全局排序。因此,您最好找到不同的解决方案来流式传输视频。