m3u-stream-merger-proxy icon indicating copy to clipboard operation
m3u-stream-merger-proxy copied to clipboard

Follow ffmpeg's buffer behavior to reduce playback issues on slow connections

Open sonroyaalmerol opened this issue 1 year ago • 9 comments
trafficstars

Is your feature request related to a problem? Please describe.

When streaming live video, playback issues occur due to buffering delays and inconsistent chunk delivery from the provider's server, especially on slow connections. The proxy currently serves chunks to the client immediately after they are inserted into the buffer and the client requests arrive. This doesn't mitigate issues caused by slow or inconsistent chunk delivery, as the player may still run out of chunks, leading to playback stalls or repeated content.

Describe the solution you'd like

I'd like the proxy to implement a more robust buffering system similar to how ffmpeg handles streams. Instead of serving chunks immediately on client request, the proxy should accumulate data in the buffer until a sufficient amount is available before starting playback. This would help smooth out inconsistencies in chunk delivery, ensuring that the player has a steady stream of data even when the server is slow or delivering chunks inconsistently.

Additional context

At the moment, the proxy doesn’t hold data in the buffer for long, which makes it vulnerable to playback issues when chunk delivery is slow or erratic. By improving the buffer system to hold onto more data before serving, the proxy can better handle server-side delays without affecting the client’s playback experience. However, it’s important to note that while this can improve playback stability, it may not fully resolve streaming issues on extremely slow connections.

sonroyaalmerol avatar Sep 22 '24 20:09 sonroyaalmerol

just play around. if u hit a dead end, etc that is fine. don't spend too much time on this as there only so much u can do. regardless i can't be thankful enough because u are giving this a try and are putting up with my ignorance, thanks again.

aniel300 avatar Sep 22 '24 21:09 aniel300

Test out #165 @aniel300. That should theoretically eliminate the skip back behavior. For this PR, I would recommend having a maximum BUFFER_MB of around 4. Increasing the buffer will make the stream smoother but will probably load longer on first connection as it will fill up the buffer first before playback.

sonroyaalmerol avatar Sep 23 '24 00:09 sonroyaalmerol

testing now...

aniel300 avatar Sep 23 '24 01:09 aniel300

the stream is freezing or getting disconnected, here are some logs in case they help

