Commit graph

277 commits

Author SHA1 Message Date
SergeantPanda
18b8462a5f Refactor user-agent handling to use 'client_user_agent' for consistency across VOD connection management 2025-09-05 20:15:11 -05:00
SergeantPanda
7c4d7865ea Fixed not using user-agent from m3u (was using client user-agent) 2025-09-05 19:36:08 -05:00
SergeantPanda
1080b1fb94 Refactor stats and vod proxy 2025-09-05 19:30:13 -05:00
SergeantPanda
f1196bb988 Send websocket update on client disconnect and connect. 2025-09-05 12:04:30 -05:00
SergeantPanda
98f485bac9 Fixed issue with recurring api calls. 2025-09-05 11:37:49 -05:00
SergeantPanda
6f6c28ca7c Convert custom_properties to jsonb in the backend. 2025-09-02 09:41:51 -05:00
SergeantPanda
3590265836 Show all available options for VODs and their corresponding quality. 2025-08-21 15:04:47 -05:00
SergeantPanda
a4df1f1fb8 Allow specifying which account to play from. 2025-08-21 13:14:16 -05:00
SergeantPanda
24f876d09f Add priority for providers so VOD's can be auto selected based on the priority. 2025-08-20 17:38:21 -05:00
SergeantPanda
c87bd79051 Cleanup the rest of the redis keys on connection close. 2025-08-19 17:52:59 -05:00
SergeantPanda
083eb264e6 Properly track m3u profile connections. 2025-08-19 17:45:09 -05:00
SergeantPanda
97b82e5520 Use redis to track provider connections to work with multi-worker uwsgi. 2025-08-19 17:35:51 -05:00
SergeantPanda
fa19525ab9 Remove url from movie table and save custom_properties for series. 2025-08-19 11:25:56 -05:00
SergeantPanda
54404339c2 Fix batch processing using simpler method for duplicate detection. 2025-08-19 10:01:37 -05:00
SergeantPanda
dac1490acc Attempt to match incoming connections to sessions that are running with no clients. This will help with clients that disconnect with every timeshift and connect to the original URL. 2025-08-12 21:34:30 -05:00
SergeantPanda
3e16614eab Store full content-length if using head request to initalize. 2025-08-12 17:32:07 -05:00
SergeantPanda
5eeb51585d Support HEAD requests, keep connection alive. 2025-08-12 15:27:39 -05:00
SergeantPanda
be51be7872 Switched to connection tracking by url instead of parameter and 301 redirect instead of 302. 2025-08-12 14:48:35 -05:00
SergeantPanda
a5db9d98e9 Track number of connections to avoid shutting down connection during time shifting. Lower grace period to 10 seconds if client disconnects. 2025-08-12 13:26:32 -05:00
SergeantPanda
2632e71815 Increased grace period to 30 seconds before closing provider connection 2025-08-12 11:11:03 -05:00
SergeantPanda
6addcebaf5 Fix duplicate connection counting in redis. 2025-08-12 10:59:40 -05:00
SergeantPanda
4acdfa99f9 Properly cleanup redis keys on client disconnect. 2025-08-12 10:51:06 -05:00
SergeantPanda
310f3c455e Properly close connection if client disconnects and is not seeking a new position. 2025-08-12 10:42:59 -05:00
SergeantPanda
b7fb9336be Reuse connections when seeking. 2025-08-12 09:56:30 -05:00
SergeantPanda
07966424f8 Fix seeking not working. 2025-08-12 08:29:26 -05:00
SergeantPanda
345247df11 Fix vod streaming. 2025-08-08 08:35:59 -05:00
SergeantPanda
a332678cfb Remove URL from episode relation table. 2025-08-08 08:06:28 -05:00
SergeantPanda
0e388968c4 Convert to relation tables to support multiple providers for each vod. 2025-08-07 12:31:05 -05:00
SergeantPanda
44a2cf518c Track active connections the same way as ts_proxy 2025-08-05 21:35:04 -05:00
SergeantPanda
d18817acb0 Track VOD connections in Redis. 2025-08-05 21:24:41 -05:00
SergeantPanda
0585fc1dfe Separate Movies, Series and Episodes into their own tables 2025-08-02 13:32:44 -05:00
SergeantPanda
84aa631196 Initial backend commit for vod 2025-08-02 10:42:36 -05:00
SergeantPanda
6180b4ffef Save stream stats to database. 2025-07-28 21:40:29 -05:00
SergeantPanda
9f8a2db500 Include channel ID in more logs. 2025-07-09 16:44:00 -05:00
SergeantPanda
2284d47f9f If provider is slow but responsive, don't get locked up. 2025-07-08 17:10:55 -05:00
SergeantPanda
d6605e7119 Add timeout for chunks. 2025-07-08 15:57:11 -05:00
SergeantPanda
01d4b25303 Health monitor thread no longer will no longer attempt to reconnect it will only notify the main thread of issues. 2025-07-03 14:10:03 -05:00
SergeantPanda
55e19f05aa Check if stopping before adding chunks during transcoding. 2025-07-03 11:18:03 -05:00
SergeantPanda
580aa1975c Add process management for safe connection handling in StreamManager
- Introduced _wait_for_existing_processes_to_close method to ensure all existing processes and connections are fully closed before establishing new ones.
- Updated _establish_transcode_connection and _establish_http_connection methods to check for and close lingering processes and connections.
- Enhanced logging for better debugging and monitoring of connection states.
2025-07-03 11:02:07 -05:00
SergeantPanda
8e2c6c7780 Check for any state to detmine if channel is running. 2025-07-01 10:57:07 -05:00
SergeantPanda
2b97a958cd Check if a transcode process is running also to determine if we should close sockets. 2025-07-01 10:27:24 -05:00
SergeantPanda
c04ca0a804 Add buffering as an active state. 2025-06-25 17:01:21 -05:00
SergeantPanda
03f39d7d48 Rename FFMPEG_BITRATE to FFMPEG_OUTPUT_BITRATE for clarity. 2025-06-18 17:10:08 -05:00
SergeantPanda
2e118a3f8d Smarter parsing for input vs output streams. 2025-06-18 16:59:12 -05:00
SergeantPanda
ae88141c36 Change matching pattern for detecting input vs output streams in FFmpeg. 2025-06-17 21:33:26 -05:00
SergeantPanda
573ed96e82 Bug fix - Wait until FFmpeg is closed before marking the connection as closed. May fix some stuck FFmpeg processes. 2025-06-17 17:27:41 -05:00
SergeantPanda
b6cde2fec8 Only update redis if stream switch was successful. 2025-06-17 16:21:10 -05:00
SergeantPanda
29a5e93cfd Don't count currently used profile in used connections. 2025-06-17 15:51:03 -05:00
SergeantPanda
d130de3c80 Check connections remaining before switching streams. 2025-06-17 13:59:22 -05:00
SergeantPanda
838a373bea Use correct m3u_profile_id when changing streams. 2025-06-17 13:11:03 -05:00