2013-06-24 3 views
3

나는이 파이썬에 초보자입니다. webm 비디오 파일을 덩어리로 나눠서 만들었지 만 파이썬 프로그램을 사용하여 개별적으로 재생할 수는 없었습니다.하지만 청크를 하나의 파일에 결합한 후에 재생됩니다. 나는 헤더 파일의 부재로 인해 그것을 안다. 개별적으로 재생할 수 있도록 부품에 헤더 파일을 첨부하는 코드를 알려주십시오. 회신 해주십시오. 많은 감사드립니다. 여기 비디오 파일을 분할하고 개별적으로 재생 가능하게하기

코드입니다 :

클라이언트 측 :

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" 
+1

안녕하세요. SO! 이미 시도한 것을 볼 수 있도록 몇 가지 코드 예제를 게시하십시오. – danodonovan

+0

코드도 포맷하십시오. 읽을 수 없다. –

+0

질문을 Python 2.7 및 Python 3.x로 태그 처리했습니다. 난 정말 당신의 코드가 둘 다에서 실행 의심. ** ** 당신은 어느 것을 사용하고 있습니까? – icktoofay

답변

0

i를 .webm 형식에 너무 익숙하지 않은,하지만 경우는 이런 건입니다 .avi 파일 불완전한 데이터를 자르고 파일로 저장하는 것으로 충분할 것입니다. 나는 [0 : 2000000]이 당신이 크기를 제한하는 곳이라고 생각하니? .avi와 같으면 서버의 ffmpeg 또는 mencoder와 같은 도구를 사용하여 파일을 적절히 분할 한 다음 데이터를 조기에 잘라내는 대신 클라이언트로 전체 출력 파일을 보내야합니다.

관련 문제