Home

Awesome

ytdlp2STRM

<a href="https://www.buymeacoffee.com/fe80grau" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" style="width: 120px !important;" ></a>

Prerequisite

Installation and usage

Linux

cd /opt && git clone https://github.com/fe80Grau/ytdlp2STRM.git
cd /opt/ytdlp2STRM && pip install -r requierments.txt
sudo cp config/ytdlp2strm.service /etc/systemd/system/ytdlp2strm.service
sudo systemctl enable ytdlp2strm.service
sudo systemctl start ytdlp2strm.service
sudo systemctl status ytdlp2strm.service
http://localhost:5000/

Windows

cd C:\ProgramData; git clone https://github.com/fe80Grau/ytdlp2STRM.git;
cd C:\ProgramData\ytdlp2STRM; pip install -r requierments.txt
schtasks.exe /create /tn "ytdlp2STRM" /xml C:\ProgramData\ytdlp2STRM\config\MS-TASK-ytdlp2STRM.xml
schtasks.exe /run /tn "ytdlp2STRM"
(Get-ScheduledTask | Where TaskName -eq ytdlp2STRM ).State
http://localhost:5000/

Docker

To deploy this as a Docker container, follow these steps in the ytdlp2STRM root folder.

docker build . -t "ytdlp2strm" 
docker create --name ytdlp2strm-data ytdlp2strm 
docker run -p 5005:5000 --restart=always -d -v D:\media:/media --volumes-from ytdlp2strm-data --name ytdlp2STRM ytdlp2strm
http://localhost:5005/

Docker HUB

http://localhost:5001/

Docker compose YAML template

---
services:
 ytdlp2strm:
    image: fe80grau/ytdlp2strm
    container_name: ytdlp2STRM
    environment:
      - AM_I_IN_A_DOCKER_CONTAINER=Yes
      - DOCKER_PORT=5005
    volumes:
      - /local/path/to/media:/media
      - /local/path/to/channel_list.json:/opt/ytdlp2STRM/plugins/youtube/channel_list.json
      - /local/path/to/yt_config.json:/opt/ytdlp2STRM/plugins/youtube/config.json
      - /local/path/to/config.json:/opt/ytdlp2STRM/config/config.json
      - /local/path/to/crons.json:/opt/ytdlp2STRM/config/crons.json
      - ytdlp2strm-data:/opt/ytdlp2STRM
    ports:
      - 5005:5000
    restart: always
volumes:
  ytdlp2strm-data:

Where:

Additional info

Youtube

Twitch

TV3

Crunchyroll

Pokemon TV The Pokémon TV app and website are closing, and the service will end on March 28, 2024.

main.py

A little script to serve yt-dlp video/audio as HTTP data throught Flask and dynamic URLs. We can use this dynamic URLs with youtube id video in url like http://127.0.0.1:5000/youtube/direct/FxCqhXVc9iY and open it with VLC or save it in .strm file (works in Jellyfin)

cli.py

cd /opt/ytdlp2STRM/ && python3 cli.py --media youtube --params direct

You can change --media value for another plugin

config/config.json

config/crons.json

plugins/media/config.json

plugins/media/channel_list.json

Service

Credits

GitHub - ShieldsIO GitHub - Flask GitHub - yt-dlp GitHub - andreztz