Project

General

Profile

TVHeadEdit tool

Added by Akos Sz over 6 years ago

Hi,

I was struggling a lot with Tvheadend GUI since it goes very slow with huge number of DVB services and does not support bulk change of settings.
Finally I decided to build a small application to address these issues otherwise I could not configure my system.
I am not an experienced SW developer, so the main goal was to get a dirty app which fullfills my basic demands. Finally I spent too much time with it and since the outcome looks usable for others I decided to share it, as it is.
In this forum I can see that others have similar problems that I had, hence probably they will find this app useful.

It is called TVHeadEdit.

The main features are:
  • It is able to manage thousands of services (Tested with 8000)
  • Ability to edit multiple items at once. (Yes, you can assign a tag to hundred of channels at once)
  • Filtering lists by multiple conditions for easier operation (You can filter on anything)
  • Advanced mapping to distinct channel names by adding provider name and satellite position (Talking channel names)
  • Channel number inserting by automatic shifting of channel numbers (Easy reordering of channels)
  • Automatic numbering of selected group of channels (Slow, but working)
  • Transponder data update based on kingofsat.net (It looks more reliable than Tvheadend autoscan)
Of course there are limitations.
  • Only DVB-S support (I do not have DVB-T card, and tipically DVB-S provides huge number of services)
  • Not fool-proof (I assume that much more input validation, etc would be needed. As I said I am not a SW developer)

Download and unzip the file then click on install.
Probably you will observe antivirus notification regarding the source reliability. At least I saw on my computer.
Do not worry it is a Microsoft Visual Studio project. It will install .net if necessary.

Teaser video:
https://www.youtube.com/watch?v=PefG3iQ5MR0

Additional video about channel logo selector
https://www.youtube.com/watch?v=lqJziJ8ljqI

Test it. Use it. I hope you will find it useful.

The recommended way of working is to have a local copy of service.multimedia.tvheadend folder. Edit it with the app. If everything is OK, then the original service.multimedia.tvheadend content can be overwritten. Tvheadend has to be restarted to apply the changes.

I do not plan to spend to much time with further improvements but some bug fixes can be expected.

Akos

You can always download the latest from the link below.
(Check regularly, can be updated without notification)

http://goo.gl/WmrP9j

updated: 28/01/2015 - New version compatible with rewritten DVB database

Last update 18/07/2016 - I realized that Tvheadend database has been changed again. Now it stores information of some MUX-es in a kind of zip files some others are in the legacy format hence the tool is currently not able to recognize it.
I will investigate if it is worth updating the tool.


Replies (114)

RE: TVHeadEdit tool - Added by Akos Sz over 4 years ago

Hi Alexey,

It seems that there is a fault in loading channel tags.
The fastest and best way if you send me your TVH database folder in a zipped file. Then I can fix the issue quickly.

RE: TVHeadEdit tool - Added by Akos Sz over 4 years ago

Hi,

The fix is available now.
Anyway the problem was caused by invalid (corrupted?) parameter values in the TVH database. I compared the same multiplexer data in my DB and it is OK.
Example:

"orbital_pos": "28.2E",
"networkname": "Astra",
"frequency": 11223670,
"symbolrate": 27500000,
"polarisation": "V",
"sid": 53153,
"svcname": "Premier HD",
"provider": "BSkyB",

The service description data file contains this line which does not look like a valid value.

"duration": 4294967295

Regards,
Ákos

RE: TVHeadEdit tool - Added by Omse Ahmed over 4 years ago

hi akos sz
I have a little problem

