2013-11-03 52 views
0

我想要构建一个小python脚本来编译视频并上传到vimeo。真正在9/10左右的路上。 它的授权,检查上传配额,获取上传权证,通过流媒体上传,检查块大小。所有这些都很好。但是当我尝试呼叫上传完成时,它将返回Vimeo上传完整的返回708文件错误(python)

('complete upload response', '{"generated_in":"2.4796","stat":"fail","err": 
{"code":"708","expl":"The file could not be saved. Try again.","msg":"File error"}}\n') 

这是将视频文件加载到二进制文本中的代码。这是什么装入HTML标题上上传:

def load_video_to_bytes(self, file_name): 
    with open(file_name, 'rb') as f: 
     byte = f.read() 
    return byte 

上传通话

def call_upload_file(self, session, ticket_info, file, file_size): 
    session.headers['Content-Type'] = 'video/mp4' 
    session.headers['Content-Length'] = file_size 
    response = session.put(ticket_info['endpoint_secure'], data=file) 
    return response 

其中会话是rauth会议 然后调用完成上传

def call_upload_complete(self, session, ticket_id, filename): 
    params = {'method': 'vimeo.videos.upload.complete', 
       'oauth_token': session.access_token, 
       'ticket_id': ticket_id, 
       'filename': filename} 
    response = self.execute_method(session, params) 
    return response 

这里的所有代码都在要点 https://gist.github.com/anonymous/7285498

是不是加载的二进制数据?

谢谢,

+0

查看http://stackoverflow.com/questions/12265951/vimeo-api-error-708 –

+0

谢谢Tim。我确实尝试切换到常规端点,但它没有做任何不同的事情。 – shelbydz

+0

想一想更多,我猜想我的视频样本可能不适合Vimeo的正确格式。我上传的那个是用avconv进行处理和转换的。我会用已知的本地mp4试试这个,看看会发生什么。 – shelbydz

回答

0

有几种解决块错误的方法。

首先,您应该确保Vimeo对您的视频没有任何问题,请尝试在网站上手动上传示例。如果现场上传工作,API应该可以工作。如果它不起作用,让Vimeo知道。在上传过程中,我没有遇到任何视频被拒绝的情况,所以我怀疑这是问题所在。

第二,你应该问vimeo你的上传成功了多少。上传流程的验证步骤(https://developer.vimeo.com/apis/advanced/upload#streaming-step4)允许您提出这个问题。如果您没有按顺序上传视频,或者字节被丢弃,您可能会看到块错误。