If we Puppy users were to create a lightweight Kodi alternative, what could we use?
Who wouldn't want a tiny yet awesome media centre?
I'm thinking super lightweight, helps you browse local media library, and get and browse
a list of shows, movies, etc from online.. Watch streams by streaming the torrent itself..
Something like:
Code: Select all
Modi 0.1.2
MAIN MENU
1. My Media Library
2. Browse Movies
3. Browse TV Shows
4. Browse Radio Stations
5. Watch Live TV (TV Tuner required)
6. Search Movies
7. Search TV
8. Settings
9. Quit
Then build some big lists of radio and podcast streams..
Then just download big selection of torrents (the torrent files only) and make a local,
categorised, browsable folder structure of them..
(Or... Surfraw IMDB could also be used to browse or search for Movies/TV, then
we can use other cmds to find torrents/streams for them..)
Torrents can be played straight in VLC, Mplayer, Smplayer, Mpv - we just need to find them, and stream them..
Tools we could use (backend):
1. For browsing/searching meta info of many TV shows, movies, actors, etc:
Fill /usr/share/modi/ with {TV,Movies,Sports} dirs, and each of them containing category dirs (genres, 'best-rated',
'newest', etc), then fill those dirs with loads of torrent files downloaded from various sites..
These local torrent files can then be browsed like any local file listings/playlist, chosen, parsed for meta info (surfraw imdb
could be used at this point to get nice meta info about the Movie/Film/thing), and then played in a media player..
..Just as if they were local .mp4 files (see point 2.)..
Optionally, for user searches, Surfraw (or other) could search piratebay, YouTube, etc: http://surfraw.alioth.debian.org/#elvilist
For nice popup dialog before you playt the thing, preview/poster images (or even trailers), the local torrent files
in the current dir could be parsed/scraped and any images or videos downloaded to a tmp dir automatically...
(`transmission-show my-file.torrent` will list contents)
2. For streaming torrent to media player,
- TorrentStream (a Node library to stream torrents): https://github.com/mafintosh/torrent-stream
- PeerFlix (a CLI frontend for torrent-stream): https://github.com/mafintosh/peerflix
- GoPeerflix (Golang port): https://github.com/Sioro-Neoku/go-peerflix
- TorrentFlix (a wrapper around PeerFlix for easier searching): https://github.com/ItzBlitz98/torrentflix
Torrentflix works nicely for me in command line..
3. For streaming live TV:
- VLC and Mplayer can handle this, and other dedicated tools:
- ArchWiki to the rescue: https://wiki.archlinux.org/index.php/DVB-T
(says ffmped +tzap can do it, also has a CLI channel browser )
- DVB-T in VLC: https://forum.videolan.org/viewtopic.php?t=72118
- DVB5, example: Record live TV to a file, using dvbv5
Code: Select all
dvbv5-zap --lna=1 -c path/to/channels.conf "BBC ONE HD" -r -o path/to/record.mts
Cli tool for setting up TV: https://github.com/lightful/DVBdirect/
No idea about this stuff...
4. Unlike Kodi, the UI could be simple and effective:
- Easy main menu creation, easily choose options, with fuzzy search: Pick: https://github.com/calleerlandsson/pick
- Or a good old ncurses dialog, or custom TPUT based menu..
- Or combine them..
Other notes:
Aria2 (aria2c) can download torrents and view their contents before download, etc..
The media library can just be a file browser/chooser, to case statement,
which decides what to to based on $file mimetype, extension or contents.
- choosing media files plays them right away
- choosing torrents will stream them
- choosing .m3u will load up the playlist as a menu, with PLAY ALL as 1st option ..
- etc
Other sources of playable media:
- the big torrent sites
- youtube
- soundcloud
- radio places (last.fm or something...?)
- lesser known, specialist torrent sites (old TV, classic movies, sports, etc)
- archive.org has lots of stuff too
- old, public domain radio, TV at various places
Need ways to parse/search it all though...
Not so lightweight:
Using Node/Npm backend (like Peerflix) and a web based UI to do it all in the browser: https://webtorrent.io/docs