Python REST API wrapper for media.io
Project description
Online-UniConvert-python
This is the official Python SDK v2 for the Online UniConverter API v2.
Installation
pip install Online-UniConverter-python
Creating API Client
import mediaio
mediaio.configure(api_key = 'API_KEY')
Or set the environment variable MEDIAIO_API_KEY
and use:
import mediaio
mediaio.default()
Useage
You have tow way to use UniConvert SDK.
1.Facade mode
### init media.io convert env import os import mediaio config = { 'api_key' : 'api_key', 'endpoint': 'https://api.media.io', } mediaio.configure(**config) # test convert video from mov to mp4 file_info = mediaio.convertFile('56.mp4', 'mp4', 'mov') mediaio.download(file_info['url'], os.path.join('output' , file_info['filename']) # convert mp4 to mp3 file_info = mediaio.convertFile('56.mp4', 'mp4', 'mp3') mediaio.download(file_info['url'], os.path.join('output' , file_info['filename']) # convert png to bmp file_info = mediaio.convertFile('56.png', 'png', 'bmp') mediaio.download(file_info['url'], os.path.join('output' , file_info['filename']) # compress video file_info = mediaio.compressVideo('11.mp4', 'mp4', ratio=0.9) print(file_info) mediaio.download(file_info['url'], os.path.join('output' , file_info['filename'])) # compress audio file_info = mediaio.compressAudio('2.mp3', 'mp3', bitrate=96) print(file_info) mediaio.download(file_info['url'], os.path.join('output', file_info['filename'])) # compress png file_info = mediaio.compressImage('13.png', 'png') print(file_info) mediaio.download(file_info['url'], os.path.join('output', file_info['filename'])) # need progress def convertCallback(step, progress): print(step, progress) file_info = mediaio.convertFile('56.mp4', 'mp4', 'mov') mediaio.download(file_info['url'], os.path.join('output' , file_info['filename'], progress=convertCallback) ## advanceParams advanceParams = { "videoParams":{ 'enable': True, 'encode':'H264', 'resolution':'640*360', 'bitrate':'1500kbps', 'frameRate':'12fps', }, "audioParams":{ 'enable': True, 'encode': 'AC-3', 'bitrate': '96kbps' } } file_info = mediaio.convertFile('56.mp4', 'mp4', 'mp4', advanceParams=advanceParams) mediaio.download(file_info['url'], os.path.join('output' , file_info['filename'])
2. DIY mode
Uploading Files
Uploads to UniConvert are done via import/upload
tasks (see the docs). This SDK offers a convenient upload method:
import os from mediaio.task import Task config = { 'api_key' : 'api_key', 'endpoint': 'https://api.media.io', } mediaio.configure(**config) task = Task.create(operation='import/upload') if task['code'] >0: raise Exception(task['msg']) result = Task.upload(file_name=urlOrFile, task=task)
Convert File
UniConvert can convert file after you uploaded file for using convert
tasks. You can use Task.wait
wait for task is finish.
payload ={ 'input': result['data']['id'], 'input_format': input_format, 'output_format': output_format, } if advanceParams: payload.update(advanceParams) task = Task.create(operation='convert', payload=payload) if (task['code'] > 0): raise Exception(task['msg']) result = Task.wait(task['data']['id'])
Compress File
UniConvert can convert file after you uploaded file for using compress
tasks. You can use Task.wait
wait for task is finish.
payload = { 'input': task_id, 'input_format': input_format, 'output_format': input_format, 'ratio': 0.2 } task = Task.create(operation='compress', payload=payload) if (task['code'] > 0): raise Exception(task['msg']) return Task.wait(task['data']['id'])
Downloading Files
UniConvert can generate public URLs for using export/url
tasks. You can use the SDK to download the output files when the task is finished.
from mediaio.task import Task task_id = '{task_id}' task = Task.create(operation='export/url', payload={'input': task_id}) result = Task.wait(task['data']['id']) fileInfo = result['data']['result']['files'][0]
Resource
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for Online-UniConverter-python-2.0.0.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 22e6062976cdb146b0dd790a6f6e923251a60db476a29b685f5feee6651ef068 |
|
MD5 | 800e07a576b0653a96f36aa475968e4c |
|
BLAKE2-256 | 8467e1c518050b66c3104f7efe91e78ef608113038bfc9ab744de63f65fb891d |
Hashes for Online_UniConverter_python-2.0.0.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ceed1da78a2a6cb9ddbe7a118fcc0e246a1131058c8f5084361d97e89845c70e |
|
MD5 | 880814230cabe9ee59bea2b82641a8ea |
|
BLAKE2-256 | cd063bc43a72eb4ef2e3fe119ec4e93b0baf585576a01959d77859c14c59bede |