Metadata-Version: 2.1
Name: Online-UniConverter-python
Version: 2.0.0.0
Summary: Python REST API wrapper for media.io
Home-page: https://github.com/Online-UniConverter/Online-UniConverter-python
Author: wucm
Author-email: wucm@300624.cn
License: UNKNOWN
Description: # Online-UniConvert-python
        
        This is the official Python SDK v2 for the [Online UniConverter](https://developer.media.io/) _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**
        ```python
        ### 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**
        
        <br>
        
        #### ***Uploading Files***
        
        Uploads to UniConvert are done via `import/upload` tasks (see the [docs](https://developer.media.io/import-upload.html)). This SDK offers a convenient upload method:
        
        ```python
        
        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.
        
        ```python
        
        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.
        ```python
        
        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.
        
        ```python
        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**
        * [API Doc](https://developer.media.io/api-introduction.html)
        * [API Price](https://developer.media.io/api-pricing.html)
        * [Support Format](https://developer.media.io/api-formats.html)
        * [Feedback](mailto:onlineuniconverter@service.wondershare.com)
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3
Description-Content-Type: text/markdown
