33** Usage by transcoding profile ID**
44
55````
6- from qencode import encoder, task
6+ import sys
7+ import os.path
8+ sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), os.path.pardir)))
9+ import qencode
710import time
811
9- API_KEY = 'Your Api Key'
10- TRANSCODING_PROFILEID = 'Your Profile ID'
1112
12- VIDO_URL = 'Sourse Video Url'
13- API_URL = 'https://qa.qencode.com'
13+ API_KEY = 'Your API KEY'
14+ TRANSCODING_PROFILEID = 'Your profile ID'
15+ VIDO_URL = 'your source url'
16+
1417
1518
1619def start_encode():
1720 """
18- Create encoder object
19- :param api_key: string
21+ Create client object
22+ :param api_key: string. required
2023 :param api_url: string. not required
21- :return: encode object
24+ :param api_version: int. not required. default 'v1'
25+ :return: client object
2226 """
23- encoder_obj = encoder (API_KEY, api_url=API_URL )
24- encoder_obj.create_encoder ()
25- if encoder_obj .error:
26- print 'encoder error:', encoder_obj .error, encoder_obj .message
27+ client = qencode.client (API_KEY)
28+ client.create ()
29+ if client .error:
30+ print 'encoder error:', client .error, client .message
2731 raise SystemExit
2832
2933 """
30- Create task
31- :param access_token: string. access_token from encoder object
32- :param connect: string. connect object from encoder object
3334 :return: task object
3435 """
35- task_obj = task(encoder_obj.access_token, encoder_obj.connect)
36- task_obj.start(TRANSCODING_PROFILEID, VIDO_URL)
37- if task_obj.error:
36+ task = client.create_task()
37+ task.start_time = 0.0
38+ task.duration = 10.0
39+ task.start(TRANSCODING_PROFILEID, VIDO_URL)
40+ if task.error:
41+ print 'task error:', task.error, task.message
3842 raise SystemExit
3943
4044 while True:
41- status = task_obj.status()
42- print status
45+ status = task.status()
46+ print '{0} | {1} | {2} | error: {3}'.format(VIDO_URL,
47+ status.get('status'),
48+ status.get('percent'),
49+ status.get('error'),
50+ status.get('error_description'))
4351 if status['error']:
4452 break
4553 if status['status'] == 'completed':
4654 break
4755 time.sleep(15)
4856
57+
4958if __name__ == '__main__':
5059 start_encode()
5160````
5261
5362** Usage by custom parameters**
5463
5564````
56- from qencode import encoder, task, custom_params
65+ import sys
66+ import os.path
67+ sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), os.path.pardir)))
68+ import qencode
5769import time
5870
59- API_KEY = 'Your Api Key'
60- API_URL = 'https://qa.qencode.com'
71+ API_KEY = 'Your API KEY'
6172
62- format = custom_params.format
63- stream = custom_params.stream
64- destination = custom_params.destination
65- video_codec = custom_params.x264_video_codec
66- params = custom_params.base
73+ params = qencode.custom_params()
6774
68- destination.url = "s3://s3-eu-west-2.amazonaws.com/qencode-test"
69- destination.key = "AKIAIKZIPSJ7SDAIWK4A"
70- destination.secret = "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"
75+ FORMAT = qencode.format()
76+ STREAM = qencode.stream()
77+ DESTINATION = qencode.destination()
78+ VIDEO_CODEC = qencode.x264_video_codec()
7179
72- video_codec.vprofile = "baseline"
73- video_codec.level = 31
74- video_codec.coder = 0
75- video_codec.flags2 = "-bpyramid+fastpskip-dct8x8"
76- video_codec.partitions = "+parti8x8+parti4x4+partp8x8+partb8x8"
77- video_codec.directpred = 2
7880
79- stream.size = "1920x1080 "
80- stream.audio_bitrate = 128
81- stream.video_codec_parameters = video_codec
81+ DESTINATION.url = "... "
82+ DESTINATION.key = "..."
83+ DESTINATION.secret = "..."
8284
83- format.stream = [stream]
84- format.output = "advanced_hls"
85- format.destination = destination
85+ VIDEO_CODEC.vprofile = "baseline"
86+ VIDEO_CODEC.level = 31
87+ VIDEO_CODEC.coder = 0
88+ VIDEO_CODEC.flags2 = "-bpyramid+fastpskip-dct8x8"
89+ VIDEO_CODEC.partitions = "+parti8x8+parti4x4+partp8x8+partb8x8"
90+ VIDEO_CODEC.directpred = 2
8691
87- params.source = 'https://qa.stagevids.com/static/1.mp4'
88- params.format = [format]
92+ STREAM.profile = "baseline"
93+ STREAM.size = "1920x1080"
94+ STREAM.audio_bitrate = 128
95+ STREAM.video_codec_parameters = VIDEO_CODEC
8996
97+ FORMAT.stream = [STREAM]
98+ FORMAT.output = "advanced_hls"
99+ FORMAT.destination = DESTINATION
100+
101+ params.source = 'your source url'
102+ params.format = [FORMAT]
90103
91104
92105def start_encode():
93106
94107 """
95- Create encoder object
96- :param api_key: string
97- :param api_url: string. not required
98- :return: encode object
99- """
100- encoder_obj = encoder(API_KEY, api_url=API_URL)
101- encoder_obj.create_encoder()
102- if encoder_obj.error:
103- print 'encoder error:', encoder_obj.error, encoder_obj.message
108+ Create client object
109+ :param api_key: string. required
110+ :param api_url: string. not required
111+ :param api_version: int. not required. default 'v1'
112+ :return: client object
113+ """
114+ client = qencode.client(API_KEY)
115+ client.create()
116+ if client.error:
117+ print 'encoder error:', client.error, client.message
104118 raise SystemExit
105119
106120 """
107- Create task
108- :param access_token: string. access_token from encoder object
109- :param connect: string. connect object from encoder object
110- :return: task object
111- """
112- task_obj = task(encoder_obj.access_token, encoder_obj.connect )
113- task_obj.custom_start(params)
114- if task_obj.error:
121+ Create task
122+ :return: task object
123+ """
124+
125+ task = client.create_task()
126+ task.custom_start(params )
127+ if task.error:
128+ print 'task error:', task.error, task.message
115129 raise SystemExit
116130
117131 while True:
118- status = task_obj.status()
119- print status
132+ status = task.status()
133+ print '{0} | {1} | {2} | error: {3}'.format(params.source,
134+ status.get('status'),
135+ status.get('percent'),
136+ status.get('error'),
137+ status.get('error_description'))
120138 if status['error']:
121139 break
122140 if status['status'] == 'completed':
@@ -125,7 +143,7 @@ def start_encode():
125143
126144
127145if __name__ == '__main__':
128- start_encode()
146+ start_encode()
129147````
130148** Usage with callback methods**
131149
@@ -138,12 +156,12 @@ def my_callback2(e):
138156
139157...
140158
141- task_obj .start(TRANSCODING_PROFILEID, VIDO_URL)
142- if task_obj .error:
159+ task .start(TRANSCODING_PROFILEID, VIDO_URL)
160+ if task .error:
143161 raise SystemExit
144162
145- task_obj .progress_changed(my_callback)
146- task_obj .task_completed(my_callback2)
163+ task .progress_changed(my_callback)
164+ task .task_completed(my_callback2)
147165````
148166
149167** Documentation**
0 commit comments