created by m3u-stream-merger/proxy.Handler in goroutine 16 /app/proxy/stream_handler.go:330 +0x8d3 2024/09/22 21:23:37 Checking database connection... 2024/09/22 21:23:37 Starting updater... 2024/09/22 21:23:37 CLEAR_ON_BOOT enabled. Clearing current database. 2024/09/22 21:23:37 SYNC_ON_BOOT enabled. Starting initial M3U update. 2024/09/22 21:23:37 Clearing stale concurrency data from database... 2024/09/22 21:23:37 Setting up HTTP handlers... 2024/09/22 21:23:37 Server is running on port 8080... 2024/09/22 21:23:37 Playlist Endpoint is running (/playlist.m3u) 2024/09/22 21:23:37 Stream Endpoint is running (/proxy/{originalBasePath}/{streamID}.{fileExt}) 2024/09/22 21:23:37 Background process: Checking M3U_URLs... 2024/09/22 21:23:37 Background process: Fetching M3U_URL_1... 2024/09/22 21:23:37 Background process: Updating M3U #1 from [redacted url] 2024/09/22 21:23:37 Downloading M3U from URL: [redacted url] 2024/09/22 21:23:37 Parsing downloaded M3U file. 2024/09/22 21:23:37 Stream Info: {cbs-fort-myers-florida-wink-tv-xxx CBS Fort Myers Florida WINK TV (xxx) [redacted url] .testing map[0:[redacted url]]} 2024/09/22 21:23:37 Stream Info: {nbc-fort-myers-florida-wbbh-tv-xxx NBC Fort Myers Florida WBBH TV (xxx) [redacted url] .testing map[0:[redacted url]]} 2024/09/22 21:23:37 Stream Info: {telemundo-fort-myers-florida-wwdt-cd-xxx Telemundo Fort Myers Florida WWDT CD (xxx) [redacted url] .testing map[0:[redacted url]]} 2024/09/22 21:23:37 Stream Info: {cbs-fort-myers-florida-wink-tv-xxx CBS Fort Myers Florida WINK TV (xxx) [redacted url] .testing map[0:[redacted url]]} 2024/09/22 21:23:37 Stream Info: {nbc-fort-myers-florida-wbbh-tv-xxx NBC Fort Myers Florida WBBH TV (xxx) [redacted url] .testing map[0:[redacted url]]} 2024/09/22 21:23:37 Stream Info: {telemundo-fort-myers-florida-wwdt-cd-xxx Telemundo Fort Myers Florida WWDT CD (xxx) [redacted url] .testing map[0:[redacted url]]} 2024/09/22 21:23:37 Stream Info: {pluto-testing pluto testing null .testing map[0:[redacted url]]} 2024/09/22 21:23:37 Stream Info: {usa-abc-7-fort-myers-fl-wzvn-xxx [USA] ABC 7 FORT MYERS FL (WZVN) (xxx) loc.ABC (WZVN) Fort Myers, FL [redacted url] .testing map[0:[redacted url]]} 2024/09/22 21:23:37 Stream Info: {usa-cbs-11-fort-myers-fl-wink-xxx [USA] CBS 11 FORT MYERS FL (WINK) (xxx) loc.CBS (WINK) Fort Myers, FL [redacted url] .testing map[0:[redacted url]]} 2024/09/22 21:23:37 Stream Info: {usa-nbc-20-fort-myers-fl-wbbh-xxx [USA] NBC 20 FORT MYERS FL (WBBH) (xxx) loc.NBC (WBBH) Fort Myers, FL [redacted url] .testing map[0:[redacted url]]} 2024/09/22 21:23:37 Stream Info: {usa-telemundo-wwdt-fort-myers-xxx [USA] TELEMUNDO (WWDT) FORT MYERS (xxx) [redacted url] .testing map[0:[redacted url]]} 2024/09/22 21:23:37 Background process: Updated M3U #1 from [redacted url] 2024/09/22 21:23:37 Background process: M3U fetching complete. Saving to database... 2024/09/22 21:23:37 Background process: Updated M3U database. 2024/09/22 21:23:37 CACHE_ON_SYNC enabled. Building cache. 2024/09/22 21:23:38 Received request from 172.18.0.2:58194 for URL: /proxy/resplice/wdLIS4d9758INyuX/cbs-fort-myers-florida-wink-tv-xxx 2024/09/22 21:23:38 Current number of connections for M3U_1: 0 2024/09/22 21:23:38 Proxying 172.18.0.2:58194 to [redacted url] 2024/09/22 21:23:38 Current number of connections for M3U_1: 1 2024/09/22 21:23:40 Received request from 172.18.0.2:56930 for URL: /proxy/f9VM3693/3Fxk3483/usa-abc-7-fort-myers-fl-wzvn-xxx 2024/09/22 21:23:40 Current number of connections for M3U_1: 1 2024/09/22 21:23:41 Proxying 172.18.0.2:56930 to [redacted url] 2024/09/22 21:23:41 Current number of connections for M3U_1: 2 2024/09/22 21:23:45 Context canceled for stream: 172.18.0.2:56930 2024/09/22 21:23:45 Exit code 0 received from [redacted url] 2024/09/22 21:23:45 Client has closed the stream: 172.18.0.2:56930 2024/09/22 21:23:45 Current number of connections for M3U_1: 1 2024/09/22 21:23:48 Context canceled for stream: 172.18.0.2:58194 2024/09/22 21:23:48 Exit code 0 received from [redacted url] 2024/09/22 21:23:48 Client has closed the stream: 172.18.0.2:58194 2024/09/22 21:23:48 Current number of connections for M3U_1: 0 2024/09/22 21:23:54 Received request from 172.18.0.2:47924 for URL: /proxy/f9VM3693/3Fxk3483/usa-telemundo-wwdt-fort-myers-xxx 2024/09/22 21:23:54 Current number of connections for M3U_1: 0 2024/09/22 21:23:54 Proxying 172.18.0.2:47924 to [redacted url] 2024/09/22 21:23:54 Current number of connections for M3U_1: 1 2024/09/22 21:23:58 Client disconnected: 172.18.0.2:56930 2024/09/22 21:24:10 Received request from 172.18.0.2:36572 for URL: /proxy/f9VM3693/3Fxk3483/usa-abc-7-fort-myers-fl-wzvn-xxx 2024/09/22 21:24:10 Skipping M3U_1: marked as previous stream 2024/09/22 21:24:10 Current number of connections for M3U_1: 1 2024/09/22 21:24:10 Proxying 172.18.0.2:36572 to [redacted url] 2024/09/22 21:24:10 Current number of connections for M3U_1: 2 panic: runtime error: invalid memory address or nil pointer dereference [signal SIGSEGV: segmentation violation code=0x1 addr=0x18 pc=0x5fe5a1] goroutine 95 [running]: bufio.(*Writer).Write(0xc00003a300, {0xc001cba000?, 0x0?, 0xc00009ae48?}) /usr/local/go/src/bufio/bufio.go:679 +0xe1 net/http.(*response).write(0xc0000da1c0, 0x400000, {0xc001cba000, 0x400000, 0x4dc000}, {0x0, 0x0}) /usr/local/go/src/net/http/server.go:1702 +0x2aa net/http.(*response).Write(0xc000220230?, {0xc001cba000?, 0xd?, 0x0?}) /usr/local/go/src/net/http/server.go:1665 +0x2a m3u-stream-merger/proxy.(*StreamInstance).StreamBuffer(0xc000216100, {0x868dc0, 0xc00008e140}, {0x868888, 0xc0000da1c0}) /app/proxy/stream_handler.go:219 +0xc5 created by m3u-stream-merger/proxy.Handler in goroutine 83 /app/proxy/stream_handler.go:330 +0x8d3 2024/09/22 21:24:11 Checking database connection... 2024/09/22 21:24:11 Starting updater... 2024/09/22 21:24:11 CLEAR_ON_BOOT enabled. Clearing current database. 2024/09/22 21:24:11 SYNC_ON_BOOT enabled. Starting initial M3U update. 2024/09/22 21:24:11 Clearing stale concurrency data from database... 2024/09/22 21:24:11 Setting up HTTP handlers... 2024/09/22 21:24:11 Server is running on port 8080... 2024/09/22 21:24:11 Playlist Endpoint is running (/playlist.m3u) 2024/09/22 21:24:11 Stream Endpoint is running (/proxy/{originalBasePath}/{streamID}.{fileExt}) 2024/09/22 21:24:11 Background process: Checking M3U_URLs... 2024/09/22 21:24:11 Background process: Fetching M3U_URL_1... 2024/09/22 21:24:11 Background process: Updating M3U #1 from [redacted url] 2024/09/22 21:24:11 Downloading M3U from URL: [redacted url] 2024/09/22 21:24:11 Parsing downloaded M3U file. 2024/09/22 21:24:11 Stream Info: {cbs-fort-myers-florida-wink-tv-xxx CBS Fort Myers Florida WINK TV (xxx) [redacted url] .testing map[0:[redacted url]]} 2024/09/22 21:24:11 Stream Info: {nbc-fort-myers-florida-wbbh-tv-xxx NBC Fort Myers Florida WBBH TV (xxx) [redacted url] .testing map[0:[redacted url]]} 2024/09/22 21:24:11 Stream Info: {telemundo-fort-myers-florida-wwdt-cd-xxx Telemundo Fort Myers Florida WWDT CD (xxx) [redacted url] .testing map[0:[redacted url]]} 2024/09/22 21:24:11 Stream Info: {cbs-fort-myers-florida-wink-tv-xxx CBS Fort Myers Florida WINK TV (xxx) [redacted url] .testing map[0:[redacted url]]} 2024/09/22 21:24:11 Stream Info: {nbc-fort-myers-florida-wbbh-tv-xxx NBC Fort Myers Florida WBBH TV (xxx) [redacted url] .testing map[0:[redacted url]]} 2024/09/22 21:24:11 Stream Info: {telemundo-fort-myers-florida-wwdt-cd-xxx Telemundo Fort Myers Florida WWDT CD (xxx) [redacted url] .testing map[0:[redacted url]]} 2024/09/22 21:24:11 Stream Info: {pluto-testing pluto testing null .testing map[0:[redacted url]]} 2024/09/22 21:24:11 Stream Info: {usa-abc-7-fort-myers-fl-wzvn-xxx [USA] ABC 7 FORT MYERS FL (WZVN) (xxx) loc.ABC (WZVN) Fort Myers, FL [redacted url] .testing map[0:[redacted url]]} 2024/09/22 21:24:11 Stream Info: {usa-cbs-11-fort-myers-fl-wink-xxx [USA] CBS 11 FORT MYERS FL (WINK) (xxx) loc.CBS (WINK) Fort Myers, FL [redacted url] .testing map[0:[redacted url]]} 2024/09/22 21:24:11 Stream Info: {usa-nbc-20-fort-myers-fl-wbbh-xxx [USA] NBC 20 FORT MYERS FL (WBBH) (xxx) loc.NBC (WBBH) Fort Myers, FL [redacted url] .testing map[0:[redacted url]]} 2024/09/22 21:24:11 Stream Info: {usa-telemundo-wwdt-fort-myers-xxx [USA] TELEMUNDO (WWDT) FORT MYERS (xxx) [redacted url] .testing map[0:[redacted url]]} 2024/09/22 21:24:11 Background process: Updated M3U #1 from [redacted url] 2024/09/22 21:24:11 Background process: M3U fetching complete. Saving to database... 2024/09/22 21:24:11 Background process: Updated M3U database. 2024/09/22 21:24:11 CACHE_ON_SYNC enabled. Building cache.

