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