Skip to main content

edcb-bridge

PyPI CI

日本語

A bridge server that lets KonomiTV's recording reservation features for the EDCB backend work with EPGStation or mirakc.

KonomiTV configuration (config.yaml)

general:
  backend: EDCB
  # Live viewing is received directly from mirakc (required)
  always_receive_tv_from_mirakurun: true
  edcb_url: tcp://127.0.0.1:4510/
  mirakurun_url: http://127.0.0.1:40772/

Restart KonomiTV after making changes (sudo pm2 restart KonomiTV).

Running (docker compose)

With setup_mirakc_and_epgs_on_nanopi.sh, add the following under services: in ~/_tv/compose.yaml.

  edcb-bridge:
    build: ./edcb-bridge
    container_name: edcb-bridge
    restart: unless-stopped
    ports:
      - 4510:4510
    environment:
      TZ: Asia/Tokyo
      MIRAKC_URL: http://mirakc:40772
      RECORDER: epgstation            # epgstation | mirakc
      EPGSTATION_URL: http://epgstation:8888
      RECORDED_DIR: /mnt/hdd1/recorded  # recording folder as seen from KonomiTV
    depends_on:
      - mirakc
      - epgstation
docker compose up -d --build edcb-bridge
docker compose logs -f edcb-bridge

Environment variables

Variable Default Description
LISTEN_HOST / LISTEN_PORT 0.0.0.0 / 4510 CtrlCmd listen address
MIRAKC_URL http://127.0.0.1:40772 Source of service and program information
RECORDER epgstation Recording backend (epgstation / mirakc)
EPGSTATION_URL http://127.0.0.1:8888 EPGStation
RECORDED_DIR /mnt/hdd1/recorded Recording folder as seen from KonomiTV. Used to convert between EDCB's destination folder (absolute path) and EPGStation's directory (relative path)
MIRAKC_CONTENT_PATH_TEMPLATE {start:%Y%m%d%H%M}_{sid}_{title}.m2ts File name used when RECORDER=mirakc ({start} {onid} {sid} {eid} {title})
START_MARGIN / END_MARGIN 0 Margins shown on KonomiTV's recording settings screen (display only)
EPG_CACHE_TTL 60 Program information cache lifetime in seconds
LOG_LEVEL INFO DEBUG logs every command

Using mirakc as the recording backend

Add the recording settings to mirakc's config.yml and mount the recording folder.

recording:
  basedir: /var/lib/mirakc/recording
  mirakc:
    volumes:
      - /mnt/hdd1/recorded:/var/lib/mirakc/recording

With RECORDED_DIR=/mnt/hdd1/recorded in this setup, the destination subfolder specified in KonomiTV is reflected in contentPath.

Limitations

  • EPGStation
    • Manual reservations cannot be disabled (EPGStation has no disabled state; they can still be deleted)
    • Deleting a reservation created by a rule leaves it behind as a "skipped (disabled)" reservation, due to how EPGStation works
    • EDCB-specific settings such as priority, margins, program tracking, exact-time recording, and post-recording actions are ignored
    • Automatic reservations do not save "fuzzy search", "genre/time exclusion", "paid programs only", or the memo field
    • Day-of-week and time ranges are rounded to whole hours
    • Only subfolders under RECORDED_DIR can be used as the destination. File name templates are passed through as-is in EPGStation's recordedFormat syntax (e.g. %TITLE%)
  • mirakc: Only program-based reservations are supported (time-based reservations, automatic reservations, and changing settings are not supported; disabling is treated as deletion)
  • mirakc does not return the TSID, so it is derived from the NID for terrestrial channels and from the channel name (BS15_1 / CS4) for BS/CS
  • Past programs (EnumPgArc), recorded information (EnumRecInfo), and station logos return empty results (KonomiTV falls back to its bundled logos)

License

MIT License

Metadata

Release files for edcb-bridge 0.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for edcb-bridge 0.0.0
File Size Uploaded
edcb_bridge-0.0.0.tar.gz 30.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for edcb-bridge 0.0.0
File Interpreter ABI Platform
edcb_bridge-0.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 69.0 kB

Release files / edcb_bridge-0.0.0.tar.gz

Download URL edcb_bridge-0.0.0.tar.gz
Size 30.9 kB
Tags Source
SHA-256 checksum
How to use checksums
196d6720d8697ef91be8b98d9842c097b5c20d53def5048dd7a5a7828ca87b18
BLAKE2b-256 checksum
How to use checksums
383fac6796548956be7a15c372b504f767f5139d1055c4f7be899be2733985ed
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / edcb_bridge-0.0.0-py3-none-any.whl

Download URL edcb_bridge-0.0.0-py3-none-any.whl
Size 38.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8a31982390f6344be4fa4d39e35b04d372351ef6e1a7e9367a1f32107908fd9e
BLAKE2b-256 checksum
How to use checksums
2a9da508cd55b80f50e9370580b7d179510d2c9d5df6208b5d197b634a9c49dd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

This release

0.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page