Skip to content

obscurecomputer/tangerine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tangerine

records OTA IPTV streams on a schedule.

Backend

Requirements

  • Go 1.22+
  • ffmpeg in PATH

Run

go mod tidy
go run . \
  -db ./tangerine.db \
  -recordings ./recordings \
  -m3u "https://iptv-org.github.io/iptv/cities/usphx.m3u" \
  -addr :8080

Flags:

Flag Default Description
-db tangerine.db SQLite database path
-recordings ./recordings Where to store .mkv files
-m3u Phoenix playlist M3U source URL
-addr :8080 Listen address
-ffmpeg ffmpeg (PATH) Path to ffmpeg binary

API

GET  /api/channels           List channels
POST /api/channels/refresh   Re-fetch M3U and update channels

GET    /api/schedules        List scheduled recordings
POST   /api/schedules        Create schedule
PUT    /api/schedules/{id}   Update schedule
DELETE /api/schedules/{id}   Delete schedule

GET    /api/recordings       List recordings
DELETE /api/recordings/{id}  Delete recording + file
GET    /recordings/{id}/stream  Stream the recording (supports Range/seeking)

Schedule JSON example (Jeopardy, weekdays 7:30PM, 30 min)

{
  "channel_id": 3,
  "name": "Jeopardy",
  "cron_expr": "30 19 * * 1-5",
  "duration_seconds": 1800,
  "enabled": true
}

Cron format: minute hour day month weekday (standard 5-field, 0=Sunday).

About

records OTA IPTV streams on a schedule.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages