mickle026 540 Posted February 13 Posted February 13 (edited) I have done the code, its all working as far as I can tell. Currently the progress bar doesnt work in the scheduled task, but i am not worried about that yet, the scheduled task does though. I have enabled the plugin to take 3 m3u urls or paths, but it is designed so that it can do it all from one m3u. It will split the m3u into LiveTV,TV Shows & Movies, and if you set the option it will save the split m3u files. In effect you can choose not to load your m3u directly from your stream provider into Live TV m3u Tuner, instead use the plugin to split off the vods, to a Movie & TV show directory, create a clean LiveTV m3u (without the VODS) and point the Live TV Tuner to load that from your save location of this plugin instead. Note: If you have the log on - as most processes are Asynchronous , it may write to the log out of order. Let me know whats not working, or what it is missing if anything? Other than the progress indicator in the scheduled task... DO NOT OUTPUT STRMS TO YOUR LOCAL MEDIA FOLDERS THAT CONTAIN OTHER MEDIA - KEEP THESE SEPERATE the update and delete mechanism will delete anything else that is not in the m3u files! USE AT YOUR OWN RISK 13-02-2025 - Original Release Removed as requested 26-02-2025 - Updated DLL Should address check boxes for m3u output not saving states. Removed due to build error 28-02-2025 Added fields for inclusion words for VOD detection 01-03-2025 Finally got the new system to build a working DLL Saving should be fixed Added a textbox to allow adding your own VOD keywords 01-03-2025 post 2 No input file error fixed. Win 11 & MS Edge seem to keep re-using cached versions even when you replace and reboot. So you might have to clear data in the browser. Added option to delete any folder content not in the current m3u's- i.e. obsolete entries, (previously wasn't an option) 02-03-2025 Fixed URL validity check (needs verifying that it is working for other users) fixed error stopping on certain m3u types (might not have caught everything but those supplied will now work) Still to do - Parse extremely big m3u files properly to Live-TV, TV Show VOD and Movie VOD, they are parsing, but may not be grouped properly yet, I.e. some TV Shows may appear in movies and vice versa or stay as Live TV Channels, still need to figure out how to catch them all properly in certain m3u naming scenarios. 03-03-2025 03.40am (GMT) Several fixes - this is the latest build. 03-03-2025 21.00pm (GMT) Lots of updates, too many to mention, please read the thread if you want to know what has changed. 04-03-2025 02.50am (GMT) Seems to be all good , not tested the override boxes yet - though 06-03-2025 Many things converts to multi-threaded for speed increases. Multi-threading the log is the biggest difference of all, this can reduce processing time by many HOURS if the m3u input files are large. Not logging at all is the fastest option. A huge 135mb m3u with no logging and ignore filters on took 4mins 17 seconds to completely read and create the strm files. Read this thread for more information 07-03-2025 - from testing to beta release I am calling this an official beta now. Its working extremely fast. With no logging on a test run of a 135mb input m3u took just 1 minute 22 seconds. Erroneous directory/strm creation fixed. Logging can slow the operation down a huge amount, its recommended only for debugging. Read more in the thread 07.Mar.2025 - 15:33:28 Task Started at: 07/03/2025 15:33:28 07.Mar.2025 - 15:34:50 Task Ended at: 07/03/2025 15:34:50 07.Mar.2025 - 15:34:50 Task Duration: 00:01:22.34 VODtoSTRMscheduledTask.dll 17-03-2025 This is a completely re-written and revamped version (for testing) Lots of differences, whole new "brain" , core. Current known issue, not fetching posters or icons VODtoSTRMscheduledTask.dll Edited 4 hours ago by mickle026 updated to export split m3u files 3
LazyMonday91 25 Posted February 23 Posted February 23 (edited) Hello @mickle026 Thank you for this amazing plugin For now i'm trying it.., the test not working when i lunch the task , it stop directly.. Kind regard, Edited February 23 by LazyMonday91
mickle026 540 Posted February 23 Author Posted February 23 Hi thanks for the response. However that really doesn't tell me much. Can you turn on the plugins internal logging, as it doesn't use emby's logging except to show what you just did. Attach the log. Also can you show me your setup, whether it's a file, or an URL you are loading. If possible can you show me some sample lines from your m3u file, delete parts of the URL and the login details, I only need the format of the #extif line This way I will have a better idea of what is or is not happening. Thanks
VicMoore 709 Posted February 24 Posted February 24 (edited) This is very interesting. I wish I was smart enough to understand all of what you are doing. I know a little about m3u files from creating a JS client to play VOD. From what I understand from your description, you are fetching videos via using their m3u specification. Then the data for the videos is stored in the Emby library and later played via Emby. Am I right? Could this idea be used to create an Emby TV channel? By the way, I never really understood STRUM files. Or I should say, I never understood how, why and where to use them. Vic Edited February 24 by VicMoore
mickle026 540 Posted February 24 Author Posted February 24 (edited) @VicMoore strm files are similar to windows shortcut files in behaviour within Emby (structure is just text). They are essentially a place holder that has a link to a video in it. Emby reads it as if it is actually a media file such as mp4, and adds it to your library in the same way. Because there is no ffmpeg probe of the "remote" file, it cannot do everything that it can with local media, the media is not probed until it is played. So posters are added but things like codec data etc are not added yet. So further help is requires like the plugin "strm extract", available in this plugin forum, to force the media to be probed. The m3u file is essentially similar, but formatting is different and it can contain 1000's of lines of different things , videos, live-tv, music etc. #EXTINF:-1 tvg-id="" tvg-name="A Clockwork Orange (1971)" tvg-logo="http://somesiteorother.com/images/0066921.jpg"group-title="VOD" http://somesiteorother.com/movie/XXXXXXX/XXXXXXX/17944.mkv Here is a sample, just copied from elsewhere in this forum. tvg-id = tv channel id tvg-name = tv channel name tvg-logo = the tv logo group-title = the subsection it belongs in, in ip-tv programs you see lists of countries or genres etc. There can be more identifiers such as a link to a tv-guide xml file So what I am doing, is reading the m3u file and separating Live-TV, Movies, and TV-Shows, The plugin then has the options: Write all the m3u items as separate m3u files, this allows the user to then import only live tv into the tv tuner. Keeping the tv-show boxsets and Movie VOD's out of the tuner. Write the rest as .strm files and folders - this allows the user to create a folder full of tv-shows and/or a folder full of movies, that will import into Emby the same as a local library, you can write them to an already monitored folder if you like so they are automatically picked up. The plugin also checks what files are on the drive that are no longer in the m3u file, so if films or tv-shows were removed by the provider and new ones added, it will delete and create as necessary. Thus the USER DOES NOT want to be writing them to their local media directories!! There is no undelete! So in a nutshell, its not really fetching videos, but creating shortcuts to them in a library that work the same as having them locally, but instead the system plays a remote file provided by the m3u provider and adding the ability to add only actual live tv to the tv tuner. Lots of m3u providers offer all of these in one file this but it can flood the tv tuner in Emby with thousands of unwanted entries in there.... Even if they offer in separate files, there has been no easy way to achieve all this, i.e. creating the directories and .strm files within Emby itself automatically. This plugin does this all. Edited February 24 by mickle026
VicMoore 709 Posted February 24 Posted February 24 I have a lot to learn. You explained the plugin perfectly. vic
LazyMonday91 25 Posted February 24 Posted February 24 (edited) Hello @mickle026test finished, the Log file with debug mode activate is include All worked perfectly , just have a bug when selecting and validate type of extract (Tv - Series - movies) this 3 settings returns to all checked after validation of the config, maybe just a visual glitch because I got everything in the m3u i selected. screenshot of final result and a sample of the M3u file generated Thank you for all this work and very nice results !! best regards, LzMembyserver.txt ScheduledTask-[M3UToStrm]24.févr..2025 - 19.20.47.txt Edited February 24 by LazyMonday91
mickle026 540 Posted February 26 Author Posted February 26 Copy the dll to your programdata/plugins folder and restart the server
gillmacca01 177 Posted February 26 Posted February 26 Only just found out about this. Currently aware from home, but will be back home at the weekend and will try installing it, and will give feedback
grimevil 62 Posted February 27 Posted February 27 Does this work with url's or does it need a downloaded copy of the m3u?
mickle026 540 Posted February 27 Author Posted February 27 51 minutes ago, grimevil said: Does this work with url's or does it need a downloaded copy of the m3u? I haven't tested the URLs, but the programming code logic is there to handle either. Try it, and let me know.
BigIrn 5 Posted February 28 Posted February 28 (edited) I might be an idiot. I placed the DLL in the plugins folder, installed it from the plugins section of emby and restarted the server. It appears installed but then what do I do next to use it? Edited February 28 by BigIrn
BigIrn 5 Posted February 28 Posted February 28 Ok so on macos, there are 2 plugin folders. I put the dll in both and now I see it. However It's not working. 27.Feb.2025 - 20:01:53 ----------------------------------------------------------------------- 27.Feb.2025 - 20:01:53 Create Movie Stream Files From M3U Scheduled Task Triggered. 27.Feb.2025 - 20:01:53 ----------------------------------------------------------------------- 27.Feb.2025 - 20:01:53 No Input Files - Aborting Import .m3u stage 27.Feb.2025 - 20:01:53 ----------------------------------------------------------------------- 27.Feb.2025 - 20:01:53 Create Movie Stream Files From M3U Scheduled Task Triggered. 27.Feb.2025 - 20:01:53 ----------------------------------------------------------------------- 27.Feb.2025 - 20:01:53 No Input Files - Aborting Import .m3u stage m3u: #EXTM3U url-tvg="http://m3u4u.com/epg/REDACTED" #EXTINF:-1 tvg-id="(no tvg-id)" tvg-name="### UK CINEMA HEVC/4K ###" tvg-logo="" group-title="UK| SKY CINEMA ʰᵉᵛᶜ",### UK CINEMA HEVC/4K ### http://REDACTED.ts #EXTINF:-1 tvg-id="SkyCinemaThriller.uk" tvg-name="UK: SKY CINEMA THRILLER HEVC 4K" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s50176_dark_360w_270h.png" group-title="UK| SKY CINEMA ʰᵉᵛᶜ",UK: SKY CINEMA THRILLER HEVC 4K http://REDACTED.ts #EXTINF:-1 tvg-id="(no tvg-id)" tvg-name="UK: SKY CINEMA SELECT/FEEL GOOD HEVC 4K" tvg-logo="http://icon-tmdb.me/stalker_portal/misc/logos/320/6469.jpg?92001" group-title="UK| SKY CINEMA ʰᵉᵛᶜ",UK: SKY CINEMA SELECT/FEEL GOOD HEVC 4K http://REDACTED.ts #EXTINF:-1 tvg-id="SkyCinemaSciFiHorror.uk" tvg-name="UK: SKY CINEMA SCIFI/HORROR HEVC 4K" tvg-logo="http://icon-tmdb.me/stalker_portal/misc/logos/320/6473.jpg?62024" group-title="UK| SKY CINEMA ʰᵉᵛᶜ",UK: SKY CINEMA SCIFI/HORROR HEVC 4K http://REDACTED.ts #EXTINF:-1 tvg-id="SkyCinemaPremiere.uk" tvg-name="UK: SKY CINEMA PREMIER HEVC 4K" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s21107_dark_360w_270h.png" group-title="UK| SKY CINEMA ʰᵉᵛᶜ",UK: SKY CINEMA PREMIER HEVC 4K http://REDACTED.ts
mickle026 540 Posted February 28 Author Posted February 28 Not sure, but with the log saying no input files I have to ask, did you click save settings before triggering it? Without saving settings in the web user interface, the server backend has no information written to the settings file to read from in order to do the task.
Kcircuit 1 Posted February 28 Posted February 28 (edited) This is an amazing idea, good work! I've got it all installed but so far i havn't have any luck and the error log is showing. Quote 28.Feb.2025 - 17:59:06 ----------------------------------------------------------------------- 28.Feb.2025 - 17:59:06 Create Movie Stream Files From M3U Scheduled Task Triggered. 28.Feb.2025 - 17:59:06 ----------------------------------------------------------------------- 28.Feb.2025 - 17:59:06 No Input Files - Aborting Import .m3u stage My input M3u looks like this; #EXTM3U #EXTINF:0 group-title="Movie VOD",HD : Vessel 2014 #EXTGRP:Movie VOD https://url.com/2196 #EXTINF:0 group-title="Movie VOD",HD : Frontier Sumatra 2019 #EXTGRP:Movie VOD https://url.com/3195 #EXTINF:0 group-title="Movie VOD",HD : Last Stand At Saber River 1997 #EXTGRP:Movie VOD https://url.com/3194 Similar to the ToD, it points to a url not a file (.m3u/.ts/ect..) I assume this is the issue. Edited February 28 by Kcircuit
mickle026 540 Posted February 28 Author Posted February 28 5 hours ago, Kcircuit said: This is an amazing idea, good work! I've got it all installed but so far i havn't have any luck and the error log is showing. My input M3u looks like this; #EXTM3U #EXTINF:0 group-title="Movie VOD",HD : Vessel 2014 #EXTGRP:Movie VOD https://url.com/2196 #EXTINF:0 group-title="Movie VOD",HD : Frontier Sumatra 2019 #EXTGRP:Movie VOD https://url.com/3195 #EXTINF:0 group-title="Movie VOD",HD : Last Stand At Saber River 1997 #EXTGRP:Movie VOD https://url.com/3194 Similar to the ToD, it points to a url not a file (.m3u/.ts/ect..) I assume this is the issue. Ah, The plugin is currently reading a two line entry, yours is three lines, that's what the issue is. I will have to re-visit the code and make some alterations so that your m3u format is also interpreted. I could do with a better m3u example than this 1 entry, do you have one or know where I can get one?. I do NOT need login details or anything like that, just the format of the lines for different things such as tv shows etc. so that I know what combinations I need to split apart.
gillmacca01 177 Posted February 28 Posted February 28 (edited) Didn't work when I entered a URL (said no input file), but partially worked when adding a downloaded M3U Presuming I have set it up correctly, it will except the downloaded M3U file and creates the folders and split M3U files, but there is nothing in the split M3U files here are a couple of lines for the movies: #EXTINF:-1 tvg-id="" tvg-name="NL| APPLE+ TV" tvg-logo="http://*********/piconsnew/Apple-TV-logo.png" group-title="NL| FILMS",NL| APPLE+ TV http://line.myox.me:80/*******/1569086 #EXTINF:-1 tvg-id="" tvg-name="EN - Kinda Pregnant 4K (2025)" tvg-logo="http://*****/stalker_portal/screenshots/185/18468.jpg" group-title="4K NETFLIX MOVIES",EN - Kinda Pregnant 4K (2025) http://line.myox.me:80/movie/******/1792483.mkv The stars have just replaced the web address and username I have attached the log file ScheduledTask-[M3UToStrm]28.Feb.2025 - 14.03.58.txt Edited February 28 by gillmacca01
mickle026 540 Posted February 28 Author Posted February 28 (edited) Try this build @gillmacca01, @Kcircuit Errornous build removed Added code to ignore lines with EXTGRP, Added code to include "vod|video on demand|movie|film|video|apple+ tv|netflix" as vods Added code to log m3u Url Schema validation checks Edited February 28 by mickle026
gillmacca01 177 Posted February 28 Posted February 28 This build isn't working at all. It is not appearing under plugins and under Scheduled tasks, it is not showing anything (not listed)
gillmacca01 177 Posted February 28 Posted February 28 (edited) 17 minutes ago, mickle026 said: Try this build @gillmacca01, @Kcircuit VODtoSTRMscheduledTask.dll Added code to ignore lines with EXTGRP, Added code to include "vod|video on demand|movie|film|video|apple+ tv|netflix" as vods Added code to log m3u Url Schema validation checks apple+ and netflix are just 2 examples. I have many more. Maybe we need a section in the plugin, where we can add extra ones, otherwise we are going to have to keep asking you to add news ones (if new ones are added by the provider), also there are some VOD folders that I don't want to see (e.g. Bollywood) Edited February 28 by gillmacca01 1
sftech13 15 Posted February 28 Posted February 28 On 2/12/2025 at 7:48 PM, mickle026 said: Quick question for clarity The plug-in will take my M3 of VOD or TV series and create a library folder rather than a live TV tuner input and be available as a library rather than a tag in live TV.
mickle026 540 Posted February 28 Author Posted February 28 31 minutes ago, sftech13 said: Quick question for clarity The plug-in will take my M3 of VOD or TV series and create a library folder rather than a live TV tuner input and be available as a library rather than a tag in live TV. That kind of is what this plugin does. It reads the m3u, makes folders and strms of all the vods (tv show & movies), and recreates the m3u without the vods so that the tuner only gets live-tv channels. However, it seems that users have different formats of m3u that are not all covered. I will add a box where you can add keywords to include for export as vods. It also seems I will also need to add a section for ignore as well. 1
sftech13 15 Posted February 28 Posted February 28 Crazy, I have had something very similar to on my todo list. I want the VOD to be part of the library not the tuner. I will try yours out and let you know how it goes.
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now