python - 通过Kafka和套接字通信流式传输视频

标签 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 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或任何其他媒体播放器中运行时,视频运行正常。虽然,我真正想要的是通过udp://127.0.0.1:PORT在vlc中通过流网络访问

关于python - 通过Kafka和套接字通信流式传输视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58310886/

相关文章:

python - Pyaudio 从流式 Python 录制音频

hadoop - 卡夫卡的消费者无法开始

apache-kafka - 高级消费者上的 commitOffsets 是否会阻塞?

python - 使用 Plotly Dash for Python 进行 JBeans (JMX) 监控

python - 如何验证变量是否在两个指定数字之间?

python - SQLAlchemy:如何以编程方式创建关系

python - RDD 转换图,Python

c - 网络编程通过c编译执行但不打印IP地址...!

c# - SSL 认证适用于 localhost 但不适用于计算机名或 ip

apache-kafka - 如何在 kubernetes 上为 Kafka 多代理设置指定广告监听器并对外公开集群?