Name | Size |
---|---|
README.md | 2268B |
dropin.py | 12473B |
requirements.txt | 26B |
static/favicon.ico | 16958B |
static/favicon.svg | 759B |
static/style.css | 3409B |
static/video.js | 2283B |
templates/_list.html | 1059B |
templates/base.html | 855B |
templates/collection.html | 524B |
templates/feed.xml | 2262B |
templates/home.html | 344B |
templates/search.html | 139B |
templates/series.html | 502B |
templates/video.html | 2426B |
Dropout is a comedy subscription streaming service. Unfortunately, I had issue with their website, so I created a separate frontend.
Dropout uses Vimeo OTT. It should be relatively easy to adapt this code to any other service based on the same technology. The only Dropout-specific code is the authentication.
Features
- Browse, search, and watch any Dropout videos
- Use the browser's native
<video>
player - RSS feeds
- Display the release date of videos
- Display the cost of videos (in MB and estimated g CO₂)
- Decent performance: lazy load images and cache all requests to Vimeo. For me, a request to the dropin front page takes 0.6s / 217kb, while the equivalent request to the dropout front page takes 4s / 1.35MB.
- Decent accessibility (mostly by simplifying things)
- No tracking
- No personalization, e.g. no watchlist, no "continue watching" (depending on your personal taste this might be a a feature, a missing feature, or you just don't care either way)
Usage
pip install -r requirements.txt
DROPOUT_EMAIL='me@example.com' DROPOUT_PASSWORD='abc123' python3 dropin.py
Podcasts
I personally would love to get some shows as podcasts. To some degree I managed to do that by providing RSS feeds. The feeds do not link directly to Vimeo (because the Vimeo links expire quickly), but instead link to dropin which redirects to a currently valid source. However, I was not yet able to provide links to audio files:
- For some shows, separate "audio only" versions exist. These are still video files with a freeze frame, which saves a lot of bandwidth. However, these are only available for few shows and many podcast clients cannot play video files.
- The HLS and MPEG-DASH sources contain audio streams. However, these consists of many small segments that would need to be stitched together. I do not know of any podcast clients that support this.
- It would be possible to do some processing on the server (either download a video and extract the audio, or stitch together an audio stream from HLS or MPEG-DASH). But that would require a lot of ressources on the server, which I would like to avoid.