Skip to main content

transcoder FFmpeg based wrapper

Project description

tabarnak - transcoder FFmpeg based utility tool

Port au Persil

Build Status Pylint codecov HitCount

Description

In the Province of Québec tabarnak is a swear derived from the tabernacle but it is an acronym for:

Transcoder All Basically Accessible Resolutely Not All Klingon

Le tact dans l'audace, c'est de savoir jusqu'où on peut aller trop loin.

Jean Cocteau

This script is used to convert video or video/audio media files to modern codecs such as HEVC, VP9 or AV1 (experimental). It walks into a directory and probes media files for video that are not encoded with specified codec (default HEVC). Then it transcodes them. The idea is to use a more modern codec that has a better quality/bitrate ratio. Resulting files are significantly smaller than original h264, mpeg2, mpeg4 or likely any other formats that they are currently encoded to.

tabarnak uses crf encoding. All channels are copied. The audio is converted by ffmpeg to ogg vorbis by default.

tabarnak won’t delete or clean up your files. It will skip files that are already done. Basic sanity check is performed after encoding and it will print a warning if the input and output size do not match.

If you plan to use your media files with a chrome cast, be sure the buy chromecast ultra since the 3rd generation chromecast does not support HEVC.

Features

  • Easy to use out of the box
    • input & output directory support
    • keep relative path option for transcoding entire hierarchy of media files
  • Basic default configuration for basic codecs such as h264, hevc & vp9
  • Custom configuration workflow using either json or yaml
  • Configurable logging including basic prometheus support
  • Transcoder stats output (yaml)

Usage

Install

pip3 install tabarnak-desjare

Getting help

For help: tabarnak -h

Example usage

transcode all media files recursively using h264 codec and output them output directory

tabarnak --input-dir . --output-dir output --h264

Requirements

I prepared a tutorial video to learn how to do that on Windows 10: https://gist.github.com/desjare/adc1514d46bcb38414a5e2a602f6d12d

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

tabarnak-desjare-0.0.4.tar.gz (15.5 kB view details)

Uploaded Source

Built Distribution

tabarnak_desjare-0.0.4-py3-none-any.whl (26.5 kB view details)

Uploaded Python 3

File details

Details for the file tabarnak-desjare-0.0.4.tar.gz.

File metadata

  • Download URL: tabarnak-desjare-0.0.4.tar.gz
  • Upload date:
  • Size: 15.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.7.9

File hashes

Hashes for tabarnak-desjare-0.0.4.tar.gz
Algorithm Hash digest
SHA256 63abca049589059cd6083abbe8a41c794f879ca28df7c07d8417cd99b41f65a9
MD5 465cc38d5cb0aece871bad0c6646f0e4
BLAKE2b-256 0b563acfc9df7fe91728aceffd1902c10c57de6854bed436b4172f140eb80845

See more details on using hashes here.

File details

Details for the file tabarnak_desjare-0.0.4-py3-none-any.whl.

File metadata

  • Download URL: tabarnak_desjare-0.0.4-py3-none-any.whl
  • Upload date:
  • Size: 26.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.7.9

File hashes

Hashes for tabarnak_desjare-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 fed5a605f7d5337e6855339f0ce06c3a3982fd01f092390492aaf4876ff053b6
MD5 21ed4d1f95973d000e2951c9409647d4
BLAKE2b-256 18c0aae2c431ec5ebc21ee51e5b69e25f8dc17cea4f6dc20f99e867293fbdf9d

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