when I did work with tvhedend v 2.0.26 'save now'
I have a message error
Consultez la fin de ce message pour plus de détails sur l'appel du débogage
juste-à-temps (JIT) à la place de cette boîte de dialogue.

  • Texte de l'exception ******
    System.NullReferenceException: La référence d'objet n'est pas définie à une instance d'un objet.
    à TvHeadEdit.TVH_Main.SaveChanges()
    à TvHeadEdit.TVH_Main.SaveButton_Click(Object sender, EventArgs e)
    à System.Windows.Forms.Control.OnClick(EventArgs e)
    à System.Windows.Forms.Button.OnClick(EventArgs e)
    à System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
    à System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
    à System.Windows.Forms.Control.WndProc(Message& m)
    à System.Windows.Forms.ButtonBase.WndProc(Message& m)
    à System.Windows.Forms.Button.WndProc(Message& m)
    à System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
    à System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
    à System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
  • Assemblys chargés ******
    mscorlib
    Version de l'assembly : 4.0.0.0
    Version Win32 : 4.6.79.0 built by: NETFXREL2
    CodeBase : file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
    ----------------------------------------
    TvHeadEdit
    Version de l'assembly : 0.5.0.0
    Version Win32 : 1.0.0.0
    CodeBase : file:///C:/Users/moi/AppData/Local/Apps/2.0/0WWJPVAM.LR0/5XG1ECDX.7H9/tvhe..tion_0000000000000000_0002.0000_e3b650444639f3a3/TvHeadEdit.exe
    ----------------------------------------
    Microsoft.VisualBasic
    Version de l'assembly : 10.0.0.0
    Version Win32 : 14.6.79.0 built by: NETFXREL2
    CodeBase : file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Microsoft.VisualBasic/v4.0_10.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
    ----------------------------------------
    System.Windows.Forms
    Version de l'assembly : 4.0.0.0
    Version Win32 : 4.6.79.0 built by: NETFXREL2
    CodeBase : file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
    ----------------------------------------
    System
    Version de l'assembly : 4.0.0.0
    Version Win32 : 4.6.79.0 built by: NETFXREL2
    CodeBase : file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
    ----------------------------------------
    System.Drawing
    Version de l'assembly : 4.0.0.0
    Version Win32 : 4.6.79.0 built by: NETFXREL2
    CodeBase : file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
    ----------------------------------------
    Accessibility
    Version de l'assembly : 4.0.0.0
    Version Win32 : 4.6.79.0 built by: NETFXREL2
    CodeBase : file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Accessibility/v4.0_4.0.0.0__b03f5f7f11d50a3a/Accessibility.dll
    ----------------------------------------
    System.Runtime.Remoting
    Version de l'assembly : 4.0.0.0
    Version Win32 : 4.6.79.0 built by: NETFXREL2
    CodeBase : file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.Remoting/v4.0_4.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
    ----------------------------------------
    System.Data
    Version de l'assembly : 4.0.0.0
    Version Win32 : 4.6.79.0 built by: NETFXREL2
    CodeBase : file:///C:/Windows/Microsoft.Net/assembly/GAC_32/System.Data/v4.0_4.0.0.0__b77a5c561934e089/System.Data.dll
    ----------------------------------------
    System.Xml
    Version de l'assembly : 4.0.0.0
    Version Win32 : 4.6.79.0 built by: NETFXREL2
    CodeBase : file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
    ----------------------------------------
    System.Windows.Forms.resources
    Version de l'assembly : 4.0.0.0
    Version Win32 : 4.6.79.0 built by: NETFXREL2
    CodeBase : file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms.resources/v4.0_4.0.0.0_fr_b77a5c561934e089/System.Windows.Forms.resources.dll
    ----------------------------------------
    System.Configuration
    Version de l'assembly : 4.0.0.0
    Version Win32 : 4.6.79.0 built by: NETFXREL2
    CodeBase : file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
    ----------------------------------------
    System.Core
    Version de l'assembly : 4.0.0.0
    Version Win32 : 4.6.79.0 built by: NETFXREL2
    CodeBase : file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
    ----------------------------------------
    System.Deployment
    Version de l'assembly : 4.0.0.0
    Version Win32 : 4.6.79.0 built by: NETFXREL2
    CodeBase : file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Deployment/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Deployment.dll
    ----------------------------------------
    System.Numerics
    Version de l'assembly : 4.0.0.0
    Version Win32 : 4.6.79.0 built by: NETFXREL2
    CodeBase : file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Numerics/v4.0_4.0.0.0__b77a5c561934e089/System.Numerics.dll
    ----------------------------------------
    Microsoft.VisualBasic.resources
    Version de l'assembly : 10.0.0.0
    Version Win32 : 14.6.79.0 built by: NETFXREL2
    CodeBase : file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Microsoft.VisualBasic.resources/v4.0_10.0.0.0_fr_b03f5f7f11d50a3a/Microsoft.VisualBasic.resources.dll
    ----------------------------------------
    mscorlib.resources
    Version de l'assembly : 4.0.0.0
    Version Win32 : 4.6.79.0 built by: NETFXREL2
    CodeBase : file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/mscorlib.resources/v4.0_4.0.0.0_fr_b77a5c561934e089/mscorlib.resources.dll
    ----------------------------------------
  • Débogage JIT ******
    Pour activer le débogage juste-à-temps (JIT), le fichier de configuration pour cette
    application ou cet ordinateur (machine.config) doit avoir la valeur
    jitDebugging définie dans la section system.windows.forms.
    L'application doit également être compilée avec le débogage
    activé.

