Jump to content

Plugin: Export VODS from .m3u - split m3u livetv, tvshows, movies (Going BETA!!)


Recommended Posts

Posted
1 hour ago, mickle026 said:

Depends what you want,
Put the 2 of them in include and it will ignore the rest (it will ignore live tv and movies too though)
Put something like:
"EN - ","Action VOD" in includes
and
"XXX" in excludes
in includes and it will include all "EN - ", so all live tv, movies etc, but then only include "Action VOD" and it will ignore all "XXX"

Have a play on a smaller m3u file, copy some of what you want and some of what you dont want into a new txt file and run it on another output folder

 

further down in the options you can choose only to output movies, only live tv, only tv shows, or a combination, its up to you!

ty, i'll keep testing!  on a different note, i just did a couple fresh runs from scratch with the last version you posted.  Not sure if anyone else is experiencing this but regardless of setting it's outputting directories/files for LIVE TV, TV Shows, and Movies even with only Movies selected.

image.png.df7334b0213441edf656cd74cc473392.png

mickle026
Posted (edited)
14 minutes ago, goin3d said:

ty, i'll keep testing!  on a different note, i just did a couple fresh runs from scratch with the last version you posted.  Not sure if anyone else is experiencing this but regardless of setting it's outputting directories/files for LIVE TV, TV Shows, and Movies even with only Movies selected.

image.png.df7334b0213441edf656cd74cc473392.png

yes, there no options yet

I really should write that in these posts! - I am trying to give a lot of info, but I forgot that!

It also wont download poster images again, thats not copied across yet either!

Edited by mickle026
Posted
2 minutes ago, mickle026 said:

yes, there no options yet

I really should write that in these posts! - I am trying to give a lot of info, but I forgot that!

It also wont download poster images again, thats not copied across yet either!

HA!  no worries!! at least i know i'm not going crazy LOL.

Apotropaic
Posted (edited)
8 hours ago, mickle026 said:

yes, there no options yet

I really should write that in these posts! - I am trying to give a lot of info, but I forgot that!

It also wont download poster images again, thats not copied across yet either!

Ah, now I know why what usually takes 5 minutes took 55, as I don't include or exclude anything!

Update: Just completed a scan with the delete option and it took 1 hour 19 minutes which is a vast improvement over the 4/5 hours it was taking before even though it's now also extracting out the Live TV and Movies into strms as well. This was also at 50% CPU. Will be interesting to see how fast it will be just extracting out the TV Shows and filtering out the Group Titles.

17.Apr.2025 - 09:55:39 Task Duration: 01:19:24.77

on: 01:19:24.77
Edited by jaspalgill
Testing update
sundevil67
Posted

When I try to run the process from the plugin's configuration page, it seems to start, but when i visit the scheduled tasks page, it just shows the last time it ran & doesn't seem to be in progress until I hit the start button. I'm pretty sure this has been happening all along, and certainly not a big deal (unless starting it twice creates a problem; but next time I'll just do it from the scheduled tasks page), but I figured I'd mention it. I'm using MacOS server.

mickle026
Posted
1 hour ago, sundevil67 said:

When I try to run the process from the plugin's configuration page, it seems to start, but when i visit the scheduled tasks page, it just shows the last time it ran & doesn't seem to be in progress until I hit the start button. I'm pretty sure this has been happening all along, and certainly not a big deal (unless starting it twice creates a problem; but next time I'll just do it from the scheduled tasks page), but I figured I'd mention it. I'm using MacOS server.

They are 2 different triggers.

The scheduled Task page is wrapped in a separate handler and will report progress.
The config page isn't wrapped in a handler and won't show progress.

If you click them both it might run twice in parallel.  I added code so it doesn't run twice though, it should spin off a second log that says "DuplicateRequestLog-{Date and Time}.txt" and inside it will inform you it got cancelled/didn't start it.  (this is what should happen if its already running)

mickle026
Posted

The latest build is attached for testing,

memory/cpu limiter on output,
selectors working for vod folder options: TV Show, Movie, Live TV 
poster image downloader re-instated

VODtoSTRMscheduledTask.dll

Posted

just did a fresh run using the new version on an empty folder: 402693 total items (movies and series only, did not select Live TV), across two different stream files. All CPU cores, no low memory mode.  Total time was 20 minutes.  

mickle026
Posted
45 minutes ago, goin3d said:

