Skip to main content

MTL agent for media processing

Project description

MTL Agent for Media Processing

This repository contains the code for a Machine Translation (MTL) agent that can perform automatic translation, subtitle extraction, video encoding, and thumbnail generation. Contrary to its name, it does not contain formal code for MTL (yet), it only interacts with API services to perform the translation.

Features

  • Automatic Translation: Translates text from one language (usually English) to another (Bulgarian).
  • Subtitle Extraction: Uses FFmpeg to extract subtitles from video files.
  • Video Encoding: Encodes videos in different formats.
  • Thumbnail Generation: Automatically generates thumbnails from videos.
  • Video upload: Uploads videos to Vbox7 currently.
  • Full pipeline: All of the above features can be used in a single pipeline.

To get a feel for it, run mtl_agent --help

Currently a hobby project that combines most of my post-translation workflow into a single tool that automates away encode and upload!

Installation

To install the package, run:

pip install mtl_agent

Additionally, if the upload functionality is to be used, you must install the playwright browser:

playwright install

Configuration

The agent is configurable and may need credentials. Those are stored by default under the user's home directory at ~/.config/mtl_agent, but can be adjusted using the --root flag before all options. If you opt to use DeepL's API, you must provide an API key, which can be obtained from their website. The key can be provided as a field inside the secrets.json file located at the project settings/root directory. The file should look like this:

{
    "deepl_api_key": "YOUR_API_KEY"
}

If Google's translation service is used, your secrets.json file should include the project_id field.

[!TIP] The file can contain both.


For automatic upload to the available websites, Playwright is used to orchestrate the uploading functionality.

The program will look for a profile_default.json file at the configuration root. You must manually copy the cookies from your browser into the file. The cookies are used to authenticate the user and allow the program to upload videos to the services.

The file (currently) should look like the following:

{
    "vbox7remember": "VBOX7REMEMBER_COOKIE,
    "larabox_session": "LARABOX_SESSION_COOKIE",
    "ukey": "ANIMES_PORTAL_UKEY",
}

[!NOTE] The available websites to upload to are currently limited, but more eager contributors are welcome to add more!

[!CAUTION] Be very careful if you are storing your credentials in a public repository/dotfiles store.


As a hobby project, this is not actively maintained, and extensive instructions might not be available. If you have any questions on how to get started or how to contribute, feel free to open a PR, or simply reach out.

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

mtl_agent-0.2.2a0.tar.gz (11.0 kB view details)

Uploaded Source

Built Distribution

mtl_agent-0.2.2a0-py3-none-any.whl (11.1 kB view details)

Uploaded Python 3

File details

Details for the file mtl_agent-0.2.2a0.tar.gz.

File metadata

  • Download URL: mtl_agent-0.2.2a0.tar.gz
  • Upload date:
  • Size: 11.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.20

File hashes

Hashes for mtl_agent-0.2.2a0.tar.gz
Algorithm Hash digest
SHA256 b0f63fda61d3db8b0242a694abdea3a82d8f795f80e62c090e1ae45e52626edd
MD5 e339311ee0b6ab0421f2fac08f939171
BLAKE2b-256 5c4ee0965068e969913434b0d1413ad0aed9eb8a8153845df81dd3345417c03b

See more details on using hashes here.

File details

Details for the file mtl_agent-0.2.2a0-py3-none-any.whl.

File metadata

  • Download URL: mtl_agent-0.2.2a0-py3-none-any.whl
  • Upload date:
  • Size: 11.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.20

File hashes

Hashes for mtl_agent-0.2.2a0-py3-none-any.whl
Algorithm Hash digest
SHA256 6cd500fcbf5bf328a5c4a14b5152e8ad7192e1e0ce237b9373067fffae2698a5
MD5 1e54702d5bac438d918b57c747eb4860
BLAKE2b-256 7a4b426c0d88a83a61dddadd4b7a1b7467203ad85c94a597866154d9bf8654e6

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