Jump to content

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


Recommended Posts

mickle026
Posted
4 minutes ago, gillmacca01 said:

Sorry for the confusion. I thought because the scheduled task said it was finished, that it was done. Didn't realise it hadn't actually finished 

Not sure how I'm going to send you that file

you don't need to, just copy and past an area for the problem item

gillmacca01
Posted

Nothing written since 17:01, this is the last few lines of the log:

image.thumb.png.173a5d4c33ab2728fe226a9bf88448ca.png

mickle026
Posted

Just so you guys know I am aware of misdetection in items named like this:
 

EN - Moana 2 4K  (2024)
EN - Star Trek: Section 31 4K (2025)
EN - Sonic The Hedgehog 3 4K (2024)

My TV Show detection is misinterpreting the numbers before the year as season, episode.

I know about it and will resolve it after the issues currently here

gillmacca01
Posted

I have just tried running again, and it is stopping at exactly the same point. Tried downloaded the m3u via browser, and downloaded without an issue

mickle026
Posted

I am debugging this as we speak.

It might be something I did when I converted the code from the old plugin code 
I am making progress.

image.png.fff0fd5ef2decde5e1f7a9a3299f7d3b.png

 

16.Mar.2025 - 17:43:39 Keeping [channelName] [7]: EN| CHRISTMAS 1 4K :Filtered by: 'EN|'
16.Mar.2025 - 17:43:39 Include / Ignore checking passed succesfully.
16.Mar.2025 - 17:43:39 Detected and removed country code: Modified string is 'CHRISTMAS 1 4K'
16.Mar.2025 - 17:43:39 Sanitized Channelname: CHRISTMAK
16.Mar.2025 - 17:43:39 Type: Live TV - Did not detect file extension (most likely a continuous stream): 
16.Mar.2025 - 17:43:39 Type: Live TV - Detected a Stream Url: '978715'
16.Mar.2025 - 17:43:39 groupTitle Folder omitted due to IgnoreGroupTitleFolder setting.

 

mickle026
Posted

I have altered some of the season /episode detection logic as per
EN - Moana 2 4K (2024)
EN - Star Trek: Section 31 4K (2025)
EN - Sonic The Hedgehog 3 4K (2024)

so now its misinterpreting some tv shows as movie.....ffs!  !!!!

back to the drawing board there then ... 🫢

mickle026
Posted

Alteration to TV Show/Movie detection
Alteration to Country Codes, not to remove "MR."

I'm going to watch some TV now, giving it a rest for tonight.

here is the last build for today.

VODtoSTRMscheduledTask.dll

gillmacca01
Posted

I won't be able to update the dll on my NAS till Friday now (apart from the one just posted), but it has now been 45 mins since anything has written to the log, and I am still missing movies and prefix of EN still exists (option is ticked)

mickle026
Posted

Is it still stopping in the same place?

Can you check the embyserver.txt file for any errors relating to the VODtoSTRMscheduledTask.dll or M3U To STRM?

gillmacca01
Posted

No error in embyserver.log, just line saying it had completed.

m3utostrm log ends without completing:

image.png.d93d4546ff0f13bc47a03f6f74701f20.png

Due to run again at midnight, so will post in the morning, but only if it is different

mickle026
Posted

so its not downloaded your m3u?

try triggering it manually from the button on the bottom of the plugin, then we will know if its the task handler in scheduled task ending it early.

mickle026
Posted

There is something odd, because your file on my machine completes successfully.

Posted

This second to newest release has been running a loooong time. Is that to be expected? I don't see a verbose log, which one should I look at?

Screenshot 2025-03-16 at 5.40.23 PM.png

Posted

It finished. It is murdering my CPU. I'm going to have to restart emby. Which log do you guys want?

Posted

I had a lot of media with "EN " at the start of the title. I went ahead and updated to the latest DLL and running the task now.

Is there a plan as to when this task triggers? It would be nice to turn off from running if it's going to have downtime and media appearing/disappearing. How would you frame this expectation to your users?