just did a fresh run using the new version on an empty folder: 402693 total items (movies and series only, did not select Live TV), across two different stream files. All CPU cores, no low memory mode.  Total time was 20 minutes.  

Is that OK?

Did it behave properly?

Any Issues?

Posted
20 minutes ago, mickle026 said:

Is that OK?

Did it behave properly?

Any Issues?

From what i can tell this last build is overall the cleanest yet.  So far all of the options and filters are working correctly and seems fast for the amount of items it's processing.

sundevil67
Posted
7 hours ago, mickle026 said:

They are 2 different triggers.

The scheduled Task page is wrapped in a separate handler and will report progress.
The config page isn't wrapped in a handler and won't show progress.

If you click them both it might run twice in parallel.  I added code so it doesn't run twice though, it should spin off a second log that says "DuplicateRequestLog-{Date and Time}.txt" and inside it will inform you it got cancelled/didn't start it.  (this is what should happen if its already running)

Ah, I see. At the moment, it looks like it is stuck at 2% on both screens. The GREAT news however, is that it looks like the one-episode per show problem is solved, and the TV shows (back to 2023 anyway) are now showing up!!! Of course now I'm greedy & want the movies to work to, and want to start tinkering with the split/multiple M3U file option. I'll try that in a separate testing library when I have a chance, but for now, I guess I'll let it sit overnight to confirm if it is in fact stuck or running concurrently like you said it might (unless you pop on here tonight & tell me there's a good reason to shut it down now & try again with the newer version of the plugin).

Anyway, regardless of all that, I am absolutely thrilled you've gotten me this far with something I have been trying to figure out how to do for YEARS now. All of this traffic in this thread tells me I was far from the only one interested in this. My parents thank you too - as this means we can all download subtitles on the fly, something none of the other IPTV apps seem to be able to do.... All of your work is really appreciated.

Screenshot 2025-04-17 at 8.33.38 PM.png

Screenshot 2025-04-17 at 8.33.28 PM.png

sundevil67
Posted

hmmm. It's getting stuck on 2% now every time I try to run the task 🤔

mickle026
Posted
2 minutes ago, sundevil67 said:

hmmm. It's getting stuck on 2% now every time I try to run the task 🤔

The progress bar will sit at 2% will it reads the directories that exist already, you are better off checking the logs and see if it's written more to them.  It won't advance until it starts processing the m3u file.

It reads the existing directories, opens every strm files and reads the links. It will sit at 2% all the time it does this.

It reads the m3u files and does the required processing on it.  The progress bar should move when it does this.

It writes the output files required.  Progress bar is probably not working for this bit yet.

It cleans up, deleting what shouldn't be there. Progress bar is probably not working for this bit either.

The progress bar in scheduled task is not accurate, I state that in the very first post of this thread.

 

Check the log that's more accurate.

Posted

I've come across a weird one in one of my m3u's today that i can't figure out.  Up to this point I've run files for a few different sources with no issues. I am only outputting series and movies. Today I tried a new source with the m3u looking like:

#EXTM3U
#EXT-X-SESSION-DATA:DATA-ID="com.xui.1_5_13"
#EXTINF:-1 tvg-name="Hannibal S01E08" tvg-logo="https://xxx.xx:443/images/7zTrdsAHDG9LdY7pQX1aRTuFTerAGqgdq-dRx7OiqKtPNDINk7Tl0u0oywhvj1BLzR6VhYTnXv95_hDb3F2kz3dVmjM3gTRqvW3OUoi6OHY.jpg" group-title="Crime",Hannibal S01E08
https://xxx.xx:443/series/xxxxxx/231132134/2125620.mkv

nothing from this source is being picked up.  in the log it shows:

18.Apr.2025 - 17:49:47 Type: Live TV - Did not detect file extension (most likely a continuous stream): .jpg" group-title="crime",hannibal s01e08
18.Apr.2025 - 17:49:47 sanitized groupTitle [ Path.Combine() folderName]: 
18.Apr.2025 - 17:49:47 channelName: https__abc.ac443_series_abc123_231132134_2125620.mkv

This is repeated for every item in the m3u

If if would help i would be happy to message you more log/m3u data, just didn't want to most to much in the thread.

is it possible the length/content of the crazy long logo name is preventing detection?

mickle026
Posted
19 minutes ago, goin3d said:

I've come across a weird one in one of my m3u's today that i can't figure out.  Up to this point I've run files for a few different sources with no issues. I am only outputting series and movies. Today I tried a new source with the m3u looking like:

