python视频流显示包

时间:2015-10-15 15:08:19

标签: python sockets video-streaming

我正在开展一个网络课程项目,我必须创建一个视频流服务器。我发现this link是一个简单的python客户端/服务器套接字二进制流,看起来非常有用。我可以通过网络将视频文件作为数据包发送,但接收方将传入的数据包保存为文件。我想将传入的数据包显示为视频流(最好是使用HTML在Web浏览器上),而不是写入文件。请提出一些可行的方法。感谢。

在我做项目时,我想从头开始创建一个流媒体服务器,而不是像Flumotion那样使用现有的实现。

以下是发送方和接收方的代码:

发送方:

import socket

HOST = 'localhost'
PORT = 9876
ADDR = (HOST,PORT)
BUFSIZE = 4096
videofile = "./test2.mp4"

bytes = open(videofile).read()

print len(bytes)

client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client.connect(ADDR)

client.send(bytes)

client.close()

接收方:

import socket

HOST = ''
PORT = 9876
ADDR = (HOST,PORT)
BUFSIZE = 4096

serv = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

serv.bind(ADDR)
serv.listen(5)

print 'listening ...'

while True:
    conn, addr = serv.accept()
    print 'client connected ... ', addr
    myfile = open('testfile.mov', 'w')

    while True:
        data = conn.recv(BUFSIZE)
        if not data: break
        myfile.write(data)
        print 'writing file ....'

    myfile.close()
    print 'finished writing file'
    conn.close()
    print 'client disconnected'

0 个答案:

没有答案