嗯,基本上我想做的是用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。你知道吗
更新:我可以访问已发送给我的字节数据。当我将视频保存为.ts文件并在vlc或任何其他媒体播放器中运行时,视频运行正常。不过,我真正想要的是通过vlc中的流网络通过udp://127.0.0.1:端口
相关问题 更多 >
编程相关推荐