Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/sw360cab/pyup-transcoder

a Python-based software to transcode videos and upload files to a remote server or S3-bucket
https://github.com/sw360cab/pyup-transcoder

Last synced: 26 days ago
JSON representation

a Python-based software to transcode videos and upload files to a remote server or S3-bucket

Awesome Lists containing this project

README

        

#pyup-transcoder
> a Python-based software to transcode videos and upload files to a remote server or S3-bucket

##Usage
~$ python transcoder.py -h
usage: transcoder.py [-h] -in INPUT [-out OUTPUT] [-r] [-t] [-up]
[-via {ftp,s3}] [-ftphost HOST] [-ftpport PORT]
[-ftpusername USERNAME] [-ftppassword PASSWORD]
[-ftpbasedir BASEDIR] [-ftppath PATH] [-s3keyid S3KEYID]
[-s3secretkey S3SECRETKEY] [-s3bucket BUCKET]

A simple transcoder and uploader software

optional arguments:
-h, --help show this help message and exit
-in INPUT, --input INPUT
input folder
-out OUTPUT, --output OUTPUT
optional output folder
-r, --removelocal remove created files after execution
-t, --transcode whether to transcode or not
-up, --upload whether to upload or not
-via {ftp,s3} upload with [ftp] or [s3]
-ftphost HOST FTP host
-ftpport PORT FTP port
-ftpusername USERNAME
FTP username
-ftppassword PASSWORD
FTP password
-ftpbasedir BASEDIR FTP base directory to connect to
-ftppath PATH FTP destination path to be created
-s3keyid S3KEYID Your AWS Access Key ID
-s3secretkey S3SECRETKEY
Your AWS Secret Access Key
-s3bucket BUCKET S3 bucket name
-f, --externalfile whether parameters should be taken from an external
file
-extpath EXTPATH, --externalfilepath EXTPATH
path of external file contining parameters

_Note_ configuration parameters from command line take precedence over file ones.

## Trasconde

Trascoding is performed using GStreamer framework.
Videos are encoded using a pipeline with the following features:

* H.264/AVC as video codec
* AAC as audio codec
* MP4 as container

A custom GStreamer pipeline can be provided via file (A basic knowledge of GStreamer is required)

## Upload

Upload is allowed via:

* FTP (authenticated/anonymous)
* Amazon Web Services S3 (exinsting/new Bucket)

Credentials and several options can be provided via file

## TODO
* OO version
* GStreamer via gst-python lib
* GUI
* FTP TLS