優酷視訊上傳api
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:檔案上傳中,還有分片上傳任務未分配。
-
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,之後作為模組引入
from youku import YoukuUpload
3)

4)程式碼:
from config import * 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= ' ofollow,noindex" target="_blank">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)