#EXTM3U
#EXT-X-SESSION-DATA:DATA-ID="com.xui.1_5_13"
#EXTINF:-1 tvg-name="Hannibal S01E08" tvg-logo="https://xxx.xx:443/images/7zTrdsAHDG9LdY7pQX1aRTuFTerAGqgdq-dRx7OiqKtPNDINk7Tl0u0oywhvj1BLzR6VhYTnXv95_hDb3F2kz3dVmjM3gTRqvW3OUoi6OHY.jpg" group-title="Crime",Hannibal S01E08
https://xxx.xx:443/series/xxxxxx/231132134/2125620.mkv

nothing from this source is being picked up.  in the log it shows:

18.Apr.2025 - 17:49:47 Type: Live TV - Did not detect file extension (most likely a continuous stream): .jpg" group-title="crime",hannibal s01e08
18.Apr.2025 - 17:49:47 sanitized groupTitle [ Path.Combine() folderName]: 
18.Apr.2025 - 17:49:47 channelName: https__abc.ac443_series_abc123_231132134_2125620.mkv

This is repeated for every item in the m3u

If if would help i would be happy to message you more log/m3u data, just didn't want to most to much in the thread.

is it possible the length/content of the crazy long logo name is preventing detection?

ok, something is being mis-detected and its throwing off the rest..

let me investigate :) 

mickle026
Posted
1 hour ago, goin3d said:

I've come across a weird one in one of my m3u's today that i can't figure out.  Up to this point I've run files for a few different sources with no issues. I am only outputting series and movies. Today I tried a new source with the m3u looking like:

#EXTM3U
#EXT-X-SESSION-DATA:DATA-ID="com.xui.1_5_13"
#EXTINF:-1 tvg-name="Hannibal S01E08" tvg-logo="https://xxx.xx:443/images/7zTrdsAHDG9LdY7pQX1aRTuFTerAGqgdq-dRx7OiqKtPNDINk7Tl0u0oywhvj1BLzR6VhYTnXv95_hDb3F2kz3dVmjM3gTRqvW3OUoi6OHY.jpg" group-title="Crime",Hannibal S01E08
https://xxx.xx:443/series/xxxxxx/231132134/2125620.mkv

nothing from this source is being picked up.  in the log it shows:

18.Apr.2025 - 17:49:47 Type: Live TV - Did not detect file extension (most likely a continuous stream): .jpg" group-title="crime",hannibal s01e08
18.Apr.2025 - 17:49:47 sanitized groupTitle [ Path.Combine() folderName]: 
18.Apr.2025 - 17:49:47 channelName: https__abc.ac443_series_abc123_231132134_2125620.mkv

This is repeated for every item in the m3u

If if would help i would be happy to message you more log/m3u data, just didn't want to most to much in the thread.

is it possible the length/content of the crazy long logo name is preventing detection?

I have already fixed this :) 
I am just testing the code I added to properly update the progress bar in scheduled tasks - will post the build as soon as I can,

Posted

Any idea what I'm doing wrong? STRM Movies aren't appearing in Emby in Streaming Movies but I can see them on disk:

image.thumb.png.c5f9e79dc07bd3ae45ed67db5a0c1c53.pngimage.thumb.png.a0057388ccd1a5ad4d2c31dd137ff7b1.png

image.thumb.png.47c34995af12d469e7e4ba39efdc8c9a.png

Screenshot 2025-04-18 at 7.45.34 PM.png

embyserver.txt

mickle026
Posted (edited)

According to your log they are still scanning and updating info.  You will just have to wait for it to complete.  I don't think its got to Movies Yet!
the request is in your log, but its still scanning tv shows, no movie scans are logged yet.

Open Subtitles is what is slowing it down

Quote

