BigIrn 10 Posted March 3 Posted March 3 Windows 11: It's definitely reading the m3u file but it keeps throwing up an error: 02.Mar.2025 - 22:40:31 Processing [1]..Item Name: ##### 4K ᵁᴴᴰ ³⁸⁴⁰ᴾ ##### 02.Mar.2025 - 22:40:31 Checking: #EXTINF:-1,##### 4K ᵁᴴᴰ ³⁸⁴⁰ᴾ ##### 02.Mar.2025 - 22:40:31 VOD ignore word error: System.NullReferenceException: Object reference not set to an instance of an object. at VODtoSTRMscheduledTask.STRMTOVOD.scanM3UFileAsync(String inputFilePath, String outputDirectory, String currentlog) ScheduledTask-[M3UToStrm]02.Mar.2025 - 22.40.29.txt ScheduledTask-[M3UToStrm]02.Mar.2025 - 22.35.01.txt Cancelled Tasks [M3UToStrm]02.Mar.2025.txt
mickle026 606 Posted March 3 Author Posted March 3 This will step over the ignore words entry if its empty. Thanks for pointing that out. VODtoSTRMscheduledTask.dll
BigIrn 10 Posted March 3 Posted March 3 Windows 11: 02.Mar.2025 - 23:13:39 ----------------------[ Reading M3U File Contents ]---------------------------- 02.Mar.2025 - 23:13:39 -------------------------------------------------------------------------------- 02.Mar.2025 - 23:13:39 Checking to see if input path is an URL. 02.Mar.2025 - 23:13:41 Attempting to read input file from local..... 02.Mar.2025 - 23:13:41 Valid m3u linecount: 2181304 02.Mar.2025 - 23:13:41 VOD ignore word error: System.NullReferenceException: Object reference not set to an instance of an object. at VODtoSTRMscheduledTask.STRMTOVOD.scanM3UFileAsync(String inputFilePath, String outputDirectory, String currentlog) 02.Mar.2025 - 23:13:41 Processing [1]..Item Name: ##### 4K ᵁᴴᴰ ³⁸⁴⁰ᴾ ##### 02.Mar.2025 - 23:13:41 Checking: #EXTINF:-1,##### 4K ᵁᴴᴰ ³⁸⁴⁰ᴾ ##### 02.Mar.2025 - 23:13:41 VOD ignore word error: System.NullReferenceException: Object reference not set to an instance of an object. at VODtoSTRMscheduledTask.STRMTOVOD.scanM3UFileAsync(String inputFilePath, String outputDirectory, String currentlog) ScheduledTask-[M3UToStrm]02.Mar.2025 - 23.13.39.txt Cancelled Tasks [M3UToStrm]02.Mar.2025(1).txt
BigIrn 10 Posted March 3 Posted March 3 (edited) On the macos: I have shut down the server and any processes tied to it updated emby server version deleted your old plugin from the app content folders (2 places) started the server back up stopped the server pasted your new plugin started the server back up it still looks like it's using the old one??? uri failed ScheduledTask-[M3UToStrm]02.Mar.2025 - 23.26.45.txt Edited March 3 by BigIrn
Kcircuit 3 Posted March 3 Posted March 3 mickle, I've been able to test this again, the latest version 1.0.0.85 and it appears to be working well with a few exceptions. - My MoD m3u for some reason has the line #EXTINF:0 in your script this line looks to be excluded(i can see in the logs), which is okay i just replace my file with #EXTINF:-1 and it works fine. - Should the movies on demand m3u (M3UContent List) file under the m3u processing folder be empty after the task runs ? The reason i ask is my MoD m3u contains 250 movies. The logs show its processed 250 lines but in my output folder i only have 136 STRM files, and no errors in the log. Otherwise, its looking good appears to be functioning well. (Windows 10)
fbrassin 46 Posted March 3 Posted March 3 Hello, i've installed latest version. I upload log file compressed as it is so big. Here is my plugin config: After running plugin, in split i have the 3 files but only LiveTv one is bigger then 0 bit. Nothing has been created in m3u Movies and Tv Show folders. Do you need my m3u file? ScheduledTask-[M3UToStrm]03.mar.2025 - 09.28.20.rar
mickle026 606 Posted March 3 Author Posted March 3 (edited) I have recently updated my pc and it now runs windows 11. It has been a bad experience for me. Whilst windows 11 seems to work very well, it has also caused me untold troubles. I also bought a license for visual studio 2022, updated from 2019 and that is also giving me troubles. I mainly program and tinker with things, I don't do a lot of anything else other than the life choice that is fekkin work.....work ..... work .... visual studio 2022 is refusing to auto increment the build numbers, it worked well in 2019 version web browser cache is a nightmare on win 11, I have to constantly clear data from the cache. otherwise even after changing the dll in emby, rebooting emby or even rebooting the pc, it is still loading the webpages for the dll from the cache, This is a nightmare! I have this in my webpage that should force a reload from Emby instead of using the cache, it worked fine in win10 but doesn't seem to be doing anything in win11. <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" /> <meta http-equiv="Pragma" content="no-cache" /> <meta http-equiv="Expires" content="0" /> Win 11 cannot access samba shares without a registry hack, my programming code is stored on a samba share. Visual studio cannot build successfully every time from mounted drives. It creates the dll (and the correct size in bytes), but when you open it in a hex editor its all zeros. So I have to copy the code to local and build it. Anyway , all that aside, I will add in #EXTINF:0 to be included. 8 hours ago, Kcircuit said: mickle, I've been able to test this again, the latest version 1.0.0.85 and it appears to be working well with a few exceptions. - My MoD m3u for some reason has the line #EXTINF:0 in your script this line looks to be excluded(i can see in the logs), which is okay i just replace my file with #EXTINF:-1 and it works fine. - Should the movies on demand m3u (M3UContent List) file under the m3u processing folder be empty after the task runs ? The reason i ask is my MoD m3u contains 250 movies. The logs show its processed 250 lines but in my output folder i only have 136 STRM files, and no errors in the log. Otherwise, its looking good appears to be functioning well. (Windows 10) As for this, if they haven't been ignored by the Ignore list, they will probably have defaulted to either tv shows or live-tv, I guess probably live-tv if no strms have been created, it is also possible if the names have invalid drive/path characters that writing the folders and files may have failed. So they might be in the output live-tv.m3u This build attached should be.86 , it has the exinf:0 added and a debug line if a strm file write fails . Nothing else is new from the last build. erroneous build removed , see a later post Edited March 3 by mickle026 1
mickle026 606 Posted March 3 Author Posted March 3 6 hours ago, fbrassin said: Hello, i've installed latest version. I upload log file compressed as it is so big. Here is my plugin config: After running plugin, in split i have the 3 files but only LiveTv one is bigger then 0 bit. Nothing has been created in m3u Movies and Tv Show folders. Do you need my m3u file? ScheduledTask-[M3UToStrm]03.mar.2025 - 09.28.20.rar 4.79 MB · 2 downloads I will look into it, I don't think I need your m3u at the moment as I have one from another user that is doing the same.
BigIrn 10 Posted March 3 Posted March 3 Sorry to hear you're having issues. I had to get on stackoverflow for just about every MS app I ran (Anayltics Engineer so SQL Server Mgmt Studio, Azure and PowerBI, VS Studio). I can help if you want to dm me separately from the VOD thread. So I ran the m3u that I dm'd you with the tvg-ids and this is what's coming up now on Win 11. Cancelled Tasks [M3UToStrm]03.Mar.2025.txt 03.Mar.2025 - 10:04:01 M3U To VOD Task is already running. Cancelling second attempt to trigger it. Not sure why it's happening when I run the plugin? ScheduledTask-[M3UToStrm]03.Mar.2025 - 10.04.01.txt 03.Mar.2025 - 10:04:01 Processing [2]..Item Name: A&E HD 03.Mar.2025 - 10:04:01 Checking: #EXTINF:-1 tvg-id="AandE.us" tvg-name="A&E HD" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s10035_dark_360w_270h.png" group-title="ENTERTAINMENT HD/4K",A&E HD 03.Mar.2025 - 10:04:01 VOD ignore word error: System.NullReferenceException: Object reference not set to an instance of an object. at VODtoSTRMscheduledTask.STRMTOVOD.scanM3UFileAsync(String inputFilePath, String outputDirectory, String currentlog) ScheduledTask-[M3UToStrm]03.Mar.2025 - 10.04.01.txt
mickle026 606 Posted March 3 Author Posted March 3 (edited) 47 minutes ago, BigIrn said: Sorry to hear you're having issues. I had to get on stackoverflow for just about every MS app I ran (Anayltics Engineer so SQL Server Mgmt Studio, Azure and PowerBI, VS Studio). I can help if you want to dm me separately from the VOD thread. So I ran the m3u that I dm'd you with the tvg-ids and this is what's coming up now on Win 11. Cancelled Tasks [M3UToStrm]03.Mar.2025.txt 03.Mar.2025 - 10:04:01 M3U To VOD Task is already running. Cancelling second attempt to trigger it. Not sure why it's happening when I run the plugin? ScheduledTask-[M3UToStrm]03.Mar.2025 - 10.04.01.txt 03.Mar.2025 - 10:04:01 Processing [2]..Item Name: A&E HD 03.Mar.2025 - 10:04:01 Checking: #EXTINF:-1 tvg-id="AandE.us" tvg-name="A&E HD" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s10035_dark_360w_270h.png" group-title="ENTERTAINMENT HD/4K",A&E HD 03.Mar.2025 - 10:04:01 VOD ignore word error: System.NullReferenceException: Object reference not set to an instance of an object. at VODtoSTRMscheduledTask.STRMTOVOD.scanM3UFileAsync(String inputFilePath, String outputDirectory, String currentlog) ScheduledTask-[M3UToStrm]03.Mar.2025 - 10.04.01.txt 1.72 MB · 0 downloads Its basically saying when I try to get the Ignore word list its null or empty. Does this message go away if you put an ignore work such as "gobbledegook" ? this is the code // Ignore these entries, dont process them! string[] ignorewords = { }; try { ignorewords = config.VODIgnoreWords.Split(",",StringSplitOptions.RemoveEmptyEntries); if (ignorewords.Length > 0) { foreach (string word in ignorewords) { if (groupTitle.Contains(word) || movieName.Contains(word)) { log.LogToMyFile(currentlog, DateTime.Now.ToString("dd.MMM.yyy - HH':'mm':'ss") + $" Ignoring: {groupTitle}", config.chkLogVerbose); continue; } } } } catch (Exception e){ log.LogToMyFile(currentlog, DateTime.Now.ToString("dd.MMM.yyy - HH':'mm':'ss") + $" VOD ignore word error:\n {e.ToString()}"); } The error is happening here: ignorewords = config.VODIgnoreWords.Split(",",StringSplitOptions.RemoveEmptyEntries); You are getting the exception because there are no ignore words to get from the config file, i.e. the saved xml doesn't even have a blank entry. However there is an error trap with the try ..catch block and you will just be getting the log line. Its not actually failing because of that, its just a debug line saying the config entry doesn't exist. I am currently implementing a verbose log option so I will move it into that. That will be in the next build. You will have the option to see more of what's happening, but the logs will be huge! I haven't added too much to that yet, but more will come. You don't have to use the verbose option or any log option, its just there to see what's happening. I found an error in the last build when I added #ExtInf:0 anyway, so I will post a replacement build for that one with the corrections. So far in this latest m3u I have noted that the moviename which i use to create a folder contains : , this is an illegal path character for writing to storage, I wilol implement soon a fix for that, but tis not in this build attached VODtoSTRMscheduledTask.dll Edited March 3 by mickle026
gillmacca01 180 Posted March 3 Posted March 3 I will email you the log, but I have just tried with a URL and it says: The input file is not of type '.m3u'.
BigIrn 10 Posted March 3 Posted March 3 Well it looks like I have royally fucked up macos emby. I uninstalled the plugin through the UI instead of just copying and pasting over existing VODtoSTRMscheduledTask.dll and now it's not showing at all in the UI
BigIrn 10 Posted March 3 Posted March 3 17 minutes ago, BigIrn said: Well it looks like I have royally fucked up macos emby. I uninstalled the plugin through the UI instead of just copying and pasting over existing VODtoSTRMscheduledTask.dll and now it's not showing at all in the UI MY BAD!! I forgot the .config file. Testing new version now. Sorry
BigIrn 10 Posted March 3 Posted March 3 50 minutes ago, mickle026 said: Its basically saying when I try to get the Ignore word list its null or empty. Does this message go away if you put an ignore work such as "gobbledegook" ? this is the code // Ignore these entries, dont process them! string[] ignorewords = { }; try { ignorewords = config.VODIgnoreWords.Split(",",StringSplitOptions.RemoveEmptyEntries); if (ignorewords.Length > 0) { foreach (string word in ignorewords) { if (groupTitle.Contains(word) || movieName.Contains(word)) { log.LogToMyFile(currentlog, DateTime.Now.ToString("dd.MMM.yyy - HH':'mm':'ss") + $" Ignoring: {groupTitle}", config.chkLogVerbose); continue; } } } } catch (Exception e){ log.LogToMyFile(currentlog, DateTime.Now.ToString("dd.MMM.yyy - HH':'mm':'ss") + $" VOD ignore word error:\n {e.ToString()}"); } The error is happening here: ignorewords = config.VODIgnoreWords.Split(",",StringSplitOptions.RemoveEmptyEntries); You are getting the exception because there are no ignore words to get from the config file, i.e. the saved xml doesn't even have a blank entry. However there is an error trap with the try ..catch block and you will just be getting the log line. Its not actually failing because of that, its just a debug line saying the config entry doesn't exist. I am currently implementing a verbose log option so I will move it into that. That will be in the next build. You will have the option to see more of what's happening, but the logs will be huge! I haven't added too much to that yet, but more will come. You don't have to use the verbose option or any log option, its just there to see what's happening. I found an error in the last build when I added #ExtInf:0 anyway, so I will post a replacement build for that one with the corrections. So far in this latest m3u I have noted that the moviename which i use to create a folder contains : , this is an illegal path character for writing to storage, I wilol implement soon a fix for that, but tis not in this build attached VODtoSTRMscheduledTask.dll 499.5 kB · 1 download Ok now it runs with no errors after adding gobbledegook to ignore but it's only capturing Live TV in the m3u folder and nothing in the stream folder (I assume that's obvious?). TV Shows and Movies m3u are 0 kb and folders are empty. ex: #EXTINF:-1 tvg-id="(no tvg-id)" tvg-name="CM NETFLIX 1 4K" tvg-logo="http://logo.protv.cc/piconsnew/cinemania.jpg" group-title="CINEMA TV SHOWS HD/4K",CM NETFLIX 1 4K http://cf.go4k.me:80/live/REDACT/REDACT/696324.ts It does not appear in the log. ScheduledTask-[M3UToStrm]03.Mar.2025 - 11.42.56.txt
BigIrn 10 Posted March 3 Posted March 3 Sorry I edited that one line in the m3u so that netflix was in the group-title: #EXTINF:-1 tvg-id="(no tvg-id)" tvg-name="CM NETFLIX 1 4K" tvg-logo="http://logo.protv.cc/piconsnew/cinemania.jpg" group-title="CINEMA TV SHOWS HD/4K NETFLIX",CM NETFLIX 1 4K http://cf.go4k.me:80/live/nope/nope/696324.ts
mickle026 606 Posted March 3 Author Posted March 3 It checks both the group-title and the channel name for the VOD detection inclusion words. so all of this: group-title="CINEMA TV SHOWS HD/4K",CM NETFLIX 1 4K you don't need to add it to group-title="CINEMA TV SHOWS HD/4K" , it captures it anyway from the channel name: CM NETFLIX 1 4K something else is a miss, the code I am just testing will tell me in the verbose logs where it puts each item. I think instead of blindly trying to get it to behave I need to see what its doing for each persons item, then work out how to handle it. Its come a long way already from just working on my m3u file, it is now processing all of them, I just need it to manipulate each entry properly for all types of m3u 03.Mar.2025 - 17:39:35 ------------------------------------ 03.Mar.2025 - 17:39:35 tvgId: 03.Mar.2025 - 17:39:35 tvgType: 03.Mar.2025 - 17:39:35 tvgName: 03.Mar.2025 - 17:39:35 groupTitle: 03.Mar.2025 - 17:39:35 movieName: ES - Herbie en el Grand Prix de Montecarlo (1977) 03.Mar.2025 - 17:39:35 logoUrl: 03.Mar.2025 - 17:39:35 Processing [84925]..Item Name: ES - Herbie en el Grand Prix de Montecarlo (1977) 03.Mar.2025 - 17:39:35 Checking: #EXTINF:-1,ES - Herbie en el Grand Prix de Montecarlo (1977) 03.Mar.2025 - 17:39:35 Checking: http://*******************************.mkv 03.Mar.2025 - 17:39:35 Item [84925] Adding to internal Live-TV List Such as this its obvious to me that I also need to check if there is a year (YYYY) in there to see if its a movie VOD or not, so I have added that. The biggest hurdle is what is VOD and What is not. The latest build is attached if you want to test where this is at VODtoSTRMscheduledTask.dll 1
BigIrn 10 Posted March 3 Posted March 3 Holy shit it kind of works now... I tried the Cinemax and HBO strms but it only plays 30 seconds of a random movie.
BigIrn 10 Posted March 3 Posted March 3 I wonder if this is more of a me problem than a code problem. I thought the paramount and apple+ strings were VOD movies...
mickle026 606 Posted March 3 Author Posted March 3 (edited) 16 minutes ago, BigIrn said: I wonder if this is more of a me problem than a code problem. I thought the paramount and apple+ strings were VOD movies... I don't have access to your thoughts or your config so I am wondering what you mean here? The 30 seconds playback might be because of internal Emby coding, I think in the live TV tuner there is some kind of keep alive going on, I don't know about with playback from strm files, maybe that's something for @Luketo look at? maybe its not? I don't know. This build should log filetype for anything that not .m3u such as some urls, that will give me a clue what I need to do to support those I think, it will now detect if there is a year in the title of the channelname (Moviename if its vod) and should now include those as movie vods rather than live TV. VODtoSTRMscheduledTask.dll Progress is being made! 03.Mar.2025 - 18:25:47 ------------------------------------ 03.Mar.2025 - 18:25:47 tvgId: 03.Mar.2025 - 18:25:47 tvgType: 03.Mar.2025 - 18:25:47 tvgName: 03.Mar.2025 - 18:25:47 groupTitle: 03.Mar.2025 - 18:25:47 channelName: TOP - The Painter (2024) 03.Mar.2025 - 18:25:47 logoUrl: 03.Mar.2025 - 18:25:47 Processing [34836]..Item Name: TOP - The Painter (2024) 03.Mar.2025 - 18:25:47 Checking: #EXTINF:-1,TOP - The Painter (2024) 03.Mar.2025 - 18:25:47 Checking: http://***************************.mkv 03.Mar.2025 - 18:25:47 Item [34836] Sanitized Channelname: TOP - The Painter (2024) 03.Mar.2025 - 18:25:47 Item [34836] Not detected as a TV Show, Type: 03.Mar.2025 - 18:25:47 Item [34836] Type: Movies - Detected a Year in the Channel Name. 03.Mar.2025 - 18:25:47 Item [34836] Adding to internal Movie VOD List 03.Mar.2025 - 18:25:47 Item [34836] Type: Movies 03.Mar.2025 - 18:25:47 -------------------------------------------------------------------------------- 03.Mar.2025 - 18:25:47 Item [34836] Adding to internal M3UContent List folderName: Movies\TOP - The Painter (2024) 03.Mar.2025 - 18:25:47 Item [34836] Adding to internal M3UContent List fileName: TOP - The Painter (2024).strm 03.Mar.2025 - 18:25:47 Item [34836] Adding to internal M3UContent List tvgId: 03.Mar.2025 - 18:25:47 Item [34836] Adding to internal M3UContent List tvgName: 03.Mar.2025 - 18:25:47 Item [34836] Adding to internal M3UContent List tvgType: Movies 03.Mar.2025 - 18:25:47 Item [34836] Adding to internal M3UContent List url: http://**************************.mkv 03.Mar.2025 - 18:25:47 Item [34836] Adding to internal M3UContent List logoUrl: 03.Mar.2025 - 18:25:47 ------------------------------------ Edited March 3 by mickle026
BigIrn 10 Posted March 3 Posted March 3 3 minutes ago, mickle026 said: I don't have access to your thoughts or your config so I am wondering what you mean here? The 30 seconds playback might be because of internal Emby coding, I think in the live TV tuner there is some kind of keep alive going on, I don't know about with playback from strm files, maybe that's something for @Luketo look at? maybe its not? I don't know. This build should log filetype for anything that not .m3u such as some urls, that will give me a clue what I need to do to support those I think, it will now detect if there is a year in the title of the channelname (Moviename if its vod) and should now include those as movie vods rather than live TV. VODtoSTRMscheduledTask.dll Progress is being made! So instead of the movie it shows this:
mickle026 606 Posted March 3 Author Posted March 3 I am still at a loss of what you mean. What am I looking at? Is FX Movies wrong? If so what should or do you expect it to be? The strm file will contain the link to the movie, emby should pick up that folder , which it looks like it has because there is an .nfo file So, are these actually live tv channels?
BigIrn 10 Posted March 3 Posted March 3 (edited) 26 minutes ago, mickle026 said: I am still at a loss of what you mean. What am I looking at? Is FX Movies wrong? If so what should or do you expect it to be? The strm file will contain the link to the movie, emby should pick up that folder , which it looks like it has because there is an .nfo file So, are these actually live tv channels? Ok here is an example: #EXTINF:-1 tvg-id="(no tvg-id)" tvg-name="ALF 4K" tvg-logo="http://logo.protv.cc/piconsnew/cinemania.jpg" group-title="CINEMA TV SHOWS HD/4K",ALF 4K http://cf.go4k.me:80/live/oops/yikes/696305.ts Edited March 3 by BigIrn
mickle026 606 Posted March 3 Author Posted March 3 (edited) 3 minutes ago, BigIrn said: Ok here is an example: #EXTINF:-1 tvg-id="(no tvg-id)" tvg-name="ALF 4K" tvg-logo="http://logo.protv.cc/piconsnew/cinemania.jpg" group-title="CINEMA TV SHOWS HD/4K",ALF 4K http://**************:80/live/*******/*******/696305.ts So is that a live-tv channel outputting as a VOD? Also you need to edit that as it has your username and password in it. Edited March 3 by mickle026
BigIrn 10 Posted March 3 Posted March 3 I'm going to contact my provider and ask if these are VOD or live tv.
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