Skip to main content

Daemon for transcoding audio/video with an http API written in python

Project description

# Video transcoding daemon

This project implements a daemon that wraps ffmpeg for video transcoding and listens for jobs over http.
Intended to be used as backend for web applications that deal with video encoding in any way so they don't
have to mess with the long running background processes, queueing and ffmpeg command line parameters.

To use this you create a config file that defines which applications can use which directory for media and
the encoding profiles the applications can use.

An example configuration:

```conf
[general]
port=12380
listen=127.0.0.1

[user-mediacenter]
password=verysecret
paths=/mnt/storage/videos
callback=http://127.0.0.1/transcode-callback

[profile-h264]
container=mkv
vcodec=h264
vpolicy=always
acodec=aac
apolicy=always
vbitrate=2M
vbitratemax=3M
abitrate=192k
abitratemax=1M
```

This defines the user `mediacenter` with the password `verysecret` which can start transcoding jobs in any path starting
with `/mnt/storage/videos`. It also defines a callback url for reporting job progress to the requesting application.

It also defines the profile called `h264` which always encodes to h264+aac in a mkv container.

The default policy for transcoded is to transcode as little as possible unless explicitly configured to transcode anything.
The default config doesn't transcode the stream if the source codec matches the destination codec(s). It does always
recreate the container for the streams.

It is possible to define multiple output codecs seperated by a comma, in that case it won't transcode if the source codec
matches any of the listed codecs. If the source doesn't match any codec then it will transcode it to the first specified
codec.

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

python-transcoded-0.4.2.tar.gz (8.7 kB view details)

Uploaded Source

Built Distribution

python_transcoded-0.4.2-py3-none-any.whl (11.2 kB view details)

Uploaded Python 3

File details

Details for the file python-transcoded-0.4.2.tar.gz.

File metadata

File hashes

Hashes for python-transcoded-0.4.2.tar.gz
Algorithm Hash digest
SHA256 5e5848d7187ae9db6818e62d73291eaa61c4321f984eecfe2752ca4146632eed
MD5 f7453d34bdc8e751ccb1a9eb04c20b92
BLAKE2b-256 b7ddd928af8bf31fdfd2234a4113e3c6c8a2530ee587158467d2d0b234faec3b

See more details on using hashes here.

File details

Details for the file python_transcoded-0.4.2-py3-none-any.whl.

File metadata

File hashes

Hashes for python_transcoded-0.4.2-py3-none-any.whl
Algorithm Hash digest
SHA256 282308fa2f0ad4dd8589a1cf2b70b00a80abadca9eca31a57193e1acea5cfccd
MD5 f066df7f383c9c461f48a50cc11fa312
BLAKE2b-256 b6a6cfb396815c2d06facda043f1bf3139effa8af62a15bd2ff09a50515288a3

See more details on using hashes here.

Supported by

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