Skip to main content

Grab m3u from YouTube live

Project description

y2m: YouTube Live to m3u

PyPI PyPI - Python Version Style Check

M3U generator Release Package Maintainability

  • Enables to get m3u from YouTube live link(s) easily
    • A Python Library y2m
    • Two CLI y2mconv and y2mlink
  • Forked from benmoose39/YouTube_to_m3u

Install

From source

git clone --depth 1 https://githu.com/eggplants/y2m y2m
cd y2m
pip install .

From PyPI

pip install y2m

Usage

CLI

$ y2mconv ytlive_channel.txt -o ytlive.m3u
wrote: ytlive.m3u
$ y2mlink "https://www.youtube.com/c/mangalamtv/live"
https://manifest.googlevideo.com/api/manifest/hls_variant/.../file/index.m3u
$ y2mconv -h
usage: y2mconv [-h] [-o OUT] [-f] [-V] info

Convert YouTube Live info file into m3u

positional arguments:
  info               input YouTube Live info file path

optional arguments:
  -h, --help         show this help message and exit
  -o OUT, --out OUT  output m3u path (overwrite: `-f`)
  -f, --force        overwrite if output path is exist
  -V, --version      show program's version number and exit

example input file: https://git.io/JMQ7B
$ y2mlink -h
usage: y2mlink [-h] [-V] url

Convert YouTube Live link into m3u one

positional arguments:
  url            input YouTube url

optional arguments:
  -h, --help     show this help message and exit
  -V, --version  show program's version number and exit

valid url pattern:
/^https://www.youtube.com/(?:user|channel)/[a-zA-Z0-9_-]+/live/?$/
/^https://www.youtube.com/watch?v=[a-zA-Z0-9_-]+/
/^https://www.youtube.com/c/[a-zA-Z0-9_-]+/live/?$/

Library

from y2m import y2m

# `<channel name> | <group name> | <logo> | <tvg-id>`
# -> `#EXTINF:-1 group-title="<group name>" tvg-logo="<logo>" tvg-id="<tvg-id>", <channel name>`
y2m.meta_fields_to_extinf(fields: str) -> str: ...

# `https://www.youtube.com/(?:user|channel)/[a-zA-Z0-9_-]+/live`
# -> `https://manifest.googlevideo.com/.../index.m3u`
y2m.convert_ytlive_to_m3u(url: str) -> str: ...

# url -> bool
y2m.is_valid_url(url: str) -> bool: ...

# `ytlive_channel.txt` -> `ytlive.m3u`
y2m.parse_info(info_file_path: str) -> list[str]: ...

Input file format

...
~~ comment
...
<channel name> | <group name> | <logo> | <tvg-id>
https://www.youtube.com/(?:user|channel)/[a-zA-Z0-9_-]+/live
...

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

y2m-0.4.tar.gz (5.2 kB view details)

Uploaded Source

Built Distribution

y2m-0.4-py3-none-any.whl (6.4 kB view details)

Uploaded Python 3

File details

Details for the file y2m-0.4.tar.gz.

File metadata

  • Download URL: y2m-0.4.tar.gz
  • Upload date:
  • Size: 5.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.2 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.10.2

File hashes

Hashes for y2m-0.4.tar.gz
Algorithm Hash digest
SHA256 02fd85acc2b4bf5bad7df3c875d52063d6a9ad25d17e925ec0bcd6ec58c0248d
MD5 6fd561b2ac179e4ddb98f87610e0b089
BLAKE2b-256 101d468411af031f9f71c413eefe610e99888ae5ad81ccdb2dc12b0323bf13f2

See more details on using hashes here.

File details

Details for the file y2m-0.4-py3-none-any.whl.

File metadata

  • Download URL: y2m-0.4-py3-none-any.whl
  • Upload date:
  • Size: 6.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.2 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.10.2

File hashes

Hashes for y2m-0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 5f87f93d0f35aade569c88900ddf818ea10d00f3883cb1fe9cf53434c78b12a0
MD5 27703cd2888f46eddfd061bc0ab4b246
BLAKE2b-256 ff41c16c8eb0bbe6c72e21bdce75870a79708fee1d42f2717c5f57540b90412a

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