more logs:

bufio.(*Writer).Write(0xc0000b0400, {0xc000a72000?, 0xa9cd20?, 0xa9cd30?}) /usr/local/go/src/bufio/bufio.go:679 +0xe1 net/http.(*response).write(0xc00039a000, 0x400000, {0xc000a72000, 0x400000, 0x4dc000}, {0x0, 0x0}) /usr/local/go/src/net/http/server.go:1702 +0x2aa net/http.(*response).Write(0xc00022e410?, {0xc000a72000?, 0xc0000d8620?, 0x100000001?}) /usr/local/go/src/net/http/server.go:1665 +0x2a m3u-stream-merger/proxy.(*StreamInstance).StreamBuffer(0xc00021a600, {0x868dc0, 0xc0000ba9b0}, {0x868888, 0xc00039a000}) /app/proxy/stream_handler.go:219 +0xc5 created by m3u-stream-merger/proxy.Handler in goroutine 12 /app/proxy/stream_handler.go:330 +0x8d3 2024/09/22 21:40:27 Checking database connection... 2024/09/22 21:40:27 Starting updater... 2024/09/22 21:40:27 CLEAR_ON_BOOT enabled. Clearing current database. 2024/09/22 21:40:27 SYNC_ON_BOOT enabled. Starting initial M3U update. 2024/09/22 21:40:27 Clearing stale concurrency data from database... 2024/09/22 21:40:27 Setting up HTTP handlers... 2024/09/22 21:40:27 Server is running on port 8080... 2024/09/22 21:40:27 Playlist Endpoint is running (/playlist.m3u) 2024/09/22 21:40:27 Stream Endpoint is running (/proxy/{originalBasePath}/{streamID}.{fileExt}) 2024/09/22 21:40:27 Background process: Checking M3U_URLs... 2024/09/22 21:40:27 Background process: Fetching M3U_URL_1... 2024/09/22 21:40:27 Background process: Updating M3U #1 from [redacted url] 2024/09/22 21:40:27 Downloading M3U from URL: [redacted url] 2024/09/22 21:40:27 Parsing downloaded M3U file. 2024/09/22 21:40:27 Stream Info: {cbs-fort-myers-florida-wink-tv-xxx CBS Fort Myers Florida WINK TV (xxx) [redacted url] .testing map[0:[redacted url]]} 2024/09/22 21:40:27 Stream Info: {nbc-fort-myers-florida-wbbh-tv-xxx NBC Fort Myers Florida WBBH TV (xxx) [redacted url] .testing map[0:[redacted url]]} 2024/09/22 21:40:27 Stream Info: {telemundo-fort-myers-florida-wwdt-cd-xxx Telemundo Fort Myers Florida WWDT CD (xxx) [redacted url] .testing map[0:[redacted url]]} 2024/09/22 21:40:27 Stream Info: {cbs-fort-myers-florida-wink-tv-xxx CBS Fort Myers Florida WINK TV (xxx) [redacted url] .testing map[0:[redacted url]]} 2024/09/22 21:40:27 Stream Info: {nbc-fort-myers-florida-wbbh-tv-xxx NBC Fort Myers Florida WBBH TV (xxx) [redacted url] .testing map[0:[redacted url]]} 2024/09/22 21:40:27 Stream Info: {telemundo-fort-myers-florida-wwdt-cd-xxx Telemundo Fort Myers Florida WWDT CD (xxx) [redacted url] .testing map[0:[redacted url]]} 2024/09/22 21:40:27 Stream Info: {pluto-testing pluto testing null .testing map[0:[redacted url]]} 2024/09/22 21:40:27 Stream Info: {usa-abc-7-fort-myers-fl-wzvn-xxx [USA] ABC 7 FORT MYERS FL (WZVN) (xxx) loc.ABC (WZVN) Fort Myers, FL [redacted url] .testing map[0:[redacted url]]} 2024/09/22 21:40:27 Stream Info: {usa-cbs-11-fort-myers-fl-wink-xxx [USA] CBS 11 FORT MYERS FL (WINK) (xxx) loc.CBS (WINK) Fort Myers, FL [redacted url] .testing map[0:[redacted url]]} 2024/09/22 21:40:27 Stream Info: {usa-nbc-20-fort-myers-fl-wbbh-xxx [USA] NBC 20 FORT MYERS FL (WBBH) (xxx) loc.NBC (WBBH) Fort Myers, FL [redacted url] .testing map[0:[redacted url]]} 2024/09/22 21:40:27 Stream Info: {usa-telemundo-wwdt-fort-myers-xxx [USA] TELEMUNDO (WWDT) FORT MYERS (xxx) [redacted url] .testing map[0:[redacted url]]} 2024/09/22 21:40:27 Background process: Updated M3U #1 from [redacted url] 2024/09/22 21:40:27 Background process: M3U fetching complete. Saving to database... 2024/09/22 21:40:27 Background process: Updated M3U database. 2024/09/22 21:40:27 CACHE_ON_SYNC enabled. Building cache. 2024/09/22 21:40:28 Received request from 172.18.0.2:38480 for URL: /proxy/f9VM3693/3Fxk3483/usa-abc-7-fort-myers-fl-wzvn-xxx 2024/09/22 21:40:28 Current number of connections for M3U_1: 0 2024/09/22 21:40:28 Proxying 172.18.0.2:38480 to [redacted url] 2024/09/22 21:40:28 Current number of connections for M3U_1: 1 2024/09/22 21:41:46 Context canceled for stream: 172.18.0.2:38480 2024/09/22 21:41:46 Exit code 0 received from [redacted url] 2024/09/22 21:41:46 Client has closed the stream: 172.18.0.2:38480 2024/09/22 21:41:46 Current number of connections for M3U_1: 0 2024/09/22 21:41:48 Received request from 172.18.0.2:60996 for URL: /proxy/f9VM3693/3Fxk3483/usa-telemundo-wwdt-fort-myers-xxx 2024/09/22 21:41:48 Current number of connections for M3U_1: 0 2024/09/22 21:41:48 Proxying 172.18.0.2:60996 to [redacted url] 2024/09/22 21:41:48 Current number of connections for M3U_1: 1 2024/09/22 21:41:50 Client disconnected: 172.18.0.2:38480 2024/09/22 21:41:51 Received request from 172.18.0.2:59186 for URL: /proxy/f9VM3693/3Fxk3483/usa-abc-7-fort-myers-fl-wzvn-xxx 2024/09/22 21:41:51 Skipping M3U_1: marked as previous stream 2024/09/22 21:41:51 Current number of connections for M3U_1: 1 2024/09/22 21:41:51 Proxying 172.18.0.2:59186 to [redacted url] 2024/09/22 21:41:51 Current number of connections for M3U_1: 2 panic: runtime error: invalid memory address or nil pointer dereference [signal SIGSEGV: segmentation violation code=0x1 addr=0x18 pc=0x5fe5a1] goroutine 84 [running]: bufio.(*Writer).Write(0xc00003ac00, {0xc00102c000?, 0x0?, 0xc000096e48?}) /usr/local/go/src/bufio/bufio.go:679 +0xe1 net/http.(*response).write(0xc0000da1c0, 0x400000, {0xc00102c000, 0x400000, 0x41e000}, {0x0, 0x0}) /usr/local/go/src/net/http/server.go:1702 +0x2aa net/http.(*response).Write(0xc0002943c0?, {0xc00102c000?, 0x28?, 0xc000174e54?}) /usr/local/go/src/net/http/server.go:1665 +0x2a m3u-stream-merger/proxy.(*StreamInstance).StreamBuffer(0xc000282500, {0x868dc0, 0xc00008f090}, {0x868888, 0xc0000da1c0}) /app/proxy/stream_handler.go:219 +0xc5 created by m3u-stream-merger/proxy.Handler in goroutine 50 /app/proxy/stream_handler.go:330 +0x8d3 2024/09/22 21:41:52 Checking database connection... 2024/09/22 21:41:52 Starting updater... 2024/09/22 21:41:52 CLEAR_ON_BOOT enabled. Clearing current database. 2024/09/22 21:41:52 SYNC_ON_BOOT enabled. Starting initial M3U update. 2024/09/22 21:41:52 Clearing stale concurrency data from database... 2024/09/22 21:41:52 Setting up HTTP handlers... 2024/09/22 21:41:52 Server is running on port 8080... 2024/09/22 21:41:52 Playlist Endpoint is running (/playlist.m3u) 2024/09/22 21:41:52 Stream Endpoint is running (/proxy/{originalBasePath}/{streamID}.{fileExt}) 2024/09/22 21:41:52 Background process: Checking M3U_URLs... 2024/09/22 21:41:52 Background process: Fetching M3U_URL_1... 2024/09/22 21:41:52 Background process: Updating M3U #1 from [redacted url] 2024/09/22 21:41:52 Downloading M3U from URL: [redacted url] 2024/09/22 21:41:52 Parsing downloaded M3U file. 2024/09/22 21:41:52 Stream Info: {cbs-fort-myers-florida-wink-tv-xxx CBS Fort Myers Florida WINK TV (xxx) [redacted url] .testing map[0:[redacted url]]} 2024/09/22 21:41:52 Stream Info: {nbc-fort-myers-florida-wbbh-tv-xxx NBC Fort Myers Florida WBBH TV (xxx) [redacted url] .testing map[0:[redacted url]]} 2024/09/22 21:41:52 Stream Info: {telemundo-fort-myers-florida-wwdt-cd-xxx Telemundo Fort Myers Florida WWDT CD (xxx) [redacted url] .testing map[0:[redacted url]]} 2024/09/22 21:41:52 Stream Info: {cbs-fort-myers-florida-wink-tv-xxx CBS Fort Myers Florida WINK TV (xxx) [redacted url] .testing map[0:[redacted url]]} 2024/09/22 21:41:52 Stream Info: {nbc-fort-myers-florida-wbbh-tv-xxx NBC Fort Myers Florida WBBH TV (xxx) [redacted url] .testing map[0:[redacted url]]} 2024/09/22 21:41:52 Stream Info: {telemundo-fort-myers-florida-wwdt-cd-xxx Telemundo Fort Myers Florida WWDT CD (xxx) [redacted url] .testing map[0:[redacted url]]} 2024/09/22 21:41:52 Stream Info: {pluto-testing pluto testing null .testing map[0:[redacted url]]} 2024/09/22 21:41:52 Stream Info: {usa-abc-7-fort-myers-fl-wzvn-xxx [USA] ABC 7 FORT MYERS FL (WZVN) (xxx) loc.ABC (WZVN) Fort Myers, FL [redacted url] .testing map[0:[redacted url]]} 2024/09/22 21:41:52 Stream Info: {usa-cbs-11-fort-myers-fl-wink-xxx [USA] CBS 11 FORT MYERS FL (WINK) (xxx) loc.CBS (WINK) Fort Myers, FL [redacted url] .testing map[0:[redacted url]]} 2024/09/22 21:41:52 Stream Info: {usa-nbc-20-fort-myers-fl-wbbh-xxx [USA] NBC 20 FORT MYERS FL (WBBH) (xxx) loc.NBC (WBBH) Fort Myers, FL [redacted url] .testing map[0:[redacted url]]} 2024/09/22 21:41:52 Stream Info: {usa-telemundo-wwdt-fort-myers-xxx [USA] TELEMUNDO (WWDT) FORT MYERS (xxx) [redacted url] .testing map[0:[redacted url]]} 2024/09/22 21:41:52 Background process: Updated M3U #1 from [redacted url] 2024/09/22 21:41:52 Background process: M3U fetching complete. Saving to database... 2024/09/22 21:41:52 Background process: Updated M3U database. 2024/09/22 21:41:52 CACHE_ON_SYNC enabled. Building cache.