2025-04-18 19:48:29.704 Info HttpClient: GET https://api4.thetvdb.com/v4/episodes/4962373/extended?meta=translations
2025-04-18 19:48:29.886 Debug App: Refreshing C:\Streaming\TV Shows\ENGLISH KIDS\Winx Club\Season 06\Winx Club S06 E24.strm due to date modified change 1744959241 - 1745015798.
2025-04-18 19:48:29.886 Debug App: FFProbeProvider reports change to 1369383 - C:\Streaming\TV Shows\ENGLISH KIDS\Winx Club\Season 06\Winx Club S06 E24.strm
2025-04-18 19:48:29.886 Debug App: Running FFProbeProvider for C:\Streaming\TV Shows\ENGLISH KIDS\Winx Club\Season 06\Winx Club S06 E24.strm
2025-04-18 19:48:29.887 Info OpenSubtitles: Logging into OpenSubtitles-Emby
2025-04-18 19:48:29.937 Debug OpenSubtitles: No subtitles found for Legendary Duel - C:\Streaming\TV Shows\ENGLISH KIDS\Winx Club\Season 06\Winx Club S06 E24.strm. Hash: 4e250e9b3c7bc781
2025-04-18 19:48:29.938 Debug App: Running TvdbEpisodeProvider for C:\Streaming\TV Shows\ENGLISH KIDS\Winx Club\Season 06\Winx Club S06 E24.strm

 

Edited by mickle026
  • Agree 1
Posted
57 minutes ago, mickle026 said:

Here:

@goin3dFixed Import of your m3u format.

@sundevil67Fixed Progress bar in scheduled Tasks (Well I think I have) - let me know if there are any quirks.


 

VODtoSTRMscheduledTask.dll 864.5 kB · 1 download

Thanks!  from what i can see that fixed that one m3u format.  As I'm processing a much larger set of that file i wanted to ask if i'm using this option correctly.

image.png.04871ca727564c45ca336b1738d7e305.png

if i have a category called TV Movie, and TV Services called LA Link, ER, and TV Burp would they all go into this box to be protected?  Otherwise it looks TV, LA, and ER and captured as country codes.

mickle026
Posted (edited)
24 minutes ago, goin3d said:

Thanks!  from what i can see that fixed that one m3u format.  As I'm processing a much larger set of that file i wanted to ask if i'm using this option correctly.

image.png.04871ca727564c45ca336b1738d7e305.png

if i have a category called TV Movie, and TV Services called LA Link, ER, and TV Burp would they all go into this box to be protected?  Otherwise it looks TV, LA, and ER and captured as country codes.

At a glance not entirely sure - what this does is it keeps a copy of the input name and checks that 2 items are not removed, so I think the TV Movie still would be captured.

                    "AD", "AE", "AF", "AG", "AI", "AL", "AM", "AO", "AR", "AT", "AU", "AZ",
                    "BA", "BB", "BD", "BE", "BF", "BG", "BH", "BI", "BJ", "BN", "BO", "BR", "BS", "BT", "BW", "BY", "BZ",
                    "CA", "CD", "CF", "CG", "CH", "CI", "CL", "CM", "CN", "CO", "CR", "CU", "CV", "CY", "CZ",
                    "DE", "DJ", "DK", "DM", "DO", "DZ",
                    "EC", "EE", "EG", "EN", "ER", "ES", "ET",
                    "FI", "FJ", "FM", "FR",
                    "GA", "GB", "GD", "GE", "GH", "GM", "GN", "GQ", "GR", "GT", "GW", "GY",
                    "HN", "HR", "HT", "HU",
                    "ID", "IE", "IL", "IN", "IQ", "IR", "IS", "IT",
                    "JM", "JO", "JP",
                    "KE", "KG", "KH", "KI", "KM", "KN", "KP", "KR", "KW", "KY", "KZ",
                    "LA", "LB", "LC", "LI", "LK", "LR", "LS", "LT", "LU", "LV", "LY",
                    "MA", "MC", "MD", "ME", "MG", "MH", "MK", "ML", "MM", "MN", "MR", "MT", "MU", "MV", "MW", "MX", "MY", "MZ",
                    "NA", "NE", "NG", "NI", "NL", "NO", "NP", "NR", "NZ",
                    "OM",
                    "PA", "PE", "PG", "PH", "PK", "PL", "PT", "PW", "PY",
                    "QA",
                    "RO", "RS", "RU", "RW",
                    "SA", "SB", "SC", "SD", "SE", "SG", "SI", "SK", "SL", "SM", "SN", "SO", "SR", "ST", "SV", "SY", "SZ",
                    "TD", "TG", "TH", "TJ", "TL", "TM", "TN", "TO", "TR", "TT", "TV", "TZ",
                    "UA", "UG", "US", "UY", "UZ",
                    "VC", "VE", "VN", "VU",
                    "WS",
                    "YE",
                    "ZA", "ZM", "ZW"

codes are checked with each of these strings appended

" ", "| ", "| - ", "- ", " - ", ": ", ":- ", "; ", ". ", ", ", ".- ", ",- ", " ★", "★"

