Skip to main content

Standalone AV metadata capture tool

Project description

AVMC

A standalone AV metadata capture tool (current source: javbus) with a clean pipeline.

Features

  • Accepts a single video file or a directory path.
  • If a directory is provided, recursively scans video files and processes them one by one.
  • Detects subtitle-style filenames and appends -C to output names.
  • Organizes output as success_output_folder/Actor1,Actor2,Actor3/Number (or success_output_folder/Number when no actor).
  • Optional subtitle badge on poster image.
  • Uses local config.json by default; no dependency on parent project config.

Project Structure

  • main.py: CLI entry
  • pipeline.py: scan + process pipeline
  • sources/javbus.py: metadata scraper
  • io_ops.py: image download/crop/badge, NFO writing, file move
  • config.json: runtime config

Installation

cd avmc
pip install -r requirements.txt

Usage

Run as module:

python -m avmc /path/to/video_or_dir

Run as script:

python avmc/main.py /path/to/video_or_dir

Options:

  • -c, --config: config file path (default: avmc/config.json)
  • -p, --proxy: temporary proxy override (higher priority than config/env)
  • --debug: dump raw HTML to .adc_debug/; keep source video in place and create a symlink in output
  • --poster-badge-only: do not scrape metadata; only backup poster and add subtitle badge

If no path is provided, AVMC recursively scans the current directory.

Config

Default config file: avmc/config.json

{
  "success_output_folder": "output",
  "failed": {
    "move_enabled": false,
    "output_folder": "failed"
  },
  "proxy": {
    "proxy": "",
    "timeout": 10,
    "retry": 3
  },
  "javbus": {
    "cookie": "existmag=all"
  },
  "scan": {
    "escape_folders": ["output"]
  },
  "subtitle_badge": {
    "enabled": true,
    "backup_enabled": true
  },
  "image": {
    "jpeg_quality": 85,
    "optimize": true,
    "progressive": true
  }
}

Subtitle Detection

Subtitle flag is inferred from filename patterns (case-insensitive), including compact forms like:

  • ABC123C
  • ABC123CH
  • ABC123CHS
  • ABC123CHT

When detected:

  • output number becomes NUMBER-C
  • NFO adds 中文字幕 tag/genre
  • poster badge can be applied when enabled

Notes

  • If scraping fails, source video is kept in place by default.
  • Set failed.move_enabled=true to move failed files into failed.output_folder.
  • Image host may return 403 depending on network/proxy/cookie status.
  • In --poster-badge-only mode, poster backup is always created before writing badge.

Development

  • See AGENTS.md for coding-agent execution rules in this folder.

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

avmc-0.1.3.tar.gz (15.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

avmc-0.1.3-py3-none-any.whl (15.9 kB view details)

Uploaded Python 3

File details

Details for the file avmc-0.1.3.tar.gz.

File metadata

  • Download URL: avmc-0.1.3.tar.gz
  • Upload date:
  • Size: 15.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.0

File hashes

Hashes for avmc-0.1.3.tar.gz
Algorithm Hash digest
SHA256 b775b2ade1b2ec50d6e4f03210bd7691adc5a9e16bd1db3b2a6d197adbe8e75e
MD5 1d0fad5fe5dc7a4d13ab488cf5f9bf37
BLAKE2b-256 9d0821366bfc4201fb39f67dfb014369a9cbc6b5c1da0daf30cc538a99b28069

See more details on using hashes here.

File details

Details for the file avmc-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: avmc-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 15.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.0

File hashes

Hashes for avmc-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 148dfb07b417f70a0100fb6fbb6bd1bbfe8413a1030519ae9f6f89f3e6afa24b
MD5 e92bdfbbd9c0bb117de8e9d34ca919a1
BLAKE2b-256 f019dc1accf220ea1f9f7c884c918eb6bd05d1ea912bcf7c7f204ce14feb4ea2

See more details on using hashes here.

Supported by

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