Par exemple :

<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>

Lorsque le débogage juste-à-temps est activé, les exceptions non gérées
seront envoyées au débogueur JIT inscrit sur l'ordinateur
plutôt que d'être gérées par cette boîte de dialogue.

can you help me:

RE: TVHeadEdit tool - Added by Akos Sz over 4 years ago

Hi,

Can you describe exactly what did you change before this fault happened?
If you can, please try to find the most simple way of reproduction. It would help me to fix the problem quickly.

Regards,
Ákos

RE: TVHeadEdit tool - Added by Omse Ahmed over 4 years ago

when I select channels batch to give them numbers and I click on save now

note:
I work in window 10

RE: TVHeadEdit tool - Added by Akos Sz over 4 years ago

Hi,

I managed to reproduce the fault. It was related to channels with no name due to not assigned to any DVB service. (Inconsistent TVH database). Now the fault is corrected in 2027.

RE: TVHeadEdit tool - Added by Alexey Gerenkov over 4 years ago

Hi Akos,

Thank you very much. I will try new version and let you know the results.

RE: TVHeadEdit tool - Added by Alexey Gerenkov about 4 years ago

Hi Akos,

Sorry for so long silence. I had no access to my sat setup. Now I checked you tool on running system and it works great.
Thank you for the tool!

RE: TVHeadEdit tool - Added by Goncalo Luiz over 3 years ago

How can I disable, say, 500 channels in one action ? Selecting 500 rows and unchecking the "enabled" checkbox (which by the way requires a double-click), only disables the channel whose checkbox I have clicked.

RE: TVHeadEdit tool - Added by Akos Sz over 3 years ago

Hi,

To edit multiple selection you have to right-click into the cell. This is valid for checkbox, text and numerical fields as well.

RE: TVHeadEdit tool - Added by Goncalo Luiz over 3 years ago

Thanks, this worked.

I am using 4.1-2140~gf34fac1~wily so I'm not too sure if the resulting database will work (tvheadedit does warn the user about this)

I will post the results here.

Your tool is very useful.

RE: TVHeadEdit tool - Added by Goncalo Luiz over 3 years ago

Sadly it didn't work. I am not sure what went wrong, though.

I used a sed filter to disable all (~1500) channels and then manually activated the ones I wanted (~200). If anybody else wishes to do this, here's the command I used:

sed i - 's/"enabled": true/"enabled": false/g' * (inside tvh/channel/config) The command completes instantly.

Cheers.

RE: TVHeadEdit tool - Added by hakan kayam over 3 years ago

Hi Akos,

thanks for this program it closes a huge gap in tvheadend. But I get an error when i click scrape lyngsat logo db. i attach the error report.

error.txt (6.26 KB) error.txt

RE: TVHeadEdit tool - Added by Akos Sz over 3 years ago

Hi Hakan,

I do not update the app in the near future. Anyway, I tested and it looks OK on my computer. Please make sure that the temp folder is set correctly in the preferences menu if you have this problem permanent.
If you cannot get rid of this error please use this fresh grab file attached. Just copy it into the temp folder is set in TvHeadEdit and go directly to logo URL update with skipping the "scrape" step.

(101-114/114)