So "TV " would be captured.


Would you be better not using the country code removal at all?

For example, you could put the country codes you want to remove in the custom removal strings box and then only those would be removed that matched, you can copy the list above and modify it to whatever you need, this would achieve the same thing, just be careful this doesnt have an adverse affect on something like "batman - ultimate..."
 

EN -,IT -, AN -", etc etc

Maybe I should do a (Contains) and a (Starts With) for the custom Strings too, and an override or editable box for the country codes

Edited by mickle026
Posted

yes, i think i'm going to try that route with the codes and see what happens!

Posted
2 hours ago, mickle026 said:

According to your log they are still scanning and updating info.  You will just have to wait for it to complete.  I don't think its got to Movies Yet!
the request is in your log, but its still scanning tv shows, no movie scans are logged yet.

Open Subtitles is what is slowing it down

 

Yup you’re right it was Open Subtitles. It finished in a few minutes. 

mickle026
Posted

Added a country code overrides for the few issues people seem to be having.
Screenshot_19-4-2025_163114_localhost.thumb.jpeg.7d1e23aace9c35f96a83ac43075d1d13.jpeg

 

This is the internal list:

Screenshot2025-04-19163219.png.0f619991fa34b66164917d9c1a0e808b.png

You can now add your own list, and it will replace the internal list

They should be added like this
AD,AE,AF,AG,AI,AL,AM,AO,AR,AT,AU,AZ,BA,BB,BD,BE,BF,BG,BH,BI,BJ,BN,BO,BR,BS,BT,BW,BY,BZ,CA,CD,CF,CG,CH,CI,CL,CM,CN,CO,CR,CU,CV,CY,CZ,DE,DJ,DK,DM,DO,DZ,EC,EE,EG,EN,ER,ES,ET,FI,FJ,FM,FR,GA,GB,GD,GE,GH,GM,GN,GQ,GR,GT,GW,GY,HN,HR,HT,HU,ID,IE,IL,IN,IQ,IR,IS,IT,JM,JO,JP,KE,KG,KH,KI,KM,KN,KP,KR,KW,KY,KZ,LA,LB,LC,LI,LK,LR,LS,LT,LU,LV,LY,MA,MC,MD,ME,MG,MH,MK,ML,MM,MN,MR,MT,MU,MV,MW,MX,MY,MZ,NA,NE,NG,NI,NL,NO,NP,NR,NZ,OM,PA,PE,PG,PH,PK,PL,PT,PW,PY,QA,RO,RS,RU,RW,SA,SB,SC,SD,SE,SG,SI,SK,SL,SM,SN,SO,SR,ST,SV,SY,SZ,TD,TG,TH,TJ,TL,TM,TN,TO,TR,TT,TV,TZ,UA,UG,US,UY,UZ,VC,VE,VN,VU,WS,YE,ZA,ZM,ZW

the other characters are added internally such as EN|, the | is added internally.

 

Adding your own,

Example if you filtered to your country by using include (starts with) like this:
EN ,EN -,EN|,US ,US|,UK,|EN|

You can then add just EN,US,UK to the country code override box, and further processing will not happen of other country codes.  Only this will get removed when the "Remove proceeding Country codes" is selected.  It might also give you a little speed boost :) - less cpu cycles...

If this box is empty it will use the internal list shown above for all countries.

 

VODtoSTRMscheduledTask.dll

 

 

Posted (edited)

putting more and more data through now.  it looks like there are still some items not being picked up correctly.  for example:

#EXTINF:-1 tvg-name="Under the Banner of Heaven S01E04" tvg-logo="https://xx.xx:443/images/7zTrdsAHDG9LdY7pQX1aRTuFTerAGqgdq-dRx7OiqKvJmQDH5v2La89R9I4zuWJbkRz_U5U23VuD7hsibuY8fG3iLqSlwMmf6uktCF-qKk0.jpg" group-title="Mystery",Under the Banner of Heaven S01E04
https://xxx.xx:443/series/xxxx/xxxx/2121006.mkv

looks like in the log it's coming back as

Type: Live TV - Did not detect file extension (most likely a continuous stream): .jpg" group-title="crime",under the banner of heaven s01 e04

 

I'll play with the country code changes you just posted today.  What i'm learning is with large amounts of data exactly how we choose to filter out/in the country codes actually makes a big difference in overall processing time.  

Edited by goin3d

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...