allanlee Posted September 18, 2019 Share Posted September 18, 2019 1 minute ago, Delphi said: Do you sit behind a proxy server? No... there's nothing in IE proxy settings. I'm not running anything relevant to proxies in backgroud as well. Just curious... which URL is XgrabDMS requesting I still saw "TBaseProcess HandleAPI Error 3" in DMS debug log. Quote Link to comment
Delphi Posted September 19, 2019 Author Share Posted September 19, 2019 (edited) 18 hours ago, allanlee said: Just curious... which URL is XgrabDMS requesting http://localhost:8089/api/getchannelsxml.html?tuner=1 My code is: Spoiler procedure GetStream(const UserName, Password, IP, Port, Command: string; aStream: TStream); var IdHTTP: TIdHTTP; begin IdHTTP := TIdHTTP.Create(nil); try if UserName <> '' then begin IdHTTP.Request.BasicAuthentication := True; IdHTTP.Request.Username := UserName; IdHTTP.Request.Password := Password; end; IdHTTP.Get('http://' + IP + ':' + Port + '/api/' + Command, aStream); finally IdHTTP.Free; end; end; Quote "TBaseProcess HandleAPI Error 3" Try to ask the devs what that means, maybe here: https://www.DVBViewer.tv/forum/forum/66-DVBViewer-media-server/ Edited September 19, 2019 by Delphi Quote Link to comment
allanlee Posted September 19, 2019 Share Posted September 19, 2019 1 hour ago, Delphi said: http://localhost:8089/api/getchannelsxml.html?tuner=1 tried in firefox, no problem: <channels> <root name="DVB-T2"> <group name="mediacorp"> <channel nr="0" name="Channel 5" EPGID="882624369328130" flags="24" ID="3713217898687627266"> <tuner tnrtype="2" group="0" flags="24" freq="538000" symb="0" LOF="0" PMT="200" satmod="132" AVformat="18" FEC="0" pol="2" OrbPos="5000" Tone="0" EPGFlag="0" DiSEqCVal="0" DiSEqC="0" alang="eng" APID="230" VPID="220" TSID="1" TelePID="0" NID="8894" SID="2" PCRPID="220"/> </channel> <channel nr="1" name="Suria" EPGID="882624369328132" flags="24" ID="3713217898700734468"> <tuner tnrtype="2" group="0" flags="24" freq="538000" symb="0" LOF="0" PMT="400" satmod="132" AVformat="18" FEC="0" pol="2" OrbPos="5000" Tone="0" EPGFlag="0" DiSEqCVal="0" DiSEqC="0" alang="may" APID="430" VPID="420" TSID="1" TelePID="0" NID="8894" SID="4" PCRPID="420"/> </channel> <channel nr="2" name="Channel 8" EPGID="882624369393667" flags="24" ID="3713217902989148163"> <tuner tnrtype="2" group="0" flags="24" freq="554000" symb="0" LOF="0" PMT="300" satmod="132" AVformat="18" FEC="0" pol="2" OrbPos="5000" Tone="0" EPGFlag="0" DiSEqCVal="0" DiSEqC="0" alang="ZHO" APID="330" VPID="320" TSID="2" TelePID="0" NID="8894" SID="3" PCRPID="320"/> </channel> <channel nr="3" name="Vasantham" EPGID="882624369393669" flags="24" ID="3713217903002255365"> <tuner tnrtype="2" group="0" flags="24" freq="554000" symb="0" LOF="0" PMT="500" satmod="132" AVformat="18" FEC="0" pol="2" OrbPos="5000" Tone="0" EPGFlag="0" DiSEqCVal="0" DiSEqC="0" alang="TAM" APID="530" VPID="520" TSID="2" TelePID="0" NID="8894" SID="5" PCRPID="520"/> </channel> <channel nr="4" name="CNA" EPGID="882624369524752" flags="24" ID="3713217911598809104"> <tuner tnrtype="2" group="0" flags="24" freq="570000" symb="0" LOF="0" PMT="600" satmod="132" AVformat="18" FEC="0" pol="2" OrbPos="5000" Tone="0" EPGFlag="0" DiSEqCVal="0" DiSEqC="0" alang="eng" APID="631" VPID="620" TSID="4" TelePID="0" NID="8894" SID="16" PCRPID="620"/> </channel> <channel nr="5" name="Channel U" EPGID="882624369524753" flags="24" ID="3713217911605297169"> <tuner tnrtype="2" group="0" flags="24" freq="570000" symb="0" LOF="0" PMT="700" satmod="132" AVformat="18" FEC="0" pol="2" OrbPos="5000" Tone="0" EPGFlag="0" DiSEqCVal="0" DiSEqC="0" alang="zho" APID="730" VPID="720" TSID="4" TelePID="0" NID="8894" SID="17" PCRPID="720"/> </channel> <channel nr="6" name="okto (HD)" EPGID="882624369524754" flags="24" ID="3713217911611850770"> <tuner tnrtype="2" group="0" flags="24" freq="570000" symb="0" LOF="0" PMT="800" satmod="132" AVformat="18" FEC="0" pol="2" OrbPos="5000" Tone="0" EPGFlag="0" DiSEqCVal="0" DiSEqC="0" alang="eng" APID="830" VPID="820" TSID="4" TelePID="0" NID="8894" SID="18" PCRPID="820"/> </channel> </group> </root> </channels> Quote Link to comment
Delphi Posted September 19, 2019 Author Share Posted September 19, 2019 1 hour ago, Delphi said: Try to ask the devs what that means, maybe here: https://www.DVBViewer.tv/forum/forum/66-DVBViewer-media-server/ Do that. You are the only one reporting this problem, ever. Quote Link to comment
allanlee Posted September 19, 2019 Share Posted September 19, 2019 5 minutes ago, Delphi said: Do that. You are the only one reporting this problem, ever. sure, was writing the post just now. https://www.DVBViewer.tv/forum/topic/62985-dms-epg-api-requests-issue/ Quote Link to comment
Delphi Posted October 4, 2019 Author Share Posted October 4, 2019 (edited) Quote XgrabDMS version 0.2.0.1 is available Fixed the 404 not found error reported by @allanlee Edited October 9, 2019 by Delphi Quote Link to comment
Delphi Posted October 4, 2019 Author Share Posted October 4, 2019 Quote Xepg version 0.7.4.2 is available Added support for https downloads of xmltv files. Quote Link to comment
bounguine Posted December 27, 2019 Share Posted December 27, 2019 Hi/ I added more sources to the XMLTV app (https://pctuner.club/forum/q/9228), which combines them into 1 file and XEPG stopped working. Processing: C:\Program Files (x86)\DVBViewer\xmltv.xml XMLTV reader Engine: EasyXML SAX xml version="1.0" encoding="utf-8" -- Fatal Error on line: 1488480, col: 21 Unexpected EOF ERROR TYPE: File is not a legal XML file Contact your XMLTV provider to correct the error EXCEPTION MESSAGE---XepgException:Process Aborted Error on Analyzing files ERROR: File is not a legal XML file Contact your XMLTV provider to correct the error Maybe it is, because the file is 984 Mb now Quote Link to comment
bounguine Posted December 27, 2019 Share Posted December 27, 2019 I checked the xml-file in JEdit (Ubuntu). Opened in 3 seconds. no errors on line: 1488480, the whole file is correct. Seems to be a problem of Windows. Too bad that good apps are written for OSes for housewives. Why not do it on server OSes like Linux?... Quote Link to comment
Delphi Posted December 27, 2019 Author Share Posted December 27, 2019 4 hours ago, bounguine said: I added more sources to the XMLTV app (https://pctuner.club/forum/q/9228), which combines them into 1 file Why? Xepg can process multiple files. Try to to add the files separately to Xepg. Quote Link to comment
bounguine Posted December 28, 2019 Share Posted December 28, 2019 (edited) 19 hours ago, Delphi said: Why? Xepg can process multiple files. Try to to add the files separately to Xepg. The xmltv Russian app above lets me see program of each channel before loading to DVBViewer. Very often a channel is in the list, but it has no program. In your case I add it without knowing about the program for it. If the channel is "blank", I have to search for another with the same or seems-to-be-like-this name again without information about the program/ With my 8K channels and 2-5 variants for each it is a pain in the ass. NB I splitted 1 file to 2. Now I have strange numeric names with mappings. Why don't aotomatically delete mappings for not existing channels in xmltv sources? Edited December 28, 2019 by bounguine Quote Link to comment
Delphi Posted December 30, 2019 Author Share Posted December 30, 2019 (edited) On 12/28/2019 at 6:52 PM, bounguine said: I splitted 1 file to 2 How? xml files are not just text files should be treated with care. On 12/28/2019 at 6:52 PM, bounguine said: Now I have strange numeric names with mappings Probably some <channel> nodes are missing in the file. A channel pairing in Xepg consists of a pair (xmltvid, epgid). The xmltvid is defined in the xmltv file in a <channel> node. the epgid is defined in the DVBViewer channel list for each channel. Channel pairings, stored in Pairings.xml are assumed static and should only be changed if the are new xmltv channels (e.g. you get a new xmltv provider) or your DVBViewer channel list has changed. If you automate the process (Xepg > Automate > Help) you will get the epg automatically every day without doing anything. On 12/28/2019 at 6:52 PM, bounguine said: Why don't aotomatically delete mappings for not existing channels in xmltv sources? Would be a very bad idea: Even for stable xmltv providers it can happen that the epg for a channel is temporarily empty. You probably will want the epg when it gets back. On 12/28/2019 at 6:52 PM, bounguine said: If the channel is "blank", I have to search for another with the same or seems-to-be-like-this name again without information about the program/ With my 8K channels and 2-5 variants for each it is a pain in the ass. Not the fault of Xepg, blaim your xmltv provider. On 12/27/2019 at 7:18 PM, bounguine said: Maybe it is, because the file is 984 Mb now It is not windows that processes the file, it is either EasyXml or OXml. Links to those tools in the Xepg About Box. The correct term to for a valid xml file is: well-formed (Google). Since one of the parsers (EasyXml/OXml) produces an error message, I suspect the the file is not well-formed. Please try to process the file using both parsers and post the result here. Select in the XMLTV Job Editor and chose Test Import in Xepg main window. P.S. The biggest xmltv file I have seen so far is 250 Mb. At least in theory, a 984 Mb file should not be a problem Edited December 30, 2019 by Delphi Quote Link to comment
bounguine Posted December 31, 2019 Share Posted December 31, 2019 20 hours ago, Delphi said: Quote How? xml files are not just text files should be treated with care... Probably some <channel> nodes are missing in the file. I will explain. In the Russian app I have about 10 inbuilt sources and 5 extra sources I download by script as xmltv-files. The app joins the 15 sources into 1 file and exports it for your app. The resulting file is too (???) big So I exluded 1 of 5 extra sources and now your app has 1 joined file generated by the Russian app and 1 extra file to work with. After this the mappings made for channels from 1 excluded extra file when it was worked by the Russian app were corrupted. Quote Since one of the parsers (EasyXml/OXml) produces an error message, I suspect the the file is not well-formed. The files is correct I suspect. I checked the line marked by your app as corrupted and more lines before and after it, but they are valid Quote Link to comment
Delphi Posted January 1, 2020 Author Share Posted January 1, 2020 On 12/30/2019 at 11:10 PM, Delphi said: Please try to process the file using both parsers and post the result here. Select in the XMLTV Job Editor and chose Test Import in Xepg main window I can't help you if you don't follow my instructions. Additionally also test the OXml parser with "Strict Xml" unchecked. Post the error message in each case, if any. Quote Link to comment
Delphi Posted January 6, 2020 Author Share Posted January 6, 2020 (edited) I have added a link to my site: Validating xmltv files Edited January 6, 2020 by Delphi Quote Link to comment
bounguine Posted January 12, 2020 Share Posted January 12, 2020 On 1/1/2020 at 10:08 PM, Delphi said: Additionally also test the OXml parser with "Strict Xml" unchecked. This did the trick Quote Link to comment
hse Posted January 19, 2020 Share Posted January 19, 2020 Hello, I just did a frexh install of Windows along with the latest version of Xepg (0.7.4.2) and the latest DVBViewer (6.1.5.2). When I try to setup Xepg and point it to my DVBViewer install it gives me the error "The DVBViewer version is too old" It was working fine on my old install. Do you have any ideas what I can do to fix this? Quote Link to comment
Delphi Posted January 19, 2020 Author Share Posted January 19, 2020 One thing is wondering me: C:\Program Files(x86)\DVBViewerC\DVBViewer.exe Is this an older version of DVBViewer? Quote Link to comment
Delphi Posted January 19, 2020 Author Share Posted January 19, 2020 The code where the error happens is: if not (GetActiveObject(CLASS_DVBViewer, nil, Unknown) = MK_E_UNAVAILABLE) then Unknown.QueryInterface(IID_IDVBViewer2, DVBViewer); // get IDVBViewer2 Interface if Not Assigned(DVBViewer) then begin MessageDlg('The DVBViewer version is too old', mtError, [mbOK], 0); DVBViewerFileName := OldFileName; Exit; end; Xepg fails to get the IDVBViewer2 COM interface which doesn't exist in older versions of DVBViewer. DVBViewer registers its COM interface with windows on install, so you could try to reinstall DVBViewer. Quote Link to comment
hse Posted January 20, 2020 Share Posted January 20, 2020 On 1/19/2020 at 10:40 AM, Delphi said: The code where the error happens is: if not (GetActiveObject(CLASS_DVBViewer, nil, Unknown) = MK_E_UNAVAILABLE) then Unknown.QueryInterface(IID_IDVBViewer2, DVBViewer); // get IDVBViewer2 Interface if Not Assigned(DVBViewer) then begin MessageDlg('The DVBViewer version is too old', mtError, [mbOK], 0); DVBViewerFileName := OldFileName; Exit; end; Xepg fails to get the IDVBViewer2 COM interface which doesn't exist in older versions of DVBViewer. DVBViewer registers its COM interface with windows on install, so you could try to reinstall DVBViewer. Sorry for the late reply I got it working by running it elevated as admin. Thanks again for your excellent tool. Quote Link to comment
Delphi Posted January 21, 2020 Author Share Posted January 21, 2020 (edited) 12 hours ago, hse said: I got it working by running it elevated as admin Xepg normally does not need elevation to run properly, neither does DVBViewer. I think there is something wrong with your installation(s). The error you reported has never been reported before. P.S. Please don't quote whole posts. Edited January 21, 2020 by Delphi Quote Link to comment
Mario Lang Posted February 7, 2020 Share Posted February 7, 2020 Ich habe von gestern auf heute von dvblink auf DVBViewer umgestellt da mir die Sache mit dem EPG in dvblink zu bunt wurde bzw. die Genres & Farben NICHT funktionierten, egal wo ich geschraubt habe.DVBViewer läuft jetzt und auch das xmltv-EPG bekomme ich soweit zufriedenstellen ins KODI.EPG-Import sieht folgendermaßen aus: EPG für meine Sender per webgrab++ holen -> rating- & genremapper drüber bügeln -> mit Xepg in den DVBViewer stopfen = funktioniert und endlich sind alle Genres & Farben richtig im EPGDa ja im xmltv die links für die Vorschaubilder enthalten sind und diese über dvblink auch angezeigt wurden, meine Frage ob dies auch über Xepg und DVBViewer machbar ist. Quote Link to comment
Delphi Posted February 7, 2020 Author Share Posted February 7, 2020 5 hours ago, Mario Lang said: Da ja im xmltv die links für die Vorschaubilder enthalten sind und diese über dvblink auch angezeigt wurden, meine Frage ob dies auch über Xepg und DVBViewer machbar ist. This has been discussed before: https://www.DVBViewer.tv/forum/topic/59663-xepg/?do=findComment&comment=468327 It's currently not possible, sorry. Quote Link to comment
bounguine Posted February 15, 2020 Share Posted February 15, 2020 Hi. Something got wrong and I cannot see readable tuners names anymore. Quote Link to comment
Delphi Posted February 17, 2020 Author Share Posted February 17, 2020 What do you mean by " readable tuners names"?? Quote Link to comment
Hunter77 Posted February 26, 2020 Share Posted February 26, 2020 On 10/4/2019 at 9:54 AM, Delphi said: Added support for https downloads of xmltv files. Sorry for the (maybe stupid) question: where am I supposed to put the http link ot the tvguide.xml file? Are compressed format (like .gzip or .xz) supported? If I create a "grab then import" job, will the import process wait until the xml file (about 90 mbytes) has been downloaded from the web? Or will I need to set a timeout some way? Thanks in advance for the explaination. Quote Link to comment
Delphi Posted February 26, 2020 Author Share Posted February 26, 2020 2 hours ago, Hunter77 said: Sorry for the (maybe stupid) question: where am I supposed to put the http link ot the tvguide.xml file? Xepg > Add > Grabber executable/URL: 2 hours ago, Hunter77 said: Are compressed format (like .gzip or .xz) supported? No, currently not. You will have to create a script (e.g. .bat, .vbs) that downloads (e.g. curl, wget ) the file then uncompresses it (e.g. 7zip). Use the script file as grabber executable. 2 hours ago, Hunter77 said: If I create a "grab then import" job, will the import process wait until the xml file (about 90 mbytes) has been downloaded from the web? Yes. 2 hours ago, Hunter77 said: Or will I need to set a timeout some way? No. Quote Link to comment
hse Posted February 26, 2020 Share Posted February 26, 2020 Hello, Is there anyway to move the Episode Name (sub-title?) into the event info? for example in the image below. It displays Showname and S##E## in the Event column and then the Episode Name in the Title column so "Cheers S01E03" "The Tortelli Tort" would become "Cheers S01E03 The Tortelli Tort" also is there anyway to replace all spaces in the Title with .'s so my recordings will not have spaces in the filename? e.g "Cheers.S01E01.The.Tortelli.Tort.ts" Thanks https://i.imgur.com/kA38cyw.png Quote Link to comment
Delphi Posted February 27, 2020 Author Share Posted February 27, 2020 (edited) There is some confusion concerning what Title, Event and sub-title means. To make things even worse, Title and Event are switched in the DVBViewer windowed epg window. @Griga suggested the term SubHeader for sub-title (xmltv) and Event (DVBViewer/DMS in most places). Let's use that. 14 hours ago, hse said: Hello, Is there anyway to move the Episode Name (sub-title?) into the event info? If you mean moving the SubHeader to the Title, the answer is no. If you want to record series Title=Cheers S01E03 SubHeader=The Tortelli Tort is a perfect format for a one click series recording. In that context the SubHeader should NOT be moved to the Title. 14 hours ago, hse said: is there anyway to replace all spaces in the Title with .'s so my recordings will not have spaces in the filename? e.g "Cheers.S01E01.The.Tortelli.Tort.ts" No. Note that the DVBViewer/DMS replaces illegal filename characters like <>:"/\|?* with a space in file names. Edited February 27, 2020 by Delphi Quote Link to comment
bounguine Posted May 4, 2020 Share Posted May 4, 2020 (edited) On 12/28/2019 at 1:41 AM, Delphi said: Why? Xepg can process multiple files. Try to to add the files separately to Xepg. Hi. I decided not to merge different sources in the app I wrote above and then export 1 large xmltv file for XEPG. Now I have 4 xmltv files in XEPG. But I see that during import, when mapping, XEPG looses most channels. Hre's just 1 source: Edited May 4, 2020 by bounguine Quote Link to comment
Delphi Posted May 5, 2020 Author Share Posted May 5, 2020 (edited) 19 hours ago, bounguine said: But I see that during import, when mapping, XEPG looses most channels. I assume you mean that you don't see them when doing a channel pairing. Or? The ids must be unique across all 4 files. If you have <channel id="711"> for other than <display-name lang="ru">2x2 (HTB)</display-name> then there is a problem. Edited May 5, 2020 by Delphi Quote Link to comment
bounguine Posted May 6, 2020 Share Posted May 6, 2020 You mean if channel A in source 1 has id 1 and channel B in source 2 also has id 1, this will be a problem? For me this will always cause interference, as in most cases ids start with 1. Why not use comlex id "source_number_channel_id_in_source". Now I miss hundreds of channels Quote Link to comment
Delphi Posted May 6, 2020 Author Share Posted May 6, 2020 1 hour ago, bounguine said: You mean if channel A in source 1 has id 1 and channel B in source 2 also has id 1, this will be a problem? Yes. The id is an identifier and can't be reused in any other context. 1 hour ago, bounguine said: For me this will always cause interference, as in most cases ids start with 1 A terribel way to create identifiers ... just doing an enumeration. Many xmltv providers use the display-name, country, site name,... to create identifiers (they don't need to be numbers), e.g. 2x2 (HTB).ru.sitename. If there are more than one channel with display-name 2x2 (HTB) they MUST have different ids. 1 hour ago, bounguine said: Why not use comlex id "source_number_channel_id_in_source". I will never do such a thing. It's your xmltv provider doing bad things. I think you should contact your provider and complain. Furthermore, earlier you shipped me some xmltv files, they don't pass the xmltv validation using the official xmltv.exe. Complain about that too. Quote Link to comment
bounguine Posted May 6, 2020 Share Posted May 6, 2020 (edited) All my files have same names and all ids start with 1. Nothing can be done, but ask you to slightly change the code in your app I'm sure you will aggree that, if XMLTV format has no strict naming convension for files and ids, providers can do whatever they want. And if I shall ask them to change something, it will not be a reason. They will answer that interference is the fault of XEPG's author. Edited May 6, 2020 by bounguine Quote Link to comment
bounguine Posted May 6, 2020 Share Posted May 6, 2020 Another annoying thing https://hostingkartinok.com/show-image.php?id=cb2afe7fbc3e5e1d894a7090478ced24 https://hostingkartinok.com/show-image.php?id=f3df1f54e38d816cf02af90878d01053 https://hostingkartinok.com/show-image.php?id=83d6da7f67244d0eb24ccf9c1d06300a Quote Link to comment
Delphi Posted May 6, 2020 Author Share Posted May 6, 2020 1 hour ago, bounguine said: Nothing can be done, but ask you to slightly change the code in your app Cannot be done by a minor code change. 1 hour ago, bounguine said: I'm sure you will aggree that, if XMLTV format has no strict naming convension for files and ids, providers can do whatever they want In general an identifier MUST be unique. 1 hour ago, bounguine said: They will answer that interference is the fault of XEPG's author IMO it is their files that are are bad. Also for the following reason: If you decide not to download certain channels then many ids will change and you should then do a new channel pairing. Quote Link to comment
bounguine Posted May 6, 2020 Share Posted May 6, 2020 (edited) "Cannot be done by a minor code change." I understand this. I work in IT sphere. "In general an identifier MUST be unique." Yes, in your app. And I proposed concatination. I cannot force provider 1 to cooperate with provider 2 and 3. Inside their files id is unique. If you would say that using channel names is better, I would answer "no". No uniquness possible having > 1 source. So, uniqueness is a matter of application like yours. "IMO it is their files that are are bad." They are good indeed. All according to XMLTV standard. They no nothing about XEPG. But, sorry, merging them far from being perfect in XEPG. Your app can work correctly only with 1 source Edited May 6, 2020 by bounguine Quote Link to comment
Delphi Posted May 6, 2020 Author Share Posted May 6, 2020 Well behaved xmltv providers often has the company name as part of the id, e.g. id="2145.honeybee.it" id="1484.honeybee.it" in order to not conflict with other providers. The numbers here are fixed for the channels, they are not created by a simple enumeration when the file is created (a terrible way to do this!). Xepg can process multiple files in all other cases than yours. One thing is what is standard, another thing is what is useful and good style. Quote Link to comment
bounguine Posted May 6, 2020 Share Posted May 6, 2020 Opps. Any app must differentiate between 2+ sources using complex keys, if there is at least 1% possibility that items inside them may have same keys/ids. I proposed source number (not source name) + inside id. Anyway there are lots of workarounds. This is a must in IT. You didn't this. So, now I must say your app cannot operate correctly with 2+ sources. And this is a bug. You cannot oblige those, who release xmltv sources strongly according to specs, to make what Delphi wants only because for you bug resolving "cannot be done by a minor code change" Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.