Comments (5)
Problem with exporting "the EIT" as text/csv/xml is that there is very little fixed structure to events. The only thing all events have is a duration and free_CA_mode field. Even start_time can be missing when it is about NVOD events (these events are also not shown in the current view) ShortEventDescriptors with event_name may be present, missing, or even multiple (multiple languages). This makes a fixed format like csv difficult.
XML/json could be more flexible, still lot of questions. How would you handle multiple extended_event_descriptors? Should the text of these be concatenated into a single field, or a field for each extended_event_descriptor? First option is how decoders present it. (and how it is now displayed in the mouse over). etc.
So not very straight forward. Now I kind of have a work around with the mouse-over (in EITView) or htmlView (in treeview) where any available descriptors can be displayed in a hopefully sensible order;
I am open for suggestions for an export function.
Regarding searching; the treeview has a very basic search function. If your search string is unique enough it should be quite easy to find the relevant event(s).
from dvbinspector.
I meant an export function for the EPG data shown in yellow mouse over tooltips when in EIT View tab. Just dump that info in a json like format.
I am already very happy with the info shown already in the tooltips.
Loop over all channels and make an object per event. For all info available for the Event use a key-value pair.
[
{
"Event name": "Bring It On",
"Year": 2000,
"Channel": "SBS9",
"Start": "2021-02-06T20:30:00+01:00",
"Duration" : "...",
"episode-num": "...",
"Rating": "...",
"Minimum age": "..",
"Content type": "....",
"Actors" : [ "Actor1","Actor2","Actor3"]
},
{
"Event name": "Bring It On",
"Year": 2000,
"Channel": "SBS9",
"Start": "2021-02-06T20:30:00+01:00",
"Duration" : "...",
"episode-num": "...",
"Rating": "...",
"Minimum age": "..",
"Content type": "....",
"Actors" : [ "Actor1","Actor2","Actor3"]
},
]
When there are multiple key's like actor, director, producer you could use an array for the values.
That way I can more easily search or do additional processing on the EPG data. The current search function is pretty basic and my search strings are not unique.
I cloned the project and noticed you used Swing which I am not really familiar with, only JavaFX. But that's not the problem...it's more quite a big project... if you could give me some pointers where to look for I can try to implement it.
from dvbinspector.
I think it is a bit more complicated. Your JSON example looks simple, but there are a lot of details to take into account
There may be multiple channels with the same name in the EIT. In the JSON these would have the same name.
There are no separate fields for actor, producer, etc. There may be items in the extended_event_descriptor, but they can contain any "fieldname", in any language. Also episode-num, rating, is not present in a structured way (it may be there as free text). i don not see a simple, robust and elegant solution for exporting the EIT as (structured) text, in whatever form
I don't know what you are trying to achieve, but I doubt DVB Inspector is the right tool for that. With DVB Inspector I try to visualize the structure of the data, whether it is video, audio, teletext or EIT information. When it possible to display the actual data that is nice to have, but not essential.
from dvbinspector.
I guess you have a point. I (just) want to extract the EPG data as text (structured or unstructured) so I can search, filter on it more easily or do some other processing on it. Do such tools exist?
Well until I have a better EPG extract tool I will use yours... I like it thanks.
Update: I did find a EPG extract tool named EPGCollector. It worked quite well and generated an .xml file, although not all available data was saved for example the important field episode-num, date (of premiere) and less important some missing credits (actors, writer, producer, ...). I am in contact with the author Steve Bickell to add support for that:
https://sourceforge.net/p/epgcollector/discussion/1125945/thread/5a66b8411b/
from dvbinspector.
Good to see you found a solution to your problem. From your link; EPGCollector has the same problem, there is no standard for tags like episode, rating, etc. So EPGCollector is doing some ad hoc parsing, but as that is very much depending on language and provider I still think it is not a good approach for DVB Inspector.
from dvbinspector.
Related Issues (20)
- Prevent descriptors from reading past descriptor_length
- Contact HOT 4
- Suggestion: include flatpak release so appears within flatpak software repo
- BUG: Outdated dvb.bat and dvb.sh files HOT 2
- Wrong TSID in BAT HOT 1
- Question: Any method to locate the continuity errors? HOT 7
- Version 1.17 will require java 17 HOT 7
- Problem with runing DVB inspector under Windows 10 x64 HOT 2
- Troubles with "Start TS Packet No:" after "Parse data" HOT 4
- Drag and drop support for re-opening HOT 5
- SDT updates not reflected HOT 4
- Crash in JPEG XS descriptor handler HOT 1
- dvb.sh uses dos style newlines HOT 2
- ./dvb.sh: cannot execute: required file not found HOT 1
- Linux and ^M in the dvb.sh HOT 1
- SCTE-35 messages inside the DSM-CC stream (was Buffer overflow in TransportStream's packet_pid) HOT 14
- White highlight of table in Private Data in Dark Mode on Ubuntu makes text unreadable HOT 2
- Copy Item / Sub Tree to Clipboard only copies up to 0x64 bytes for private data, any data after that is missing HOT 3
- Unable to create DSM-CC Object and hierarchy even though private data follows ETSI DVB Standards HOT 2
- For M2TS, each packet shows the arrival time stamp from the next packet HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dvbinspector.