Closed markfilipak-windows closed 5 months ago
I guess this: "DVBinspector has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 52.0"
Also your pathname maybe problematic: script authors may not properly handle alike. (some characters need proper escaping to properly present)
I guess this: "DVBinspector has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 52.0"
Re: C:\Windows\System32>java -version java version "1.8.0_411" Java(TM) SE Runtime Environment (build 1.8.0_411-b09) Java HotSpot(TM) 64-Bit Server VM (build 25.411-b09, mixed mode)
I upgraded yesterday. Is there something more I need to do?
Also your pathname maybe problematic: script authors may not properly handle alike. (some characters need proper escaping to properly present)
Okay, I'll move to a path with no spaces or '&'. However, I didn't get that far.
Okay, I moved 'c:\CMD & tiny apps\DVBinspector\' to 'c:\DVBinspector\'. Same problem.
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:\DVBinspector>dvb
C:\DVBinspector>set JVM_FLAGS=
C:\DVBinspector>java -classpath .;.\lib\jfreechart-1.5.3.jar;.\lib\opencsv-5.5.2.jar;.\lib\jlayer-1.0.1.4.jar;.\lib\commons-text-1.9.jar;.\lib\commons-logging-1.2.jar;.
\lib\commons-lang3-3.12.0.jar;.\lib\commons-collections4-4.4.jar;.\lib\commons-collections-3.2.2.jar;.\lib\commons-beanutils-1.9.4.jar;.\DVBinspector.jar -Djava.util.l
ogging.config.file=src/main/resources/logging.properties nl.digitalekabeltelevisie.main.DVBinspector
Exception in thread "main" java.lang.UnsupportedClassVersionError: nl/digitalekabeltelevisie/main/DVBinspector has been compiled by a more recent version of the Java Ru
ntime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
I think Oracle may have changed the versioning.
You are using java 1.8. That is a very old version. Oracle is still providing security updates for is, but that doesn't make it the newest version.
You need at least java 17 (or 1.17 they changed the numbering scheme. ). Better to install java 21, because that is also a long term support release. And Dvb Inspector mat be upgrading to java 21 soon.
Does the latest Java still work with Windows 7..? (without the DLL patching havoc)
On 15/06/2024 14.03, MasterInQuestion wrote:
Does the latest Java still work with Windows 7..? (without the DLL patching havoc)
We're about to find that out. :-)
Eric, you deserve a prize. Look: Microsoft Windows [Version 6.1.7601] Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:\DVBinspector>dvb
C:\DVBinspector>set JVM_FLAGS=
C:\DVBinspector>java -classpath .;.\lib\jfreechart-1.5.3.jar;.\lib\opencsv-5.5.2.jar;.\lib\jlayer-1.0.1.4.jar;.\lib\commons-text-1.9.jar;.\lib\commons-logging-1.2.jar;. \lib\commons-lang3-3.12.0.jar;.\lib\commons-collections4-4.4.jar;.\lib\commons-collections-3.2.2.jar;.\lib\commons-beanutils-1.9.4.jar;.\DVBinspector.jar -Djava.util.l ogging.config.file=src/main/resources/logging.properties nl.digitalekabeltelevisie.main.DVBinspector
I'm up and running with DVBinspector!
It's nice to see that some things never change: Oracle is as screwed up as ever. ;-D
If you have 10 or 15 minutes, you might want to look at this: https://trac.ffmpeg.org/ticket/11055 DVBinspector features there, and fixing the bug might revolutionize FFmpeg.
Thank you for your help. --Mark.
PS: Just curious: Why did you choose to do your project with java?
Regarding https://trac.ffmpeg.org/ticket/11055 It's a Criterion Blu-ray, 4 episodes, an M2TS per episode. I'm trying to trim and splice the 4 episodes together. My packet browser and one part of FFmpeg show my DTSes and PTSes are perfect, exact to the 90kHz tick. Another part of FFmpeg shows gaps and DTS>PTS. VLC & PowerDVD play perfectly but MPV (which uses FFmpeg) pauses at the splice for 2 seconds.
What about your java? The video is DTS-ordered (i.e., physical order is by DTSes) and 100% open GOP. The FFmpeg bug-trac triage specialist, MasterQuestionable, seems surprised. What about DVBinspector? You wrote DVBinspector. Did you anticipate DTS-order, open GOP? The MPEG spec is silent on the physical order of packets: by DTSes or by PTSes. If you care to comment, please do.
Eric, you need to look at this: https://trac.ffmpeg.org/ticket/11055#comment:59 (I didn't want to cross-post.)
Regards, Mark.
DVB Inspector was created to inspect Constant BitRate DVB transport streams. It can read other types of transport streams, but then you must be careful with interpreting the results.
The option to read streams with packet size 192 was added because some DVB-PVRs record (partial) transport streams with that packet size. PSI information will still be correct, but bit rates and timings will be wrong. DVB Inspector was never intended to analyse Blu-ray streams.
The PCR/PTS/DTS view assumes a CBR transport stream. Then you will see a nice straight line for the PCR (the red squares) and the DTS/PTS values should all lie above the PCR line, meaning they arrived before their decoding/presentation time. Like this example;
When using something else than a CBR stream (like Blu-ray) the graph will look different/wrong. You can not assume the X-axis represents time, it only represents packet numbers.
The 'curvy' line in the Blu ray stream can be explained because of varying bitrates. For a CBR stream the number of packets between PCR ticks will be proportional to the time difference. For VBR streams in a low bitrate section there will be very few packets between ticks. This will give weird results.
@markfilipak-windows For the missing DTS in the 11055 stream, the PCR (red square) is plotted over the DTS (green triangle) because they have the exact same value 1:33:21.4015 for packet 3;
Having the same value sounds suspicious to me, because it means the Access Unit starting in this PES field has to be decoded at the time the PCR reaches this values. So the Field has to be decoded before it has arrived.
You can see this when you deselect the checkbox for PCR;
When PCR is displayed;
When PCR is deselected the DTS pops up;
I would not know how to prevent two clock values (PCR and DTS) being drawn at the same place, because I have never seen it before.
I do not understand what has the bit rate to do with the presentation timestamps..? "CBR": Constant Bit Rate "VBR": Variable Bit Rate [ Mere typo of VFR (Variable Frame Rate) alike? ]
"PCR": Program Clock Reference [ MPEG-2 legacy: mostly useless. ] "PSI": MPEG-2 Program Specific Information "PES": MPEG-2 Packetized Elementary Stream
"The video is DTS-ordered (i.e., physical order is by DTSes) and 100% open GOP." <^> After more analysis on actual relevant implementations: I find perhaps your statement outright doesn't make sense...
Current Open GOP implementations mostly involve B-frames: Which invariably contradicts the (frame presentation be) DTS-ordered assertion: https://trac.ffmpeg.org/ticket/11055#comment:16
Mere typo of VFR (Variable Frame Rate) alike?
No, VFR and VBR are different. I will quote from https://stackoverflow.com/questions/32354754/how-to-use-timestamps-for-seeking-in-m2ts-files
Since the BDAV format is intended for storage, it uses variable rate (VBR) Transport Streams instead of the typical constant rate (CBR) streams found in broadcast to save space. The arrival time is recorded in order to be able to convert the variable stream into a constant rate and T-STD compliant one for playback.
Thanks. But notice the context.
The timestamps I mean is "presentation timestamps": not "arrival". There shall be no direct connection between presentation timestamps and bit rate.
"The video is DTS-ordered (i.e., physical order is by DTSes) and 100% open GOP." <^> After more analysis on actual relevant implementations: I find perhaps your statement outright doesn't make sense...
How so? I've browsed packets from a couple dozen M2TSes. They were all DTS-ordered. This movie is from Criterion. It is DTS-ordered. And all modern M2TSes appear to be open GOP. Has my thinking gone into the weeds?
Current Open GOP implementations mostly involve B-frames: Which invariably contradicts the (frame presentation be) DTS-ordered assertion: https://trac.ffmpeg.org/ticket/11055#comment:16
FFmpeg apparently assigns DTSes to B-frames equal to the B-frames's PTSes. So, PTS: I B P B I is DTS: I P B I B. Isn't it?
This issue started with getting the correct version of java, then I investigated why DVB Inspector did not show DTS. (Because the PTS overlapped it).
I think the rest of the discussion is not relevant for DVB Inspector. Please remember DVB Inspector was never meant for Blu-ray files.
Closing this issue.
I just upgraded java to the latest version, rebooted, and ran 'dvb.bat'. I also ran 'java -version'. Something's wrong but I don't know what. Can you advise me? --Mark.
Microsoft Windows [Version 6.1.7601] Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:\CMD & tiny apps\DVBinspector>dvb
C:\CMD & tiny apps\DVBinspector>set JVM_FLAGS=
C:\CMD & tiny apps\DVBinspector>java -classpath .;.\lib\jfreechart-1.5.3.jar;.\lib\opencsv-5.5.2.jar;.\lib\jlayer-1.0.1.4.jar;.\lib\commons-text-1.9.jar;.\lib\commons-logging-1.2.jar;.\lib\commons-lang3-3.12.0.jar;.\lib\commons-collections4-4.4.jar;.\lib\commons-collections-3.2.2.jar;.\lib\commons-beanutils-1.9.4.jar;.\DVBinspector.jar -Djava.util.logging.config.file=src/main/resources/logging.properties nl.digitalekabeltelevisie.main.DVBinspector Exception in thread "main" java.lang.UnsupportedClassVersionError: nl/digitalekabeltelevisie/main/DVBinspector has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 52.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.access$100(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
C:\CMD & tiny apps\DVBinspector>java -version java version "1.8.0_411" Java(TM) SE Runtime Environment (build 1.8.0_411-b09) Java HotSpot(TM) 64-Bit Server VM (build 25.411-b09, mixed mode)