我是这个蟒蛇的新手。我将webm视频文件拆分成块,但我无法使用python程序将它们单独播放。但是在我将块加入单个文件后播放它。我知道它是由于没有头文件。请帮助我使用代码将头文件附加到部件上,使其可以单独播放。请回复。非常感谢提前。
以下是代码:
客户方:
import socket, os
import time
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client_socket.connect(("localhost", 5005))
size = 1024
while True:
fname = "/home/xincoz/test/conn2.webm"
fn = client_socket.recv(1024)
print fn
fp = open(fname,'wb')
while True:
strng = client_socket.recv(int(fn))
print strng
if not strng:
break
fp.write(strng)
fp.close()
print "Data Received successfully"
exit()
服务器端:
import os,kaa.metadata
import sys,time
import socket
import Image
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_socket.bind(("localhost", 5005))
server_socket.listen(5)
client_socket, address = server_socket.accept()
print "Conencted to - ",address,"\n"
file = '/home/xincoz/Downloads/connect.webm'
a = kaa.metadata.parse(file)
print '\n Maybe, pending work'
file_name = open(file,'rb')
size=str(os.path.getsize(file))
print size
client_socket.send(str(os.path.getsize(file)))
print file_name
strng = file_name.read(os.path.getsize(file))
client_socket.send(strng[0:2000000])
file_name.close()
print str(a)+"Meta Data"
print "Data sent successfully"
答案 0 :(得分:0)
我对.webm格式并不太熟悉,但如果有类似.avi文件,我怀疑是否将数据删除不完整并将其保存到文件就足够了。我假设[0:2000000]是你限制尺寸的地方?如果它像.avi那样你的文件应该使用服务器上的ffmpeg或mencoder等工具正确分割,然后将完整输出的文件发送到客户端,而不是过早地删除数据。