mickle026
Posted
1 hour ago, BigIrn said:

I had a lot of media with "EN " at the start of the title. I went ahead and updated to the latest DLL and running the task now.

Is there a plan as to when this task triggers? It would be nice to turn off from running if it's going to have downtime and media appearing/disappearing. How would you frame this expectation to your users?

I am not sure I understand the question here....

The task trigger is set by you, you can add or remove them and set what time you want it to tun.
You can remove the trigger altogether and manually trigger it occasionally if you like.

Screenshot_17-3-2025_0276_localhost.jpeg.1637e55e1b2f0ee729bdd5c9febee2ba.jpeg

click on it (not the trigger arrow but the header text)


Screenshot_17-3-2025_02717_localhost.jpeg.ddb2e31be9820c6b6634f57b374b9fad.jpeg

Click Add Trigger

Screenshot_17-3-2025_02746_localhost.jpeg.c75ff80ac3c2512528fff1b772a92671.jpeg

Set a trigger interval, which day at what time
Leave the Time Limit blank and it'll run until it completes

 

Quote

and media appearing/disappearing

This bit is up to you , the is an option in the settings to remove obsolete entries, you don't have to remove entries that are no longer in your m3u file but if your provider remooved them they they probably don't work.

image.jpeg.57155aa1c87a637f20a7e7beb2131904.jpeg

Anyway, here is a newer build
I think I have fixed episode detection when there is a year range "ShowName (2000-2008) s01 e06" <- like that
There are a few other tweaks too.

VODtoSTRMscheduledTask.dll

Posted (edited)
52 minutes ago, mickle026 said:

I am not sure I understand the question here....

The task trigger is set by you, you can add or remove them and set what time you want it to tun.
You can remove the trigger altogether and manually trigger it occasionally if you like.

Screenshot_17-3-2025_0276_localhost.jpeg.1637e55e1b2f0ee729bdd5c9febee2ba.jpeg

click on it (not the trigger arrow but the header text)


Screenshot_17-3-2025_02717_localhost.jpeg.ddb2e31be9820c6b6634f57b374b9fad.jpeg

Click Add Trigger

Screenshot_17-3-2025_02746_localhost.jpeg.c75ff80ac3c2512528fff1b772a92671.jpeg

Set a trigger interval, which day at what time
Leave the Time Limit blank and it'll run until it completes

 

This bit is up to you , the is an option in the settings to remove obsolete entries, you don't have to remove entries that are no longer in your m3u file but if your provider remooved them they they probably don't work.

image.jpeg.57155aa1c87a637f20a7e7beb2131904.jpeg

Anyway, here is a newer build
I think I have fixed episode detection when there is a year range "ShowName (2000-2008) s01 e06" <- like that
There are a few other tweaks too.

VODtoSTRMscheduledTask.dll 687.5 kB · 0 downloads

Yeah you nailed everything I was asking! Thanks for reading my mind :)

I do still worry why it’s using so much resources all of a sudden. This is an m4 16gb workhorse. I’ve played AAA games on it before lol

Edited by BigIrn
gillmacca01
Posted (edited)

I have left it running all night, and thought I would check this morning, before I set off to work in London for the week.

First, good news....it is starting to remove EN - looks like it will be a slow process, but in the right direction