aniel300 avatar Sep 23 '24 01:09 aniel300

I've updated the PR. Try it again and let me know if it's more stable.

sonroyaalmerol avatar Sep 23 '24 03:09 sonroyaalmerol

behavior still happening. however, I am giving up on this since now things are back to when i first discovered this project (streams is getting disconnected and why not). having said that, I won't pursuit this anymore because of few reasons. if u want a 24-hour free trial to a m3u line/provider for u to play around with this at ur own discretion, feel free to reach me on discord. thank again for giving this a try and this amazing project. btw as it stands right now 163. is the last working build so hopefully u didn't merge this to latest beta or stable.

aniel300 avatar Sep 23 '24 03:09 aniel300

There are no differences between 163 and 164 so if 163 works, 164 should also work.

I'll be merging PR 165 sooner or later either way after I do my own tests. This PR was originally meant to allow for multiple clients to be treated as one connection on the provider side when streaming the same channel. That was something I had on my list of todos for this project. It was only bumped to priority due to the off chance that it might help the issue with your provider's intermittent connection.

sonroyaalmerol avatar Sep 23 '24 04:09 sonroyaalmerol

ahh ok. and yes, the same channel on 2 or more client while taking 1 cxn back to the provider was something i mentioned in the past although i don't think it would help in this case since am testing with 2 different channels. and also, what i said about 163 was in comparison to 165 but regardless i trust u know the way.

aniel300 avatar Sep 23 '24 04:09 aniel300

i have been playing around with 165 but am getting some high cpu usage

aniel300 avatar Sep 29 '24 11:09 aniel300