Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Online-UniConverter-python-2.0.0.0.tar.gz (10.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

Online_UniConverter_python-2.0.0.0-py3-none-any.whl (12.6 kB view details)

Uploaded Python 3

File details

Details for the file Online-UniConverter-python-2.0.0.0.tar.gz.

File metadata

  • Download URL: Online-UniConverter-python-2.0.0.0.tar.gz
  • Upload date:
  • Size: 10.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.2.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.5

File hashes

Hashes for Online-UniConverter-python-2.0.0.0.tar.gz
Algorithm Hash digest
SHA256 22e6062976cdb146b0dd790a6f6e923251a60db476a29b685f5feee6651ef068
MD5 800e07a576b0653a96f36aa475968e4c
BLAKE2b-256 8467e1c518050b66c3104f7efe91e78ef608113038bfc9ab744de63f65fb891d

See more details on using hashes here.

File details

Details for the file Online_UniConverter_python-2.0.0.0-py3-none-any.whl.

File metadata

  • Download URL: Online_UniConverter_python-2.0.0.0-py3-none-any.whl
  • Upload date:
  • Size: 12.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.2.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.5

File hashes

Hashes for Online_UniConverter_python-2.0.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ceed1da78a2a6cb9ddbe7a118fcc0e246a1131058c8f5084361d97e89845c70e
MD5 880814230cabe9ee59bea2b82641a8ea
BLAKE2b-256 cd063bc43a72eb4ef2e3fe119ec4e93b0baf585576a01959d77859c14c59bede

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page