优酷视频上传api及demo代码

2018-11-22 08:44:51来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

1,优酷正常上传流程:

1). create:连接开放平台上传接口服务器,服务器端会返回upload_token以及upload_server_uri。
2). create_file:连接上传服务器(通过upload_server_uri解析出上传服务器IP地址,以下所述上传服务器,均指此IP地址对应的服务器)。主要目的是创建上传文件,提交上传文件信息。 
3). new_slice:连接上传服务器,以upload_token作为参数,请求创建slice_task_id,获取第一个上传分片的开始位置offset,分片长度等。 
4). upload_slice:连接上传服务器,上传分片。
5). check: 连接上传服务器,以upland_token作为参数,检查上传任务是否完成。返回结果如下:

* status=1:文件上传完成,并且全部确认写入磁盘;
* status=2:文件上传中,全部分片上传任务已经分派,见返回字段transferred_percent;
* status=3:文件上传中,所有分片上传任务都已完成,但是依然有的分片还未确认写入磁盘,见返回字段confirmed_percent;
* status=4:文件上传中,还有分片上传任务未分配。

6). commit: 连接上传服务器,确认上传过程结束,提交上传任务。

2.续传

1). check:连接上传服务器(客户端需要记录之前通过upload_server_uri解析出的服务器IP地址),检查上传任务是否完成。返回结果如下:

* status=1:文件上传完成,并且全部确认写入磁盘;
* status=2:文件上传中,全部分片上传任务已经分派,见返回字段transferred_percent;
* status=3:文件上传中,所有分片上传任务都已完成,但是依然有的分片还未确认写入磁盘,见返回字段confirmed_percent;
* status=4:文件上传中,还有分片上传任务未分配。
  1. upload(分为两种情况):

    • 如果check返回4,则通过调用new_slice、upload_slice上传分片;
    • 如果check返回2或者3则需等待一段时间(比如:60秒)后再次发出check请求。

 

  2.commit:连接上传接口服务器,确认上传过程结束,提交上传任务。
3.上传阶段
  1).pip install youku/或者去http://cloud.youku.com/down下载优酷python/php/Java的sdk,之后作为模块引入
  2)引入:
    from youku import YoukuUpload
  3)
  

  4)代码:

from youku import YoukuUpload
def test_upload():
    file_info = {
            'title': '测试优酷Python客户端上传' # 必选
            'tags': 'other', # 必选
            'description': 'Polymer video #7' #选填
            }
    youku = YoukuUpload(CLIENT_ID, ACCESS_TOKEN, UPLOAD_FILE)
    youku.upload(file_info)


if __name__ == '__main__':
    test_upload()

 4.视频详细信息

  url= 'https://api.youku.com/videos/show.json'

  方式:GET

  参数:client_id->string(必选),video_id->string(必选),ext->string(选填)

  返回值:

  

  json:

  

{
           "id" : "XNDY5Njc0MTA4",
           "title" : "康熙来了 121101",
           "link" : "http://v.youku.com/v_show/id_XNDY5Njc0MTA4.html",
           "thumbnail" : "http://g2.ykimg.com/01270F1F46509251F539D10123193CD2CB70CC-5896-F53E-B869-61E819861E71",
           "duration" : "2675.36",
           "category" : "综艺",
           "state" : "normal",
           "created" : "2011-07-15 09:00:42",
           "published" : "2011-07-15 09:00:42",
           "description" : "康熙来了",
           "player" : "http://player.youku.com/player.php/sid/XNDY5Njc0MTA4/v.swf",
           "public_type" : "all",
           "copyright_type" : "reproduced",
           "user" :
           {
                   "id" : 58011986,
                   "name" : "康熙来了2010",
                   "link" : "http://i.youku.com/u/UMjMyMDQ3OTQ0"
           },
           "tags": "康熙来了",
           "view_count" : 646437,         
           "operation_limit": [ ],
           "streamtypes": [
                   "hd2",
                   "flvhd",
                   "mp4",
                   "3gp",
                   "3gphd"
               ],               
               "show": {
                   "id": "2ab71ff032cb11e196ac",
                   "name": "康熙来了 2012",
                   "link": "http://www.youku.com/show_page/id_z2ab71ff032cb11e196ac.html",
                   "type": "正片",
                   "seq": "215",
                   "stage": "20121101"
               }
   }

   2.代码

import requests
GET = requests.get
def select_youku(youku_vid):
    url = "https://api.youku.com/videos/show.json?client_id='xxxxx'&video_id=%s" % youku_vid
    video_info = GET(url)#返回视频信息
if __name__ == "__main__":
    select_youku(youku_vid)

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Django之FBV&CBV

下一篇:Python入门学习