Closed aniel300 closed 2 weeks ago
got it to work with v0.6 but now is kinda stuck here
i also cant open or download the m3u. it takes forever
Hi @aniel300, can you try deleting the data folder then restarting the container? Give it a few minutes to download the original M3Us before trying to access/download the proxy M3U. I'd like to see the entire logs when you do that. If it is long, attach it as a file. Remove parts that contain your actual IPTV URLs.
i would love to do that. do u have a discord where we can debug this?
Sorry, I don't have one set up yet.
ok that is fine. right now i cant give u the logs now but i have try deleting the folder and deleting the container and then starting again and the same issue still happening. i will provide logs as soon i can
i cant get to that point, for some reason is taking long time to download and parse just 1 m3u. here are some logs. i found after testing a little that v0.6 does not have this issue but that version adds ".mp4" to live channels making them vod
runtime.goexit({})
/usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc04aa1d7e8 sp=0xc04aa1d7e0 pc=0x46dd81
created by m3u-stream-merger/m3u.ParseM3UFromURL in goroutine 6
/app/m3u/parser.go:189 +0x645
goroutine 87314 gp=0xc04aa161c0 m=nil [runnable]:
m3u-stream-merger/m3u.ParseM3UFromURL.func3()
/app/m3u/parser.go:195 fp=0xc04aa1dfe0 sp=0xc04aa1dfd8 pc=0x6bd920
runtime.goexit({})
/usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc04aa1dfe8 sp=0xc04aa1dfe0 pc=0x46dd81
created by m3u-stream-merger/m3u.ParseM3UFromURL in goroutine 6
/app/m3u/parser.go:195 +0x687
goroutine 87315 gp=0xc04aa16380 m=nil [runnable]:
m3u-stream-merger/m3u.ParseM3UFromURL.gowrap1()
/app/m3u/parser.go:183 fp=0xc04aa1e7e0 sp=0xc04aa1e7d8 pc=0x6bdc60
runtime.goexit({})
/usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc04aa1e7e8 sp=0xc04aa1e7e0 pc=0x46dd81
created by m3u-stream-merger/m3u.ParseM3UFromURL in goroutine 6
/app/m3u/parser.go:183 +0x566
goroutine 87316 gp=0xc04aa16540 m=nil [runnable]:
m3u-stream-merger/m3u.ParseM3UFromURL.gowrap2()
/app/m3u/parser.go:189 fp=0xc04aa1efe0 sp=0xc04aa1efd8 pc=0x6bda60
runtime.goexit({})
/usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc04aa1efe8 sp=0xc04aa1efe0 pc=0x46dd81
created by m3u-stream-merger/m3u.ParseM3UFromURL in goroutine 6
/app/m3u/parser.go:189 +0x645
goroutine 87317 gp=0xc04aa16700 m=nil [runnable]:
m3u-stream-merger/m3u.ParseM3UFromURL.func3()
/app/m3u/parser.go:195 fp=0xc04aa1f7e0 sp=0xc04aa1f7d8 pc=0x6bd920
runtime.goexit({})
/usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc04aa1f7e8 sp=0xc04aa1f7e0 pc=0x46dd81
created by m3u-stream-merger/m3u.ParseM3UFromURL in goroutine 6
/app/m3u/parser.go:195 +0x687
goroutine 87318 gp=0xc04aa168c0 m=nil [runnable]:
m3u-stream-merger/m3u.ParseM3UFromURL.gowrap1()
/app/m3u/parser.go:183 fp=0xc04aa1ffe0 sp=0xc04aa1ffd8 pc=0x6bdc60
runtime.goexit({})
/usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc04aa1ffe8 sp=0xc04aa1ffe0 pc=0x46dd81
created by m3u-stream-merger/m3u.ParseM3UFromURL in goroutine 6
/app/m3u/parser.go:183 +0x566
goroutine 87319 gp=0xc04aa16a80 m=nil [runnable]:
m3u-stream-merger/m3u.ParseM3UFromURL.gowrap2()
/app/m3u/parser.go:189 fp=0xc04aa0e7e0 sp=0xc04aa0e7d8 pc=0x6bda60
runtime.goexit({})
/usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc04aa0e7e8 sp=0xc04aa0e7e0 pc=0x46dd81
created by m3u-stream-merger/m3u.ParseM3UFromURL in goroutine 6
/app/m3u/parser.go:189 +0x645
goroutine 87320 gp=0xc04aa16c40 m=nil [runnable]:
m3u-stream-merger/m3u.ParseM3UFromURL.func3()
/app/m3u/parser.go:195 fp=0xc04aa0efe0 sp=0xc04aa0efd8 pc=0x6bd920
runtime.goexit({})
/usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc04aa0efe8 sp=0xc04aa0efe0 pc=0x46dd81
created by m3u-stream-merger/m3u.ParseM3UFromURL in goroutine 6
/app/m3u/parser.go:195 +0x687
goroutine 87321 gp=0xc04aa16e00 m=nil [runnable]:
m3u-stream-merger/m3u.ParseM3UFromURL.gowrap1()
/app/m3u/parser.go:183 fp=0xc04aa197e0 sp=0xc04aa197d8 pc=0x6bdc60
runtime.goexit({})
/usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc04aa197e8 sp=0xc04aa197e0 pc=0x46dd81
created by m3u-stream-merger/m3u.ParseM3UFromURL in goroutine 6
/app/m3u/parser.go:183 +0x566
goroutine 87322 gp=0xc04aa16fc0 m=nil [runnable]:
m3u-stream-merger/m3u.ParseM3UFromURL.gowrap2()
/app/m3u/parser.go:189 fp=0xc04aa19fe0 sp=0xc04aa19fd8 pc=0x6bda60
runtime.goexit({})
/usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc04aa19fe8 sp=0xc04aa19fe0 pc=0x46dd81
created by m3u-stream-merger/m3u.ParseM3UFromURL in goroutine 6
/app/m3u/parser.go:189 +0x645
goroutine 87323 gp=0xc04aa17180 m=nil [runnable]:
m3u-stream-merger/m3u.ParseM3UFromURL.func3()
/app/m3u/parser.go:195 fp=0xc04aa1a7e0 sp=0xc04aa1a7d8 pc=0x6bd920
runtime.goexit({})
/usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc04aa1a7e8 sp=0xc04aa1a7e0 pc=0x46dd81
created by m3u-stream-merger/m3u.ParseM3UFromURL in goroutine 6
/app/m3u/parser.go:195 +0x687
goroutine 87324 gp=0xc04aa17340 m=nil [runnable]:
m3u-stream-merger/m3u.ParseM3UFromURL.gowrap1()
/app/m3u/parser.go:183 fp=0xc04aa1afe0 sp=0xc04aa1afd8 pc=0x6bdc60
runtime.goexit({})
/usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc04aa1afe8 sp=0xc04aa1afe0 pc=0x46dd81
created by m3u-stream-merger/m3u.ParseM3UFromURL in goroutine 6
/app/m3u/parser.go:183 +0x566
2024/08/12 20:08:15 SYNC_ON_BOOT enabled. Starting initial M3U update.
2024/08/12 20:08:15 Server is running on port 8080...
2024/08/12 20:08:15 Playlist Endpoint is running (/playlist.m3u
)
2024/08/12 20:08:15 Stream Endpoint is running (/stream/{streamID}.{fileExt}
)
2024/08/12 20:08:15 Background process: Checking M3U_URLs...
2024/08/12 20:08:15 Background process: Fetching M3U_URL_1...
2024/08/12 20:08:15 Background process: Updating M3U #1 from http://xxx
2024/08/12 20:08:15 Downloading M3U from URL: http://xxx
it finished but only few channels were processed when it is supposed to process the entire m3u
do u know if this can be fix or should i make a new gh issue?
2024/08/13 02:56:58 Received request from xxx:2590 for URL: /stream/TEE6IFRlbGVtdW5kbyBGb3J0IE15ZXJzIEZsb3JpZGEgV1dEVCBDRA== 2024/08/13 02:56:58 Current number of connections for M3U_1: 0 2024/08/13 02:56:58 Proxying xxx:2590 to http://xxxx.xyz:8080/xxx/xxx/295847 2024/08/13 02:56:58 Current number of connections for M3U_1: 1 2024/08/13 02:59:23 Stream ended (EOF reached): xxx:2590 2024/08/13 02:59:23 Current number of connections for M3U_1: 0 2024/08/13 02:59:23 Exit code 1 received from http://xxx.xyz:8080/xxx/xxx/295847 2024/08/13 02:59:23 Server connection failed: http://xxx.xyz:8080/xxx/xxx/295847 2024/08/13 02:59:23 Retrying other servers... 2024/08/13 02:59:23 http: superfluous response.WriteHeader call from main.streamHandler (stream_handler.go:155)
Hi @aniel300, can you try the latest release, 0.11.1
? The image is still building as of writing but should be released in a few minutes. This should fix at least some of the errors you submitted.
Take note that Redis is now required for 0.11.0
and above. The README should have all the info you need.
will test and report back, thank u
Hi @aniel300, can you try the latest release,
0.11.1
? The image is still building as of writing but should be released in a few minutes. This should fix at least some of the errors you submitted.Take note that Redis is now required for
0.11.0
and above. The README should have all the info you need.
am getting "exec /gomain: no such file or directory" with latest and dev here is my compose file:
` m3uproxy: image: sonroyaalmerol/m3u-stream-merger-proxy:dev container_name: m3uproxy ports:
M3U_MAX_CONCURRENCY_1=1
restart: always
m3uproxy-redis: container_name: m3uproxy-redis image: redis restart: always
command: redis-server --save 60 1 volumes:
As mentioned in the other issue, the exec /gomain error should be fixed on the latest release. Let me know the test results for your original issue thanks!
yes the "exec /gomain" was fixed however am getting this error now
2024/08/18 12:45:51 SYNC_ON_BOOT enabled. Starting initial M3U update.
2024/08/18 12:45:51 Server is running on port 8080...
2024/08/18 12:45:51 Playlist Endpoint is running (/playlist.m3u
)
2024/08/18 12:45:51 Stream Endpoint is running (/stream/{streamID}.{fileExt}
)
2024/08/18 12:45:51 Background process: Checking M3U_URLs...
2024/08/18 12:45:51 Background process: Fetching M3U_URL_1...
2024/08/18 12:45:51 Background process: Updating M3U #1 from xxx
2024/08/18 12:45:51 Downloading M3U from URL: xxx
2024/08/18 12:45:52 Parsing downloaded M3U file.
2024/08/18 12:45:53 Background process: Updated M3U #1 from xxx
2024/08/18 12:45:53 Background process: Updated M3U database.
2024/08/18 12:46:44 GetStreams error: stream not found: PL
2024/08/18 12:46:46 GetStreams error: stream not found: PL
here are some more logs with a different m3u
2024/08/18 12:58:12 SYNC_ON_BOOT enabled. Starting initial M3U update.
2024/08/18 12:58:12 Server is running on port 8080...
2024/08/18 12:58:12 Playlist Endpoint is running (/playlist.m3u
)
2024/08/18 12:58:12 Stream Endpoint is running (/stream/{streamID}.{fileExt}
)
2024/08/18 12:58:12 Background process: Checking M3U_URLs...
2024/08/18 12:58:12 Background process: Fetching M3U_URL_1...
2024/08/18 12:58:12 Background process: Updating M3U #1 from xxx
2024/08/18 12:58:12 Downloading M3U from URL: xxx
2024/08/18 12:58:58 Parsing downloaded M3U file.
2024/08/18 12:59:01 Uncaught attribute: t=E/x² - 2020
2024/08/18 12:59:48 Background process: Updated M3U #1 from xxx
2024/08/18 12:59:48 Background process: Updated M3U database.
2024/08/18 13:00:05 GetStreams error: stream not found: PL
Can you list out the tags used by your m3u? Examples are: tvg-id, tvg-name, tvg-logo, group-title, etc. Just the tags, no need for the values.
here is just an example of one of my m3u
I see the problem now. It might be because of your m3u's tvg-id being empty. I'll see what I can do.
@sonroyaalmerol thank u bud, keep up the good work.
Can you try the dev build? The existence of tvg-id should not matter anymore by default.
did u also implemented it for the other tvgs?
still getting this on one of my m3u just fyi
2024/08/18 14:12:42 Uncaught attribute: t=E/x² - 2020
Yes, none of the tags are required for the default sorting logic.
The "Uncaught attribute" error just means that the parser was able to detect an m3u tag that I haven't implemented yet. However, that doesn't really look like an actual tag so probably an edge case with the parser that I missed. Either way, the streams should still work just fine.
If you don't mind, can you search up that specific string ("E/x² - 2020") within the source M3U? I'd like to see the entire line if possible (without the urls).
umm got this error
2024/08/18 14:13:28 Background process: Updated M3U database. 2024/08/18 14:24:06 GetStreams error: stream not found: FR - DAZN LIGUE 1 - LIGUE 2
here is how it looks inside the m3u:
am not sure if it has finished but am getting this error when trying to download or open the end result m3u
2024/08/18 14:37:55 SYNC_ON_BOOT enabled. Starting initial M3U update.
2024/08/18 14:37:55 Server is running on port 8080...
2024/08/18 14:37:55 Playlist Endpoint is running (/playlist.m3u
)
2024/08/18 14:37:55 Stream Endpoint is running (/stream/{streamID}.{fileExt}
)
2024/08/18 14:37:55 Background process: Checking M3U_URLs...
2024/08/18 14:37:55 Background process: Fetching M3U_URL_1...
2024/08/18 14:37:55 Background process: Updating M3U #1 from xxx
2024/08/18 14:37:55 Downloading M3U from URL: xxx
2024/08/18 14:38:01 Parsing downloaded M3U file.
2024/08/18 14:38:03 Uncaught attribute: Loups=Garous
2024/08/18 14:38:10 Background process: Updated M3U #1 from xxx
2024/08/18 14:38:10 Background process: Updated M3U database.
2024/08/18 14:43:33 GetStreams error: error retrieving streams: read tcp 172.18.0.10:44558->172.18.0.6:6379: i/o timeout
i dont think it has finished yet
2024/08/18 14:45:02 GetStreams error: stream not found: (My) Truth
I've optimized the redis queries in the dev build just now. Can you try it for me?
is kinda stuck now (i gave it another playlist, a more light one but it is stuck i think) 😭
Hmm, maybe you need a multithreaded database. Can you monitor your resource usage (CPU, RAM, etc.) while the background process is ongoing?
You can try replacing Redis with KeyDB. It should just be a drop-in replacement. It should be as simple as this sample:
version: '3'
services:
m3u-stream-merger-proxy:
image: sonroyaalmerol/m3u-stream-merger-proxy:dev
ports:
- "8080:8080"
environment:
- REDIS_ADDR=keydb:6379
...
restart: always
keydb:
image: eqalpha/keydb
restart: always
i got it to work with a small amount of channel using keydb and then i decided to give it everything and i got this error and am not sure if it worked, got interrupted or if it is going to work. resource usage is light in all senses.
2024/08/18 20:30:52 Background process: Updated M3U #4 from xx 2024/08/18 20:30:52 Parsing downloaded M3U file. 2024/08/18 20:30:53 Background process: Updated M3U #3 from xxx 2024/08/18 20:30:53 Background process: Updated M3U #5 from xxx 2024/08/18 20:30:57 Parsing downloaded M3U file. 2024/08/18 20:31:02 Background process: Updated M3U #2 from xxx 2024/08/18 20:31:39 Parsing downloaded M3U file. 2024/08/18 20:32:15 Background process: Error updating M3U: failed to save data to database: SaveToDb error: write tcp 172.18.0.10:39078->172.18.0.6:6379: i/o timeout 2024/08/18 20:32:15 Background process: Updated M3U database.
@sonroyaalmerol any update on this. no rush, just wondering 🙏
I've increased the timeouts from 3 seconds (default) to 1 minute in the latest dev build. That should help with the i/o timeout errors.
ok trying right now. thank you for you hard work. I shall buy you a beer some time in the near future 🙏
ok this fixed it. however now the export process is what is taking long time. here is a screenshot of the resources usage.
How many channels does your M3U have in total? I just need some estimates. I'll probably have to implement some sort of chunking for the queries to be done in parallel by KeyDB.
it is channels and vod...the db is about 300mb in size. not sure if that answers ur question.
I've added some chunking, parallelism, and caching to the queries in the dev build. If it is still slow to export, the cache should build up in the first request and will be faster on the subsequent requests.
nice. let me try it. thank you for u hard work
it didnt work. still taking forever and it never starts downloading :(
Can you attach the last few lines of the log? Just want to make sure which part is taking long
i don't think there is logs in regard to this but here is what portainer says
2024/08/20 18:02:45 Uncaught attribute: timeshift=1 2024/08/20 18:02:45 Uncaught attribute: timeshift=1 2024/08/20 18:02:45 Parsing downloaded M3U file. 2024/08/20 18:02:45 Background process: Updated M3U #4 from xxx 2024/08/20 18:02:45 Parsing downloaded M3U file. 2024/08/20 18:02:46 Background process: Updated M3U #5 from xxx 2024/08/20 18:02:46 Background process: Updated M3U #3 from xxx 2024/08/20 18:02:50 Parsing downloaded M3U file. 2024/08/20 18:02:56 Background process: Updated M3U #2 from xxx 2024/08/20 18:03:24 Parsing downloaded M3U file. 2024/08/20 18:03:57 Background process: Updated M3U #1 from xxx 2024/08/20 18:03:57 Background process: Updated M3U database.
I've added more debug logs to help us. It will now generate A LOT of logs with DEBUG=true
. We should at least have a better idea where it's getting stuck on (or if it's actually just slow).
it is not getting stuck as i can see it it is moving in the logs, it just taking some time. here are some logs and as well am trying to get more. hopefully there is no personal info leaking here
2024/08/20 19:06:27 [DEBUG] Processing stream: {princess-multi-sub-s01-e05-en-tis-time-for-torture-princess-multi-sub-s01-e05 " Princess [MULTI-SUB] S01 E05" ,EN - 'Tis Time for "Torture," Princess [MULTI-SUB] S01 E05 https://image.tmdb.org/t/p/w600_and_h900_bestv2/dQuqH4ukyfQv6k45AxwxKwMSXHH.jpg SRS | ANIME [EN] map[]} 2024/08/20 19:06:27 [DEBUG] Processing stream: {allo-allo-s01e06 'Allo 'Allo! S01E06 http://tmsmadness.com:80/images/58ee5f3a00254b6f80b4ccd5fba4c90a.jpg BBC | SERIES map[]} 2024/08/20 19:06:27 [DEBUG] Processing stream: {chile-general ##### CHILE - GENERAL ##### http://go4.pw/MAGFLAGS/CHELI.png AM | LATINO map[]} 2024/08/20 19:06:27 [DEBUG] Processing stream: {il-sports ##### IL - SPORTS ##### http://go4.pw/FLAGS/flag_israel.png AS | HEBREW map[]} 2024/08/20 19:06:27 [DEBUG] Processing stream: {dazn-ligue-ligue-2 ##### DAZN LIGUE LIGUE 2 ##### http://go4.pw/EUROPE/FRANCE/flag_france.png EU | FRANCE DAZN map[]} 2024/08/20 19:06:27 [DEBUG] Processing stream: {south-africa-general ##### SOUTH AFRICA - GENERAL ##### http://go4.pw/FLAGS/flag_south_africa.png AF | SOUTH AFRICA map[]} 2024/08/20 19:06:27 [DEBUG] Processing stream: {kinderen ##### KINDEREN ##### http://go4.pw/EUROPE/BELGIUM/BELGIUM/belgie.png EU | BELGIUM map[]} 2024/08/20 19:06:27 [DEBUG] Processing stream: {ppv-mma #### PPV MMA #### http://go4.pw/AMERICA/USA/mma.png AM | USA | PPV map[]} 2024/08/20 19:06:27 [DEBUG] Processing stream: {puerto-rico ##### PUERTO RICO ###### http://go4.pw/FLAGS/flag_puerto_rico.png AM | LATINO map[]} 2024/08/20 19:06:27 [DEBUG] Processing stream: {24-7-documentaires ###24/7-DOCUMENTAIRES### https://lo1.in/uk/247.png EU | 24/7 FRENCH map[]} 2024/08/20 19:06:32 [DEBUG] Processing stream: {qa-qatar ##### QA - QATAR ##### http://go4.pw/ASIA/QATAR/QATAR.png AR | QATAR map[]} 2024/08/20 19:06:32 [DEBUG] Processing stream: {24-7-enfants ###24/7-ENFANTS### https://lo1.in/uk/247.png EU | 24/7 FRENCH map[]} 2024/08/20 19:06:32 [DEBUG] Processing stream: {in-uk-india-europe-uk ##### IN|UK - INDIA [EUROPE/UK] http://go4.pw/FLAGS/flag_india.png AS | INDIA UK map[]} 2024/08/20 19:06:32 [DEBUG] Processing stream: {cinema-high-quality-fhd ##### CINEMA HIGH QUALITY FHD ##### http://go4.pw/EUROPE/FRANCE/flag_france.png EU | FRANCE CINEMA map[]} 2024/08/20 19:06:32 [DEBUG] Processing stream: {south-africa-kids ##### SOUTH AFRICA - KIDS ##### http://go4.pw/FLAGS/flag_south_africa.png AF | SOUTH AFRICA map[]} 2024/08/20 19:06:32 [DEBUG] Processing stream: {princess-multi-sub-s01-e06-en-tis-time-for-torture-princess-multi-sub-s01-e06 " Princess [MULTI-SUB] S01 E06" ,EN - 'Tis Time for "Torture," Princess [MULTI-SUB] S01 E06 https://image.tmdb.org/t/p/w600_and_h900_bestv2/zsSEI7Nly0mloaEAVRP9Wjd9pR7.jpg SRS | ANIME [EN] map[]} 2024/08/20 19:06:32 [DEBUG] Processing stream: {allo-allo-s01e07 'Allo 'Allo! S01E07 http://tmsmadness.com:80/images/ceb289b3ecb34582c4fd3230db0fad1e.jpg BBC | SERIES map[]} 2024/08/20 19:06:32 [DEBUG] Processing stream: {ppv-ufc #### PPV UFC #### http://go4.pw/AMERICA/USA/UFC.png AM | USA | PPV map[]} 2024/08/20 19:06:32 [DEBUG] Processing stream: {digitalb-tv ##### DIGITALB TV ##### http://go4.pw/AFRICA/ALBANIA/Digitalb_logo.png EU | ALB | FILMA & SERIALE map[]} 2024/08/20 19:06:32 [DEBUG] Processing stream: {kinema-channels ##### KINEMA + CHANNELS ##### http://go4.pw/MAGFLAGS/ALBANIA.png EU | ALB | FILMA & SERIALE map[]} 2024/08/20 19:06:37 [DEBUG] Processing stream: {ppv-wrestling #### PPV WRESTLING #### http://go4.pw/AMERICA/USA/-wrestling-.png AM | USA | PPV map[]} 2024/08/20 19:06:37 [DEBUG] Processing stream: {kr-korea ##### KR - KOREA ##### http://go4.pw/MAGFLAGS/SOUTH-KOREA.png AS | ASIA map[]} 2024/08/20 19:06:37 [DEBUG] Processing stream: {allo-allo-s02e01 'Allo 'Allo! S02E01 http://tmsmadness.com:80/images/a4cd89b6c954ec63e82e81d93ffa6c9c.jpg BBC | SERIES map[]} 2024/08/20 19:06:37 [DEBUG] Processing stream: {cinema-high-quality-hevc ##### CINEMA HIGH QUALITY HEVC ##### http://go4.pw/EUROPE/FRANCE/flag_france.png EU | FRANCE CINEMA map[]} 2024/08/20 19:06:37 [DEBUG] Processing stream: {south-africa-movies ##### SOUTH AFRICA - MOVIES ##### http://go4.pw/FLAGS/flag_south_africa.png AF | SOUTH AFRICA map[]} 2024/08/20 19:06:37 [DEBUG] Processing stream: {discovery-channels ##### DISCOVERY CHANNELS ##### http://go4.pw/MAGFLAGS/ALBANIA.png EU | ALB | FILMA & SERIALE map[]} 2024/08/20 19:06:37 [DEBUG] Processing stream: {princess-multi-sub-s01-e07-en-tis-time-for-torture-princess-multi-sub-s01-e07 " Princess [MULTI-SUB] S01 E07" ,EN - 'Tis Time for "Torture," Princess [MULTI-SUB] S01 E07 https://image.tmdb.org/t/p/w600_and_h900_bestv2/A8C0LWr9JkwWf2MVExtbWH39vXL.jpg SRS | ANIME [EN] map[]} 2024/08/20 19:06:37 [DEBUG] Processing stream: {24-7-films ###24/7-FILMS### https://lo1.in/uk/247.png EU | 24/7 FRENCH map[]} 2024/08/20 19:06:37 [DEBUG] Processing stream: {iq-iraq ##### IQ - IRAQ ##### http://go4.pw/ASIA/IRAQ/IRAQ.png AR | IRAQ map[]} 2024/08/20 19:06:37 [DEBUG] Processing stream: {ro-cinema ##### RO - CINEMA ##### http://go4.pw/MAGFLAGS/ROMANIA.png EU | ROMANIA map[]} 2024/08/20 19:06:43 [DEBUG] Processing stream: {ro-discovery ##### RO - DISCOVERY ##### http://go4.pw/MAGFLAGS/ROMANIA.png EU | ROMANIA map[]} 2024/08/20 19:06:43 [DEBUG] Processing stream: {cinema-low-quality-sd ##### CINEMA LOW QUALITY SD ##### http://go4.pw/EUROPE/FRANCE/flag_france.png EU | FRANCE CINEMA map[]} 2024/08/20 19:06:43 [DEBUG] Processing stream: {ir-entertainment ##### IR - ENTERTAINMENT ##### http://go4.pw/IRAN/iran.png AS | IRAN map[]} 2024/08/20 19:06:43 [DEBUG] Processing stream: {princess-multi-sub-s01-e08-en-tis-time-for-torture-princess-multi-sub-s01-e08 " Princess [MULTI-SUB] S01 E08" ,EN - 'Tis Time for "Torture," Princess [MULTI-SUB] S01 E08 https://image.tmdb.org/t/p/w600_and_h900_bestv2/5pNBgoxFIyKytUKsnuOOJAShi4w.jpg SRS | ANIME [EN] map[]} 2024/08/20 19:06:43 [DEBUG] Processing stream: {dk-documentary ##### DK - DOCUMENTARY ##### http://go4.pw/FLAGS/flag_denmark.png EU | DENMARK map[]} 2024/08/20 19:06:43 [DEBUG] Processing stream: {allo-allo-s02e02 'Allo 'Allo! S02E02 http://tmsmadness.com:80/images/b29675227503f6ead50f7be8b26fcb46.jpg BBC | SERIES map[]} 2024/08/20 19:06:43 [DEBUG] Processing stream: {24-7-les-series ###24/7-LES SÉRIES### https://lo1.in/uk/247.png EU | 24/7 FRENCH map[]} 2024/08/20 19:06:43 [DEBUG] Processing stream: {soccer #### SOCCER #### http://go4.pw/AMERICA/USA/soccer.png AM | USA | SOCCER map[]} 2024/08/20 19:06:43 [DEBUG] Processing stream: {south-africa-music ##### SOUTH AFRICA - MUSIC ##### http://go4.pw/FLAGS/flag_south_africa.png AF | SOUTH AFRICA map[]} 2024/08/20 19:06:43 [DEBUG] Processing stream: {ku-kurdish ##### KU - KURDISH ##### http://go4.pw/MAGFLAGS/KURDISTAN.png AS | KURDISTAN map[]} 2024/08/20 19:06:48 [DEBUG] Processing stream: {ku-neteweye ##### KU -NETEWEYÊ ##### http://go4.pw/FLAGS/flag_kurdistan.png AS | KURDISTAN map[]} 2024/08/20 19:06:48 [DEBUG] Processing stream: {princess-multi-sub-s01-e09-en-tis-time-for-torture-princess-multi-sub-s01-e09 " Princess [MULTI-SUB] S01 E09" ,EN - 'Tis Time for "Torture," Princess [MULTI-SUB] S01 E09 https://image.tmdb.org/t/p/w600_and_h900_bestv2/mXxr2HqR88JwvUJ5NtBZHV29efh.jpg SRS | ANIME [EN] map[]} 2024/08/20 19:06:48 [DEBUG] Processing stream: {ro-kids ##### RO - KIDS ##### http://go4.pw/MAGFLAGS/ROMANIA.png EU | ROMANIA map[]} 2024/08/20 19:06:48 [DEBUG] Processing stream: {dk-entertainment ##### DK - ENTERTAINMENT ##### http://go4.pw/FLAGS/flag_denmark.png EU | DENMARK map[]} 2024/08/20 19:06:48 [DEBUG] Processing stream: {24-7-germany ##### 24/7 GERMANY ##### http://go4.pw/GOLDTV/gold tv.png EU | DE | FILM UND SERIE map[]} 2024/08/20 19:06:48 [DEBUG] Processing stream: {south-africa-religious ##### SOUTH AFRICA - RELIGIOUS ##### http://go4.pw/FLAGS/flag_south_africa.png AF | SOUTH AFRICA map[]} 2024/08/20 19:06:48 [DEBUG] Processing stream: {allo-allo-s02e03 'Allo 'Allo! S02E03 http://tmsmadness.com:80/images/dd27118868bcbddd9effdd04d498e9c8.jpg BBC | SERIES map[]} 2024/08/20 19:06:48 [DEBUG] Processing stream: {1-cheerleader-camp-2010 #1 Cheerleader Camp - 2010 https://image.tmdb.org/t/p/w600_and_h900_bestv2/jnZ9RiTyusgR3D6QOhF7CAI44TK.jpg VOD | COMEDY [EN] map[]} 2024/08/20 19:06:48 [DEBUG] Processing stream: {cn-china ##### CN - CHINA ##### http://go4.pw/FLAGS/flag_china.png AS | ASIA map[]} 2024/08/20 19:06:48 [DEBUG] Processing stream: {ir-gem ##### IR - GEM ##### http://go4.pw/IRAN/GEM.png AS | IRAN map[]} 2024/08/20 19:06:53 [DEBUG] Processing stream: {ir-general ##### IR - GENERAL ##### http://go4.pw/IRAN/iran.png AS | IRAN map[]} 2024/08/20 19:06:53 [DEBUG] Processing stream: {ro-music ##### RO - MUSIC ##### http://go4.pw/MAGFLAGS/ROMANIA.png EU | ROMANIA map[]} 2024/08/20 19:06:53 [DEBUG] Processing stream: {south-africa-sport ##### SOUTH AFRICA - SPORT ##### http://go4.pw/FLAGS/flag_south_africa.png AF | SOUTH AFRICA map[]} 2024/08/20 19:06:53 [DEBUG] Processing stream: {allo-allo-s02e04 'Allo 'Allo! S02E04 http://tmsmadness.com:80/images/3186fd142f70159de1389edefe704855.jpg BBC | SERIES map[]} 2024/08/20 19:06:53 [DEBUG] Processing stream: {cn-documentary ##### CN - DOCUMENTARY ##### http://go4.pw/FLAGS/flag_china.png AS | ASIA map[]} 2024/08/20 19:06:53 [DEBUG] Processing stream: {alb-music ##### ALB - MUSIC ##### http://go4.pw/MAGFLAGS/ALBANIA.png EU | ALB | MUZIKA map[]} 2024/08/20 19:06:53 [DEBUG] Processing stream: {dk-general ##### DK - GENERAL ##### http://go4.pw/FLAGS/flag_denmark.png EU | DENMARK map[]} 2024/08/20 19:06:53 [DEBUG] Processing stream: {ku-vip ##### KU VIP ##### http://go4.pw/FLAGS/flag_kurdistan.png AS | KURDISTAN map[]} 2024/08/20 19:06:53 [DEBUG] Processing stream: {blackaf-s01e01 #blackAF S01E01 http://tmsmadness.com:80/images/6d830711fe96f3681fbea15a811884d7.jpg NETFLIX SERIES map[]} 2024/08/20 19:06:53 [DEBUG] Processing stream: {princess-multi-sub-s01-e10-en-tis-time-for-torture-princess-multi-sub-s01-e10 " Princess [MULTI-SUB] S01 E10" ,EN - 'Tis Time for "Torture," Princess [MULTI-SUB] S01 E10 https://image.tmdb.org/t/p/w600_and_h900_bestv2/8shSrhUG3HPeHPXjczVP3zjVsAL.jpg SRS | ANIME [EN] map[]} 2024/08/20 19:06:58 [DEBUG] Processing stream: {princess-multi-sub-s01-e11-en-tis-time-for-torture-princess-multi-sub-s01-e11 " Princess [MULTI-SUB] S01 E11" ,EN - 'Tis Time for "Torture," Princess [MULTI-SUB] S01 E11 https://image.tmdb.org/t/p/w600_and_h900_bestv2/sYQe3Hh2lTyBmS7424qeUCOr6TD.jpg SRS | ANIME [EN] map[]} 2024/08/20 19:06:58 [DEBUG] Processing stream: {allo-allo-s02e05 'Allo 'Allo! S02E05 http://tmsmadness.com:80/images/43e6d5bdd6c4d36b371a0281d992eb8f.jpg BBC | SERIES map[]} 2024/08/20 19:06:58 [DEBUG] Processing stream: {kujtesa-sport ##### KUJTESA SPORT ##### http://go4.pw/MAGFLAGS/ALBANIA.png EU | ALB | SPORT map[]} 2024/08/20 19:06:58 [DEBUG] Processing stream: {dk-kids ##### DK - KIDS ##### http://go4.pw/FLAGS/flag_denmark.png EU | DENMARK map[]} 2024/08/20 19:06:58 [DEBUG] Processing stream: {france-sports ##### FRANCE SPORTS ##### http://go4.pw/EUROPE/FRANCE/flag_france.png EU | FRANCE SPORTS map[]} 2024/08/20 19:06:58 [DEBUG] Processing stream: {ro-romania ##### RO - ROMANIA ##### http://go4.pw/MAGFLAGS/ROMANIA.png EU | ROMANIA map[]} 2024/08/20 19:06:58 [DEBUG] Processing stream: {ir-iran ##### IR - IRAN ##### http://go4.pw/MAGFLAGS/IRAN.png AS | IRAN map[]} 2024/08/20 19:06:58 [DEBUG] Processing stream: {blackaf-s01e02 #blackAF S01E02 http://tmsmadness.com:80/images/2da61fca0b8ae9cd6748d47071bd804b.jpg NETFLIX SERIES map[]} 2024/08/20 19:06:58 [DEBUG] Processing stream: {sp-spain ##### SP - SPAIN ##### http://go4.pw/EUROPE/SPAIN/SPAIN.png EU | ES | GENERAL map[]} 2024/08/20 19:06:58 [DEBUG] Processing stream: {cn-entertainment ##### CN - ENTERTAINMENT ##### http://go4.pw/FLAGS/flag_china.png AS | ASIA map[]} 2024/08/20 19:07:04 [DEBUG] Processing stream: {sport ##### SPORT ##### http://go4.pw/FLAGS/flag_germany.png EU | DE | SPORTS map[]} 2024/08/20 19:07:04 [DEBUG] Processing stream: {cn-general ##### CN - GENERAL ##### http://go4.pw/FLAGS/flag_china.png AS | ASIA map[]} 2024/08/20 19:07:04 [DEBUG] Processing stream: {blackaf-s01e03 #blackAF S01E03 http://tmsmadness.com:80/images/ba85a91121656c55f4cf2637ff1c3c3e.jpg NETFLIX SERIES map[]} 2024/08/20 19:07:04 [DEBUG] Processing stream: {dk-movies ##### DK - MOVIES ##### http://go4.pw/FLAGS/flag_denmark.png EU | DENMARK map[]} 2024/08/20 19:07:04 [DEBUG] Processing stream: {ro-sports ##### RO - SPORTS ##### http://go4.pw/MAGFLAGS/ROMANIA.png EU | ROMANIA map[]} 2024/08/20 19:07:04 [DEBUG] Processing stream: {ir-kids ##### IR - KIDS ##### http://go4.pw/IRAN/iran.png AS | IRAN map[]} 2024/08/20 19:07:04 [DEBUG] Processing stream: {kw-kuwait ##### KW - KUWAIT ##### http://go4.pw/ASIA/KUWAIT/KUWAIT.png AR | KUWAIT map[]} 2024/08/20 19:07:04 [DEBUG] Processing stream: {haiti ##### HAITI ##### http://go4.pw/LATINO/flag/haiti.png AM | CARIBBIEAN map[]} 2024/08/20 19:07:04 [DEBUG] Processing stream: {princess-multi-sub-s01-e12-en-tis-time-for-torture-princess-multi-sub-s01-e12 " Princess [MULTI-SUB] S01 E12" ,EN - 'Tis Time for "Torture," Princess [MULTI-SUB] S01 E12 https://image.tmdb.org/t/p/w600_and_h900_bestv2/gR65dWsXEXFffF7ERGhu37ZwoDQ.jpg SRS | ANIME [EN] map[]} 2024/08/20 19:07:04 [DEBUG] Processing stream: {allo-allo-s02e06 'Allo 'Allo! S02E06 http://tmsmadness.com:80/images/54836493ecedf1ce869422ed30c7e388.jpg BBC | SERIES map[]} 2024/08/20 19:07:09 [DEBUG] Processing stream: {allo-allo-s02e07 'Allo 'Allo! S02E07 http://tmsmadness.com:80/images/54836493ecedf1ce869422ed30c7e388.jpg BBC | SERIES map[]} 2024/08/20 19:07:09 [DEBUG] Processing stream: {rtl-sports ##### RTL+ SPORTS ##### http://go4.pw/FLAGS/flag_germany.png EU | DE | SPORTS map[]} 2024/08/20 19:07:09 [DEBUG] Processing stream: {cambodia ### CAMBODIA ### http://go4.pw/cambodia/flg.png AS | CAMBODIA map[]} 2024/08/20 19:07:09 [DEBUG] Processing stream: {ir-movies ##### IR - MOVIES ##### http://go4.pw/IRAN/iran.png AS | IRAN map[]} 2024/08/20 19:07:09 [DEBUG] Processing stream: {dk-music ##### DK - MUSIC ##### http://go4.pw/FLAGS/flag_denmark.png EU | DENMARK map[]} 2024/08/20 19:07:09 [DEBUG] Processing stream: {lajme ##### LAJME ##### http://go4.pw/MAGFLAGS/ALBANIA.png EU | ALB | LAJME map[]} 2024/08/20 19:07:09 [DEBUG] Processing stream: {hd-quality ##### HD QUALITY ##### http://go4.pw/MY-HD/MYHD-PREMIUM.png AR | MYHD PREMIUM map[]} 2024/08/20 19:07:09 [DEBUG] Processing stream: {sports ##### SPORTS ##### http://go4.pw/MAGFLAGS/ALBANIA.png EU | ALB | SPORT map[]} 2024/08/20 19:07:09 [DEBUG] Processing stream: {blackaf-s01e04 #blackAF S01E04 http://tmsmadness.com:80/images/4dd73dd2da08329aff6962e40efe1719.jpg NETFLIX SERIES map[]} 2024/08/20 19:07:09 [DEBUG] Processing stream: {cn-movies ##### CN - MOVIES ##### http://go4.pw/FLAGS/flag_china.png AS | ASIA map[]} 2024/08/20 19:07:14 [DEBUG] Processing stream: {blackaf-s01e05 #blackAF S01E05 http://tmsmadness.com:80/images/97860b04a2c64f3ebbc41a1bd61e9423.jpg NETFLIX SERIES map[]} 2024/08/20 19:07:14 [DEBUG] Processing stream: {colombia-general ##### COLOMBIA GENERAL ##### http://go4.pw/LATINO/flag/COLOMBIANA.png AM | LATINO map[]} 2024/08/20 19:07:14 [DEBUG] Processing stream: {latino-general ##### LATINO - GENERAL ##### http://go4.pw/LATINO/flag/Latinoflag.png AM | LATINO map[]} 2024/08/20 19:07:14 [DEBUG] Processing stream: {movies ##### MOVIES ##### http://go4.pw/FLAGS/flag_greece.png EU | GREECE map[]} 2024/08/20 19:07:14 [DEBUG] Processing stream: {sportsnet ##### SPORTSNET ##### http://go4.pw/CANADA/SPORTSNET.png AM | CA | SPORTS map[]} 2024/08/20 19:07:14 [DEBUG] Processing stream: {kazahkstan ### KAZAHKSTAN ### http://go4.pw/ASIA/KAZAKHISTAN.png AS | KAZAHKSTAN map[]} 2024/08/20 19:07:14 [DEBUG] Processing stream: {dk-sports ##### DK - SPORTS ##### http://go4.pw/FLAGS/flag_denmark.png EU | DENMARK map[]} 2024/08/20 19:07:14 [DEBUG] Processing stream: {ir-music ##### IR - MUSIC ##### http://go4.pw/IRAN/iran.png AS | IRAN map[]} 2024/08/20 19:07:14 [DEBUG] Processing stream: {rugby-uk-events ##### Rugby - UK Events ##### http://go4.pw/UK/Rugby.png EU | UK EVENTS map[]} 2024/08/20 19:07:14 [DEBUG] Processing stream: {allo-allo-s03e01 'Allo 'Allo! S03E01 http://38.101.149.83:80/images/4f3b3a09904ceacd50e811f9352074f0.jpg BBC | SERIES map[]}
I've added CACHE_ON_SYNC
env var which enables cache building in the background after every sync process just so you can leave it while it builds. After the cache has been built, it should be faster as it is data straight from your memory. Also, you might want to increase the PARSER_WORKERS
value from the default which is 5. This is probably the best I can do right now. I'll have to revisit this another time.
ok let me try that and yes thank u for all ur time and effort, i really appreciate it
there is an error pretending to CACHE_ON_SYNC but am having a hard time catching it with portainer
can u remove all the url stuff from the debug?
Closing this issue as the initial problem seems to be resolved at this point and has gone off to multiple different problems. Feel free to create new separate issues if needed.
m3u-stream-merger/database.(Instance).GetStreamByTitle(0xc00018a000, {0xc014aef8fe, 0x1a}) /app/database/db.go:331 +0xdc fp=0xc036563c88 sp=0xc036563af0 pc=0x52c29c m3u-stream-merger/m3u.insertStreamToDb(0xc00018a000, {0x0, {0xc014aef8fe, 0x1a}, {0x0, 0x0}, {0xc00d0a1d7b, 0x43}, {0xc00d0a1dcd, 0x9}, ...}) /app/m3u/parser.go:67 +0x68 fp=0xc036563eb0 sp=0xc036563c88 pc=0x6bc3a8 m3u-stream-merger/m3u.ParseM3UFromURL.func1(0x3132453430532066?) /app/m3u/parser.go:185 +0xdd fp=0xc036563fc8 sp=0xc036563eb0 pc=0x6bdd9d m3u-stream-merger/m3u.ParseM3UFromURL.gowrap1() /app/m3u/parser.go:186 +0x24 fp=0xc036563fe0 sp=0xc036563fc8 pc=0x6bdc84 runtime.goexit({}) /usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc036563fe8 sp=0xc036563fe0 pc=0x46dd81 created by m3u-stream-merger/m3u.ParseM3UFromURL in goroutine 37 /app/m3u/parser.go:183 +0x566 goroutine 130620 gp=0xc03094b500 m=nil [chan receive]: runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?) /usr/local/go/src/runtime/proc.go:402 +0xce fp=0xc02e391ec0 sp=0xc02e391ea0 pc=0x43c38e runtime.chanrecv(0xc0232b61e0, 0xc02e391fc0, 0x1) /usr/local/go/src/runtime/chan.go:583 +0x3bf fp=0xc02e391f38 sp=0xc02e391ec0 pc=0x40871f runtime.chanrecv1(0x16?, 0x0?) /usr/local/go/src/runtime/chan.go:442 +0x12 fp=0xc02e391f60 sp=0xc02e391f38 pc=0x408352 m3u-stream-merger/m3u.ParseM3UFromURL.func3() /app/m3u/parser.go:196 +0x26 fp=0xc02e391fe0 sp=0xc02e391f60 pc=0x6bd946 runtime.goexit({}) /usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc02e391fe8 sp=0xc02e391fe0 pc=0x46dd81 created by m3u-stream-merger/m3u.ParseM3UFromURL in goroutine 37 /app/m3u/parser.go:195 +0x687 goroutine 130621 gp=0xc03094b6c0 m=nil [sync.Mutex.Lock]: runtime.gopark(0xc035930f80?, 0x4448ed?, 0xa0?, 0xf?, 0x4696e6?) /usr/local/go/src/runtime/proc.go:402 +0xce fp=0xc035930f20 sp=0xc035930f00 pc=0x43c38e runtime.goparkunlock(...) /usr/local/go/src/runtime/proc.go:408 runtime.semacquire1(0xb700c4, 0x0, 0x3, 0x1, 0x15) /usr/local/go/src/runtime/sema.go:160 +0x225 fp=0xc035930f88 sp=0xc035930f20 pc=0x44e745 sync.runtime_SemacquireMutex(0xc0be249000?, 0x78?, 0xc01a6df808?) /usr/local/go/src/runtime/sema.go:77 +0x25 fp=0xc035930fc0 sp=0xc035930f88 pc=0x46a465 sync.(Mutex).lockSlow(0xb700c0) /usr/local/go/src/sync/mutex.go:171 +0x15d fp=0xc035931010 sp=0xc035930fc0 pc=0x476dfd sync.(Mutex).Lock(...) /usr/local/go/src/sync/mutex.go:90 github.com/mattn/go-sqlite3.newHandle(0xc0200c00c0, {0x7f23c0, 0xc000d7f340}) /go/pkg/mod/github.com/mattn/go-sqlite3@v1.14.22/callback.go:110 +0x5e fp=0xc035931068 sp=0xc035931010 pc=0x5128be github.com/mattn/go-sqlite3.(SQLiteConn).RegisterFunc(0xc0200c00c0, {0x85157f, 0xc}, {0x7ef220, 0xc00d1a4d90}, 0x1) /go/pkg/mod/github.com/mattn/go-sqlite3@v1.14.22/sqlite3.go:676 +0x659 fp=0xc035931158 sp=0xc035931068 pc=0x516b59 github.com/mattn/go-sqlite3.(SQLiteDriver).Open(0xc0000d0080, {0xc000192000, 0x14}) /go/pkg/mod/github.com/mattn/go-sqlite3@v1.14.22/sqlite3.go:1589 +0x32fb fp=0xc035931788 sp=0xc035931158 pc=0x51b55b database/sql.dsnConnector.Connect(...) /usr/local/go/src/database/sql/sql.go:791 database/sql.(dsnConnector).Connect(0x20?, {0x0?, 0xc034fbc700?})