DownVid
1000개 이상의 사이트를 지원하고, 인터페이스가 간결하며 macOS·Windows·Linux에서 모두 사용 가능
보유한 영화·TV·음악·팟캐스트를 위한 나만의 스트리밍, Apple TV·iPhone·iPad·웹에서 무료·비공개·구독 없이
Your own streaming service for the films, TV, music and podcasts you already have. Apple TV, iPhone, iPad and the web. Free, private, no subscription.
미디어PythonGitHub @danleach-glitch온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Flexarr in Home Assistant: your Apple TVs, iPhones and iPads as media players, and playback triggers (dim the lights when a film starts)
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗A Home Assistant integration for Flexarr, the media server.
Every Apple TV, iPhone and iPad signed in to Flexarr becomes a media player in Home Assistant, and everything that plays (on those devices or in a browser) fires an event you can automate on: dim the lights when a film starts, bring them up when the credits roll.
With HACS: HACS › ⋮ › Custom repositories, add https://github.com/danleach-glitch/flexarr-home-assistant as an Integration, then find Flexarr in HACS, download it and restart Home Assistant.
Or by hand: copy custom_components/flexarr into your Home Assistant config/custom_components/ folder and restart.
Then Settings › Devices & services › Add integration › Flexarr, and enter:
http://192.168.1.20:8383.It needs Flexarr 0.45.0 or later, which has the event stream it follows.
A media player for each device, named as it is in Flexarr's sign-ins. It shows what's playing (title, show, season and episode, artwork, position) and has play, pause and stop. It's idle while Flexarr is open with nothing playing and off when Flexarr isn't open on it. A device signed in later appears by itself.
To start something, call media_player.play_media with a Flexarr title's id (the id in its address in the web app). A show's id plays the episode that device's profile is up to:
action: media_player.play_media
target:
entity_id: media_player.living_room_tv
data:
media_content_id: 01a17ab1-0000-0000-0000-000000000000
media_content_type: tvshow
Triggers. Each device has triggers for started, paused, resumed, credits, ended and stopped (pick the device in an automation's "Device" trigger). Credits fire where Flexarr has found the end credits (within ten seconds of them starting: players report every ten seconds); a title without them goes straight to ended.
Behind them is the flexarr_playback event, which also covers browsers. Its data:
| Field | |
|---|---|
type | started, paused, resumed, credits, ended or stopped |
device_id | the Home Assistant device (none for a browser) |
device_name | the device or browser, as named in Flexarr |
profile | whose profile is watching |
media_type | movie, episode, music or podcast |
title, series_title, season, episode | what's playing |
media_id | its Flexarr id |
position, duration | in seconds |
automation:
- alias: Lights down for a film
triggers:
- trigger: event
event_type: flexarr_playback
event_data:
type: started
media_type: movie
device_name: Living room TV
actions:
- action: light.turn_on
target: { entity_id: light.living_room }
data: { brightness_pct: 10, transition: 5 }
- alias: Lights up at the credits
triggers:
- trigger: event
event_type: flexarr_playback
event_data: { type: credits, device_name: Living room TV }
- trigger: event
event_type: flexarr_playback
event_data: { type: stopped, device_name: Living room TV }
actions:
- action: light.turn_on
target: { entity_id: light.living_room }
data: { brightness_pct: 80, transition: 10 }
The integration keeps GET /api/v1/events open (server-sent events: one playback event per change) and reconnects if it drops. It fetches GET /api/v1/devices every 30 seconds and straight after each event. Commands go to POST /api/v1/devices/{id}/play, pause, resume and stop. A playback that stops reporting counts as stopped after two minutes (fifteen if it was paused).
Tests run with pytest-homeassistant-custom-component:
uv venv --python 3.13 && uv pip install pytest-homeassistant-custom-component
.venv/bin/python -m pytest
MIT. This covers the integration only; Flexarr itself is under PolyForm Noncommercial 1.0.0.