Secondly, it looks like the missing movies have returned, but are shown as tv shows (I haven't updated to the latest dll yet, so that might fix it)

Now the bad news, under 'ignore words (contains)', I have the following: WWE,4K,BIBLICAL,TURKISH,FRENCH MOVIES,FOREIGN MOVIES,KOREAN,NORMAN WISDOM,SCHOOLING KIDS

4K is also in 'ignore words (starts with)', but I am seeing all the ones under 'contains' appearing in my VOD folder

I'm going to update to the newest dll now, and leave it running all day, and will report back this afternoon

 

Maybe another issue here, according to the logs, it has deleted an awful lot of content, but when I manually download the m3u and inspect, the content is in there. I have temporarily disabled the options for deleting, so unless you can see the issue, will leave that till everything else is sorted

 

Edited by gillmacca01
Posted

I am about to start refreshing the movies and TV Shows with the newest DLL but wanted to share this before I start. I let it run over night and emby was frozen again. I had to once again restart it. Getting a little more worried...

 

Screenshot 2025-03-17 at 7.43.18 AM.png

mickle026
Posted
6 hours ago, gillmacca01 said:

I have left it running all night, and thought I would check this morning, before I set off to work in London for the week.

First, good news....it is starting to remove EN - looks like it will be a slow process, but in the right direction

Secondly, it looks like the missing movies have returned, but are shown as tv shows (I haven't updated to the latest dll yet, so that might fix it)

Now the bad news, under 'ignore words (contains)', I have the following: WWE,4K,BIBLICAL,TURKISH,FRENCH MOVIES,FOREIGN MOVIES,KOREAN,NORMAN WISDOM,SCHOOLING KIDS

4K is also in 'ignore words (starts with)', but I am seeing all the ones under 'contains' appearing in my VOD folder

I'm going to update to the newest dll now, and leave it running all day, and will report back this afternoon

 

Maybe another issue here, according to the logs, it has deleted an awful lot of content, but when I manually download the m3u and inspect, the content is in there. I have temporarily disabled the options for deleting, so unless you can see the issue, will leave that till everything else is sorted

 

OK

This is probably by design at the moment

I explained that Includes are working in the way that they keep processing.
if you included EN| then it would just continue and 4K wouldn't even get looked for.

The idea was to get this running and outputting to the correct folders first.  Then I would circle back and look at this logic.
It seems that now is the time to do that.
 

40 minutes ago, BigIrn said:

I am about to start refreshing the movies and TV Shows with the newest DLL but wanted to share this before I start. I let it run over night and emby was frozen again. I had to once again restart it. Getting a little more worried...

 

Screenshot 2025-03-17 at 7.43.18 AM.png

Nothing has changed in the way the cpu is utilised.  The plugin should only use what its always been using, if emby is ramping up the cpu usage, please check if it doing something else as well in the background. Transcoding, Library Scan etc.....

Library Scan is the biggest use of resources on my system.  I have 3 machines running emby, 2 behave, but the one using win10 (oldest version) does this occasionally after restarting emby several times without restarting the system.

Just for my information what is your system, how many cpu cores etc?

gillmacca01
Posted

I have also completed restarted. Delete the VOD and m3u files, and in the config file the fields populated are 'include words (starts with)' and 'ignore words (starts with)'. All boxes are ticked except 'output vod grouping' and remove files.vm Verbose logging is on. Been running since 10:20 and no m3u files have been created yet

mickle026
Posted (edited)
10 minutes ago, gillmacca01 said:

I have also completed restarted. Delete the VOD and m3u files, and in the config file the fields populated are 'include words (starts with)' and 'ignore words (starts with)'. All boxes are ticked except 'output vod grouping' and remove files.vm Verbose logging is on. Been running since 10:20 and no m3u files have been created yet

Yeah, now is the time to amend the code to ensure that the ignore words are checked even if you chose to keep (include) an item.

This is the way it should work I think.
 

10 minutes ago, gillmacca01 said:

Been running since 10:20 and no m3u files have been created yet

The time taken is because of the logging, but I get it, without the logging how do you know what's going on...

Can anyone else program in c# lol 😜 ?

 

I altered the include/ignore logic to process all of the items in these boxes

VODtoSTRMscheduledTask.dll

Edited by mickle026
mickle026
Posted

This was the previous logic

 

                    await log.LogToMyFile(currentlog, $"{DateTime.Now:dd.MMM.yyy - HH:mm:ss} Checking [Include] Contains", config.chkLogVerbose).ConfigureAwait(false);

                    bool Keep = await ShouldKeepEntryContainsAsync(counter, metadata.GroupTitle, metadata.MovieName, config, currentlog, log).ConfigureAwait(false);
                    if (!Keep)
                    {
                        await log.LogToMyFile(currentlog, $"{DateTime.Now:dd.MMM.yyy - HH:mm:ss} Checking [Include] StartsWith", config.chkLogVerbose).ConfigureAwait(false);

                        Keep = await ShouldKeepEntryStartsWithAsync(counter, metadata.GroupTitle, metadata.MovieName, config, currentlog, log).ConfigureAwait(false);
                    }

                    if (!Keep)
                    {
                        await log.LogToMyFile(currentlog, $"{DateTime.Now:dd.MMM.yyy - HH:mm:ss} Checking [Ignore] Contains", config.chkLogVerbose).ConfigureAwait(false);
                        bool Ignore = await ShouldIgnoreEntryContainsAsync(counter, metadata.GroupTitle, metadata.MovieName, config, currentlog, log).ConfigureAwait(false);
                        if (Ignore)
                        {
                            continue;
                        }
                        if (!Ignore)
                        {
                            await log.LogToMyFile(currentlog, $"{DateTime.Now:dd.MMM.yyy - HH:mm:ss} Checking [Ignore] StartsWith", config.chkLogVerbose).ConfigureAwait(false);
                            Ignore = await ShouldIgnoreEntryStartsWithAsync(counter, metadata.GroupTitle, metadata.MovieName, config, currentlog, log).ConfigureAwait(false);
                            {
                                continue;
                            }
                        }

                    }
                    await log.LogToMyFile(currentlog, $"{DateTime.Now:dd.MMM.yyy - HH:mm:ss} Include / Ignore checking passed succesfully.", config.chkLogVerbose).ConfigureAwait(false);
                  

This is the logic now
 


                    // Include checking [contains]
                    await log.LogToMyFile(currentlog, $"{DateTime.Now:dd.MMM.yyy - HH:mm:ss} Checking [Include] Contains", config.chkLogVerbose).ConfigureAwait(false);
                    await ShouldKeepEntryContainsAsync(counter, metadata.GroupTitle, metadata.MovieName, config, currentlog, log).ConfigureAwait(false);

                    // Include checking [startswith]
                    await log.LogToMyFile(currentlog, $"{DateTime.Now:dd.MMM.yyy - HH:mm:ss} Checking [Include] StartsWith", config.chkLogVerbose).ConfigureAwait(false);
                    await ShouldKeepEntryStartsWithAsync(counter, metadata.GroupTitle, metadata.MovieName, config, currentlog, log).ConfigureAwait(false);

                    // Ignore checking [contains]
                    await log.LogToMyFile(currentlog, $"{DateTime.Now:dd.MMM.yyy - HH:mm:ss} Checking [Ignore] Contains", config.chkLogVerbose).ConfigureAwait(false);
                    bool Ignore = await ShouldIgnoreEntryContainsAsync(counter, metadata.GroupTitle, metadata.MovieName, config, currentlog, log).ConfigureAwait(false);
                    if (Ignore)
                    {
                        continue;
                    }

                    // Ignore checking [startswith]
                    await log.LogToMyFile(currentlog, $"{DateTime.Now:dd.MMM.yyy - HH:mm:ss} Checking [Ignore] StartsWith", config.chkLogVerbose).ConfigureAwait(false);
                    Ignore = await ShouldIgnoreEntryStartsWithAsync(counter, metadata.GroupTitle, metadata.MovieName, config, currentlog, log).ConfigureAwait(false);
                    if (Ignore)
                    {
                        continue;
                    }

                    // Include / Ignore checking passed
                    await log.LogToMyFile(currentlog, $"{DateTime.Now:dd.MMM.yyy - HH:mm:ss} Include / Ignore checking passed succesfully.", config.chkLogVerbose).ConfigureAwait(false);

This means skip this m3u entry and continue with the next
 

if (Ignore)
{
     continue;
}

If you can see anything wring with this logic let me know

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...