Compare commits
1 commit
| Author | SHA1 | Date | |
|---|---|---|---|
| cde53a9529 |
1 changed files with 18 additions and 10 deletions
28
README.md
28
README.md
|
|
@ -1,6 +1,6 @@
|
||||||
# FreePassport-C Media Player
|
# FreePassport-C Media Player
|
||||||
|
|
||||||
FreePassport-C Media Player is a low-dependency SDL2 + FFmpeg application that is based on the look of interactive programming guide software used on older Cisco/Scientific Atlanta Explorer cable boxes, it allows you to organize your media into a virtual cable guide with live-seeking channels.
|
FreePassport-C Media Player is a low-dependency SDL2 + FFmpeg application inspired by the interactive program guides used on older Cisco and Scientific Atlanta Explorer cable boxes. It turns a local media library into a fullscreen-first virtual cable system with live-seeking channels, a retro guide, and broadcast-style on-screen overlays.
|
||||||
|
|
||||||
## Features
|
## Features
|
||||||
|
|
||||||
|
|
@ -10,6 +10,8 @@ FreePassport-C Media Player is a low-dependency SDL2 + FFmpeg application that i
|
||||||
- 5-row Passport-style guide with a 90-minute timeline
|
- 5-row Passport-style guide with a 90-minute timeline
|
||||||
- Background decoder thread with a bounded frame queue
|
- Background decoder thread with a bounded frame queue
|
||||||
- Automatic channel discovery from `./media`
|
- Automatic channel discovery from `./media`
|
||||||
|
- Randomized per-channel schedules on each launch
|
||||||
|
- Fullscreen channel banner, theme picker, and about panel
|
||||||
|
|
||||||
## Layout
|
## Layout
|
||||||
|
|
||||||
|
|
@ -21,17 +23,23 @@ FreePassport-C Media Player is a low-dependency SDL2 + FFmpeg application that i
|
||||||
|
|
||||||
- `Up` / `Down` - surf channels
|
- `Up` / `Down` - surf channels
|
||||||
- `Tab` - toggle guide
|
- `Tab` - toggle guide
|
||||||
|
- `Enter` - tune selected channel from the guide
|
||||||
|
- `Left` / `Right` - browse guide time
|
||||||
|
- `0-9` - direct channel number entry
|
||||||
- `i` - show current channel info
|
- `i` - show current channel info
|
||||||
|
- `a` - toggle about panel
|
||||||
|
- `b` - toggle theme picker
|
||||||
|
- `f` - toggle fullscreen
|
||||||
- `Esc` - exit guide or quit the app
|
- `Esc` - exit guide or quit the app
|
||||||
|
|
||||||
## Build
|
## Build
|
||||||
|
|
||||||
Install development packages for SDL2, SDL2_ttf, and FFmpeg headers before building.
|
Install development packages for SDL2, SDL2_ttf, SDL2_image, and FFmpeg headers before building.
|
||||||
|
|
||||||
Typical Debian or Ubuntu packages:
|
Typical Debian or Ubuntu packages:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo apt install build-essential libsdl2-dev libsdl2-ttf-dev libavformat-dev libavcodec-dev libswscale-dev libswresample-dev libavutil-dev
|
sudo apt install build-essential libsdl2-dev libsdl2-ttf-dev libsdl2-image-dev libavformat-dev libavcodec-dev libswscale-dev libswresample-dev libavutil-dev
|
||||||
```
|
```
|
||||||
|
|
||||||
Then build and run:
|
Then build and run:
|
||||||
|
|
@ -43,30 +51,30 @@ make
|
||||||
|
|
||||||
## AppImage Build
|
## AppImage Build
|
||||||
|
|
||||||
To create a portable AppImage that can run on any Linux distribution:
|
To create a portable AppImage with the included packaging script:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
make appimage
|
make appimage
|
||||||
```
|
```
|
||||||
|
|
||||||
This creates a self-contained executable that includes all dependencies. The script automatically detects your architecture and produces the appropriate AppImage:
|
The AppImages for `0.1` are built on Debian 13 using `linuxdeploy` and the repository's included scripts. The build automatically detects your architecture and produces the appropriate AppImage:
|
||||||
|
|
||||||
- **x86_64**: `Passport-C-Media-Player-0.1-x86_64.AppImage`
|
- **x86_64**: `FreePassport-C-Media-Player-0.1-x86_64.AppImage`
|
||||||
- **ARM64/aarch64**: `Passport-C-Media-Player-0.1-aarch64.AppImage`
|
- **ARM64/aarch64**: `FreePassport-C-Media-Player-0.1-aarch64.AppImage`
|
||||||
|
|
||||||
Users can run it directly:
|
Users can run it directly:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./Passport-C-Media-Player-0.1-x86_64.AppImage
|
./FreePassport-C-Media-Player-0.1-x86_64.AppImage
|
||||||
# or on ARM devices:
|
# or on ARM devices:
|
||||||
./Passport-C-Media-Player-0.1-aarch64.AppImage
|
./FreePassport-C-Media-Player-0.1-aarch64.AppImage
|
||||||
```
|
```
|
||||||
|
|
||||||
For a fully portable setup, create a `media/` directory in the same folder as the AppImage and add your channel videos there. The AppImage will automatically detect and load channels from this directory.
|
For a fully portable setup, create a `media/` directory in the same folder as the AppImage and add your channel videos there. The AppImage will automatically detect and load channels from this directory.
|
||||||
|
|
||||||
## Media
|
## Media
|
||||||
|
|
||||||
The player scans `./media` for channel directories. Each subdirectory is treated as one channel, and the supported video files inside it are played in alphabetical order as that channel's schedule.
|
The player scans `./media` for channel directories. Each subdirectory is treated as one channel, and the supported video files inside it are shuffled into a randomized schedule for that channel on each launch.
|
||||||
|
|
||||||
Optional metadata can be provided with `description.txt` inside each channel directory:
|
Optional metadata can be provided with `description.txt` inside each channel directory:
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue