isayso / playlisteditortv Goto Github PK
View Code? Open in Web Editor NEWIPTV m3u list Editor/Player for Windows with Kodi support
License: MIT License
IPTV m3u list Editor/Player for Windows with Kodi support
License: MIT License
Perhaps something for the future is to build in a little "progress indicator" to see how much (%) of th he links in a m3u file are checked when scanning for dead links. (Seems that github doesn't have a portion "feature request", therefore I added it as an issue)
Is there a way to adjust timing to check links? I have some that takes longer to load(sometimes even 10 sec).
Thanks for the repository.
One problem I see is that when uploading a list it keeps only http links and removes the ones with rtmp.
Is there a way to keep them or anyhow they get removed when checking for channel availability?
e.g. rtmp://89.33.78.174/live/livestream
I do not know how to write, but I have such errors. I'm posting the error files.
The first one when opening the playlist:
pl edit 1.txt
The second one, when you edit a long sheet, after about 100 lines, it gives such an error:
playlist editor error.txt
You have to save the list and reopen it.
There is also a bug that does not scan 2 sheets in a row for broken links. Just "check" doesn't work on the second one. You have to go out and open the sheet again
Ability to de-select or remove columns would be nice.
most kodi playlists don't use all of these.
(tvg-name="Name N/A" tvg-id="id N/A")
Clutters the playlist.
If not doable, at least remove the default text for an empty tag,
(tvg-name="" tvg-id="")
Ability to delete content on multiple selected cells.
Both in regard to columns and rows.
With these corrections your editor would be awesome.
Thanks for a great tool! 😉
opened an m3u list, checked list and got orange and gray ones. The list was not sorted by country to check on vlc links and pressed sort by country. All colors disappeared and need to rescan.
can you add a channel number and keep scan value in memory for sorting?
Hi Thanks for the application, I recently came a ccross this application and it has helped to get ride of unwanted list from 4000 to 900 of desire channels.
Each time that I need to clean the list I have to go through same process removing unwanted list,
my asked is if possible to include some sort of filter or check or unchecked list for unwanted group and then have this saved as favourite so next time that I with to clean the main file I will use my old favourite
Thanks for the efforts
please add this feature. and I think column 3 should be named a "Group" not "Title".
thanks.
a given password is not accepted from Kodi.
Workaround: Don't use a password until a fix is available.
For a long time I could not understand why my playlist is not loaded into the program, as it turned out, the reason is that all the links in the list are in this format udp://@239.1.17.16:1234 and, as I understand it, the udp protocol is not supported. could you add it?
There is also one more wish, there is a ffprobe program that allows you to get information about the stream, including the name of the channel, this would allow you to automatically rename channels in the lists, or generate a custom name.
When opening a file not all headers are ON., I missed once to activate all and when saving it deleted logos. Can you have it start with all on?
Is Name tvg-guide and Name2 the program name?
I did a change to dark mode of windows and now most of the information is not visible.
Top buttons, can you replace with pictures? Help boxes when hovering in top of buttons are OK.
Line items are showing only if selected - can background and text colors be selected based on Windows personalization?
Please support the #EXTVLCOPT option for user-agent.
I have a link to a TV channel:
http://fnctve-i.akamaihd.net/hls/live/200669/fnctve/HD.m3u8
It works excellent in GSEIptv but only on IOS (iPhone, AppleTV)
I cannot get it to work on any other players or platforms even if I install separate video players.
Not sure what is different but maybe is there a different checker you can use that is not deleting it?
Thanks for your quick response, awesome!
Being able to hide columns is good, but my intent with the earlier
request was that if a column is hidden, then it wouldn't write that tag
into the playlist either.
Example:
All columns used:
#EXTINF:-1 tvg-name="N/A" tvg-id="N/A" group-title="N/A" tvg-logo="https://i.imgur.com/KacMcVa.png",CNN
http://92.43.140.249/s27/04.m3u8
First three columns hidden:
#EXTINF:-1 tvg-logo="https://i.imgur.com/KacMcVa.png",CNN
http://92.43.140.249/s27/04.m3u8
This is how a typical playlist looks like in kodi, that only uses Logo, Name2 and link columns:
Here is a typical playlist found on pastebin where the first 2 columns aren't used:
(Name and Id)
https://pastebin.com/raw/jUG8ytNj
I understand that it would be difficult to program it in a way, that it actually deletes
existing content in a column that has been de-selected.
But it doesn't need to do that.
All it has to do is simply ignore writing tags on those de-selected columns.
That should be more easy to accomplish programmatically, i think.
If you manage to pull that off, a really clean kodi playlist could be created,
and the kodi community would love it!
Hi there,
Great tool, exactly what I was looking for! Want to remove lots of dead links from extreme long m3u file of IPTV provider.
But all links show dead/red with PlaylistEdi torTV.
I made also a test.m3u with 2 working and 2 dead links.
This is the test.m3u, in the links there is normally my username/password, I replaced them here so it will not be displayed at github.
#EXTM3U
#EXTINF:-1 tvg-name="NL| NPO 1 FHD HEVC" group-title="NEDERLAND FHD" tvg-logo="http://tv.trexiptv.com:8000/picons/logos/npo1hd.png",NL| NPO 1 FHD HEVC
http://line.protv.cc:8000/username/password/50179
#EXTINF:-1 tvg-name="NL| NPO 2 FHD HEVC" group-title="NEDERLAND FHD" tvg-logo="http://tv.trexiptv.com:8000/picons/logos/npo2hd.png",NL| NPO 2 FHD HEVC
http://line.protv.cc:8000/username/password/50178
#EXTINF:-1 tvg-name="Black Mirror S03 E04" group-title="ENGLISH SERIES" tvg-logo="http://line.protv.cc:8000/images/AfKQ9bm4RVTwyKdE2QfLDGrtVTu_small.jpg",Black Mirror S03 E04
http://line.protv.cc:8000/series/username/password/88651.mp4
#EXTINF:-1 tvg-name="Black Mirror S03 E05" group-title="ENGLISH SERIES" tvg-logo="http://line.protv.cc:8000/images/A4g3nH0kYQpqHv1oHBXuTgRgT5u_small.jpg",Black Mirror S03 E05
http://line.protv.cc:8000/series/username/password/88652.mp4
The list is correctly imported and displayed, with all columns and lines. In settings the check-field points to the "link-column".
The m3u file of the provider is tested on the same laptop correctly with the IPTV-checker from http://tiny-tools.com/ but that program filters columns out when saving.
Greetings,
Frank
PlaylistEditorTV v1.7.4
Hello, I loaded a playlist file that I have manually maintained before.
The structure of the file is like the following sample:
#EXTM3U
# Italia ------------------------------------------------------------------------------------------------------------
#EXTINF:0 tvg-logo="https://static.wikia.nocookie.net/logopedia/images/f/f7/Rai_1_2016.svg/revision/latest/scale-to-width-down/400" group-title="Italia",Rai 1
https://mediapolis.rai.it/relinker/relinkerServlet.htm?cont=2606803&output=16
#EXTINF:0 tvg-logo="https://static.wikia.nocookie.net/logopedia/images/8/89/Rai_2_2016.svg/revision/latest/scale-to-width-down/400" group-title="Italia",Rai 2
https://mediapolis.rai.it/relinker/relinkerServlet.htm?cont=308718&output=16
# Sport -------------------------------------------------------------------------------------------------------------
#EXTINF:0 tvg-logo="https://upload.wikimedia.org/wikipedia/commons/thumb/a/af/Sky_Sport_Uno_-_Logo_2020.svg/400px-Sky_Sport_Uno_-_Logo_2020.svg.png" group-title="Sport",Sky Sport UNO Italy
#EXTVLCOPT:http-referrer=https://weblivehdplay.ru/
https://ddy5.hlsjs.ru/ddy5/premium461/playlist.m3u8|referrer=https://weblivehdplay.ru/
#EXTINF:0 tvg-logo="https://upload.wikimedia.org/wikipedia/commons/thumb/a/af/Sky_Sport_Uno_-_Logo_2020.svg/400px-Sky_Sport_Uno_-_Logo_2020.svg.png" group-title="Sport",Sky Sport UNO diretto
#EXTVLCOPT:http-referrer=https://weblivehdplay.ru/
https://ddy5.hlsjs.ru/ddy5/premium461/tracks-v1a1/mono.m3u8|referrer=https://weblivehdplay.ru/
I believe there are no duplicates.
When I click "find duplicates" button, the application highlights some random lines. I do not understand why.
Attached iptv.m3u
iptv.zip
is PlaylistEditorTV_v1.7.3 als for windows in x64 available?
thx
The tool is nice, but the list can be very wide and even a widescreen might not be enough to see all columns.
I would like to have a horizontal ruler to scroll left and right.
Github forces everybody to use 2FA.
I will probably not enable this. I'm just a hobby programmer and this data grab to my mobile phone is not worth it.
I highly doubt that somebody will alter my code secretly.
Over the years all the donations combined were below 50$, so it is not worth the effort anyway.
Win 11
I would also like the ability to remove the PLAY (Kodi) button. I think it is not installed for many, like me. I touch and the program hangs.
And so the best of these, thank you!
I was just checking some links. and I got an unhanded exception.
[VOD Check113.txt](https://github.com/Isayso/PlaylistEditorTV/files/5891170/VOD.Check113.txt)Details in error;
See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.
************** Exception Text **************
System.Threading.SemaphoreFullException: Adding the specified count to the semaphore would cause it to exceed its maximum count.
at System.Threading.SemaphoreSlim.Release(Int32 releaseCount)
at PlaylistEditor.Form1.<>c__DisplayClass74_1.b__0()
at System.Threading.Tasks.Task.InnerInvoke()
at System.Threading.Tasks.Task.Execute()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at PlaylistEditor.Form1.d__74.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
at PlaylistEditor.Form1.<Button_check_Click>d__49.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.AsyncMethodBuilderCore.<>c.b__6_0(Object state)
************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.
For example:
When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.
Hello! I'm sorting playlist files by channel name and removing rows from full list for specific channels list. Whenever my selection includes last row this error comes up. It does shows new list after removing these rows but saving the full playlist again.
I have to press undo button and clear last rows in other editor. Is this error on my end?
Currently organizing from playlists around 1000 - 5000 lines.
P.S. Using on Windows 7.
You might want to consider a different way/strategy of loading m3u files, since some m3u's are getting pretty tremendous.
3 strategies I can think of off the top of my head:
Let user know there is limitation to file size and that files over a certain file size will be split into multiple .m3u files. Make it where user could export manipulations to re-merged master .m3u file. Another idea split the .m3u silently and use a pages layout for your table instead of a scrolling layout. When switch pages or maybe multiple pages it loads from another file in the background(instead of loading the complete file into memory).
Change strategy of how file is being loaded. Load only so many lines of the file at a time. Keep a pointer to where you are in the file and work your way up and down as people transverse the .m3u list. You may have to put some kind of spinner for loading of new content. One of the main downsides of this is figuring out how to make a search function work well. You could parse the file in the background without completely loading the data into memory or at least avoiding it visually in the GUI.
Pre-Main GUI initialization convert to a sqlite db. Then just run queries against the database. Also UI elements can utilize the db over loading the whole m3u files at once. Some UI elements pull data as needed from db to display it instead of loading everything in memory and forcing it on the UI.
3rd option would probably be the best way to solve the issues. I might fork and mess around with it a bit. My eyes aren't so good anymore and I get severe headaches when I strain them to code for extended periods of time.
Please take my suggestions as only constructive suggestions. Thanks for your time and effort you have put into the project!
Please add a feature to delete inactive links and export to new m3u.
I know that you can rename whole group easy is notepad, but can you add this feature here? Selected channels move to a different group,
Hi,
Found this nice tool of yours but wonder about the above ?
I dont have a file only a ts http link
When trying to run PlaylistEditorTV with wine in Debian Buster, I got this error message:
en-EN is an invalid culture identifier. at System.Globalization.CultureInfo.GetCultureInfo
There seems to be no Region Settings for wine, so I did not get around this error.
According to this, en-EN is in fact invalid: Microsoft documentation
Opened the solution in Visual Studio and did a global replace "en-EN" -> "en-US". After a rebuild, the program ran fine in wine.
In wine, VLC must be installed first, to be able to start the program.
this page https://github.com/kodi-pvr/pvr.iptvsimple#supported-m3u-and-xmltv-elements lists the tags that can be found in the playlist. but the program cannot add some, such as tvg-chno and tvg-shift. It seems to me that their support does not interfere.
Problem when loading an m3u file which was changed by PlaylistEditorTV 1.51.
I could open it. After changing some names and saving, i tried to reopen and got this message:
`
Untreatet exception of the application:
Die Länge darf nicht kleiner als 0 (null) sein.
(The length has not to be 0)
Parametername: length
Informationen über das Aufrufen von JIT-Debuggen
anstelle dieses Dialogfelds finden Sie am Ende dieser Meldung.
************** Ausnahmetext **************
System.ArgumentOutOfRangeException: Die Länge darf nicht kleiner als 0 (null) sein.
Parametername: length
bei System.String.Substring(Int32 startIndex, Int32 length)
bei PlaylistEditor.ClassHelp.GetPartString(String fullstr, String startstr, String endstr)
bei PlaylistEditor.Form1.importDataset(String filename, Boolean append)
bei PlaylistEditor.Form1.button_revert_Click(Object sender, EventArgs e)
bei System.Windows.Forms.Control.OnClick(EventArgs e)
bei System.Windows.Forms.Button.OnClick(EventArgs e)
bei System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
bei System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
bei System.Windows.Forms.Control.WndProc(Message& m)
bei System.Windows.Forms.ButtonBase.WndProc(Message& m)
bei System.Windows.Forms.Button.WndProc(Message& m)
bei System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
bei System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
************** JIT-Debuggen **************
Um das JIT-Debuggen (Just-In-Time) zu aktivieren, muss in der
Konfigurationsdatei der Anwendung oder des Computers
(machine.config) der jitDebugging-Wert im Abschnitt system.windows.forms festgelegt werden.
Die Anwendung muss mit aktiviertem Debuggen kompiliert werden.
Zum Beispiel:
Wenn das JIT-Debuggen aktiviert ist, werden alle nicht behandelten
Ausnahmen an den JIT-Debugger gesendet, der auf dem
Computer registriert ist, und nicht in diesem Dialogfeld behandelt.
`
TV Playlist Editor v1.6.4.0 can run on Win7 Professional 64bit?
The latest version 1.5.6 lost this feature to gray out rtmp. Also sorting does not keep colors.....Did you remove all the Features We worked in June?
Results from translation software
Thank you very much. It's very convenient to write this software
Of course, I have some problems in use. I hope I can give some advice
It is set to simplified Chinese in the software, but the fact does not change to simplified Chinese. Is it the software setting or my windows? It should not be a system problem. It may be caused by some setting
On the latest version of software 1.66, it is found that the value of name will be lost. It cannot be displayed when importing M3U files. After exporting, the name is lost
Hi again Isayso!,
I have an issue when i want to import a f4mTester link.
I understand that it's a plugin link and not http, and therefore can not be
tested with the link-tester.
But it would be preferable if they could be imported anyway, but right now
it's not allowed.
In kodi some links wont play without it, example that don't play:
#EXTINF:-1 tvg-logo="https://www.digitaltveurope.com/files/2011/12/BBC-World-News1.jpg",BBC WORLD NEWS
http://ott-cdn.ucom.am/s24/index.m3u8
Example that does play:
#EXTINF:-1 tvg-logo="https://www.digitaltveurope.com/files/2011/12/BBC-World-News1.jpg",BBC WORLD NEWS
plugin://plugin.video.f4mTester/?streamtype=HLSRETRY&url=http://ott-cdn.ucom.am/s24/index.m3u8
Here's an example playlist found on pastebin: https://pastebin.com/raw/sXRuvvAD
Windows 10. VLC is installed in default location.
C:\Program Files (x86)\VideoLAN\VLC
I cannot verify this exactly but usage of the Win Key as hotkey stopped working since the December Win10 security update.
Reason unknown. Please use other key combination.
When exit the application with a modified list, the save file dialog does't write the file.
Please save the file before closing the application.
Will be fixed in next version.
Many thanks for this! 👍
I hope you don't mind me posting this on the kodi forums.
Thread is here: https://forum.kodi.tv/showthread.php?tid=220615&pid=2890364#pid2890364
Here's a download counter for your README.md.
![GitHub Releases (by Release)](https://img.shields.io/github/downloads/Isayso/PlaylistEditorTV/v1.3.6/total)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.