File tree Expand file tree Collapse file tree 4 files changed +76
-2
lines changed Expand file tree Collapse file tree 4 files changed +76
-2
lines changed Original file line number Diff line number Diff line change @@ -25,7 +25,11 @@ client = qencode.client(API_KEY)
25
25
client.create()
26
26
27
27
task = client.create_task()
28
- task.start(TRANSCODING_PROFILEID, VIDO_URL)
28
+ task.start(TRANSCODING_PROFILEID, VIDEO_URL)
29
+
30
+
31
+ #getting video metadata:
32
+ metadata = client.get_metadata(VIDEO_URL)
29
33
30
34
````
31
35
Original file line number Diff line number Diff line change 1
1
from httptools import Http
2
2
from task import Task
3
+ from metadata import Metadata
3
4
4
5
class QencodeApiClient (object ):
5
6
@@ -42,4 +43,9 @@ def _get_access_token(self):
42
43
else :
43
44
self .error = response ['error' ]
44
45
self .code = response ['error' ]
45
- self .message = response .get ('message' )
46
+ self .message = response .get ('message' )
47
+
48
+ def get_metadata (self , uri ):
49
+ metadata = Metadata (self .access_token , self .connect )
50
+ video_info = metadata .get (uri )
51
+ return video_info
Original file line number Diff line number Diff line change
1
+ from task import *
2
+ from qencode import QencodeTaskException
3
+ import urllib2
4
+
5
+ class Metadata (Task ):
6
+
7
+ def get (self , uri ):
8
+ params = """
9
+ {"query": {
10
+ "source": "%s",
11
+ "format": [ {"output": "metadata", "metadata_version": "4.1.5"} ]
12
+ }
13
+ }
14
+ """ % uri
15
+ self .custom_start (params )
16
+ while True :
17
+ status = self .status ()
18
+ # print status
19
+ # print json.dumps(status, indent=2, sort_keys=True)
20
+ if status ['error' ] or status ['status' ] == 'completed' :
21
+ break
22
+ time .sleep (5 )
23
+
24
+ if self .error :
25
+ raise QencodeTaskException (self .message )
26
+
27
+ url = None
28
+ if len (status ['videos' ]) > 0 :
29
+ url = status ['videos' ][0 ]['url' ]
30
+ elif len (status ['audios' ]) > 0 :
31
+ url = status ['audios' ][0 ]['url' ]
32
+
33
+ if url is None :
34
+ raise QencodeTaskException ('No metadata URL found in status response' )
35
+
36
+ data = urllib2 .urlopen (url ).read ()
37
+
38
+ return data
39
+
40
+
Original file line number Diff line number Diff line change
1
+ #!/usr/bin/python
2
+ # -*- coding: utf-8 -*-
3
+
4
+ import sys
5
+ import os .path
6
+ sys .path .append (os .path .abspath (os .path .join (os .path .dirname (__file__ ), os .path .pardir )))
7
+ import qencode
8
+ from qencode import QencodeClientException
9
+
10
+ #replace with your API KEY (can be found in your Project settings on Qencode portal)
11
+ API_KEY = 'your-api-qencode-key'
12
+ VIDEO_URL = 'https://nyc3.s3.qencode.com/qencode/bbb_30s.mp4'
13
+
14
+ client = qencode .client (API_KEY )
15
+ if client .error :
16
+ raise QencodeClientException (client .message )
17
+
18
+ print 'The client created. Expire date: %s' % client .expire
19
+
20
+ metadata = client .get_metadata (VIDEO_URL )
21
+ print ('Metadata: ' + metadata )
22
+
23
+
24
+
You can’t perform that action at this time.
0 commit comments