Closed DreckSoft closed 1 year ago
@DreckSoft as explained in issue #208, the --hdmv-descriptors option has been created to include the Dolby Vision DOVI descriptors which work in non-HDMV mode (i.e. ATSC, DVB...) only.
There is already an option "Generate HDMV compatible TS" in the General Tab, but it is greyed out with AVCHD because to my knowledge AVCHD is supposed to have HDMV descriptors.
PGS are a Blu-ray invention and are supposed to work with HDMV descriptors only: the PGS descriptor must include the "HDMV" registration descriptor. Can you please clarify why you would need PGS without HDMV descriptors ?
I do not need PGS without HDMV descriptors. But multiAVCHD does not set the option and in earlier tsMuxeR versions it worked without those descriptors. multiAVCHD is no longer developed, so there is no way to change this.
In general I think defaults should never change so that they break something. If muxing has been changed so that PGS subtitles so not work without HDMV descriptors then they should be active by default to ensure compatibility.
The goal is to just replace tsMuxeR in multiAVCHD and still have working (and more standard compliant) results. multiAVCHD generates a META file itself and feeds it into tsMuxeR command line version, so defaults from the GUI won't be used.
I think a solution could be: Use HDMV descriptors if there are streams present that require them and the option "--no-hdmv-descriptors" has NOT been set. This way we have compatibility and still the possibility to disable them if someone needs it.
Ok, so I could make the "Generate HDMV compatible TS" available in AVCHD mode. Would this fill your purpose ? I thought the AVCHD descriptors would be the same as Bluray, pity that AVCHD specs are not public.
Edit: Don't forget that there are many things (such as removing --no-hdmv-descriptors) that you can do in CLI mode. You can't always keep backwards compatibility when adding functions, and there have been many added since 10.6 (e.g. HEVC, UHD, Bluray V3, HDR10/+, DV, TrueHD...).
Despite the name it actually muxes Blu-Rays. Strangely with V1 clpi/mpls and so on (should be V2) but it works (with the old tsMuxeR).
What I'm looking for is a BD player compatible output when I just replace the old 1.10.6 tsMuxeR with a recent version. That means that --hdmv-descriptors needs to be enabled by default at least in Blu-Ray mode (maybe also AVCHD, I haven't tried that). Otherwise the PGS subs in the resulting file won't work.
It is not possible to change multiAVCHD to include --hdmv-descriptors as it is closed source and abandoned. There's also no (free) replacement. That's also the reason I'm trying to use it for 4k/UHD BDs. And that's how I got to issue #682
@DreckSoft can this issue be closed ?
I think it's not fixed.
The easiest solution would be to make --hdmv-descriptors default and provide --no-hdmv-descriptors to explicitly disable it. This way the current version should be compatible to the old 1.10.6 release. As the EAC3 issue is fixed, it can likely used as a drop-in replacement for old software if the hdmv-descriptors are used automatically.
The problem is that the hdmv descriptors are not compatible with the DOVI Dolby Vision descriptor (with HDMV the DV is flagged in the mpls/clpi).
Edit: as a compromise we could have hdmv-descriptor as default for .m2ts (as m2ts was specifically created for hdmv/bluray), but it should not be the default for .ts.
That sounds fine.
@DreckSoft cf. lines 2312/2313 of tsmuxerwindow.cpp:
ui->checkBoxNewAudioPes->setChecked(!ui->radioButtonTS->isChecked());
ui->checkBoxNewAudioPes->setEnabled(ui->radioButtonTS->isChecked() || ui->radioButtonM2TS->isChecked() || radioButtonAVCHD->isChecked());
--hdmv-descriptor
is 'on' in all modes except TS;
--hdmv-descriptor
can be changed in TS, M2TS or AVCHD mode -it is greyed-out in Bluray or ISO mode.
The current version does not compile due to some error with a radio button.
Oups -fixed.
Current nightly crashes as soon as I add a file to the GUI. Last working version is March 25th.
Tested "Nightly build from 2023-04-01-02-06-56" and can confirm the problem.
Can't add any mkv. But work fine with m2ts and with Blu-ray playlist.
The current build still has issues (see #699 ), so I could not test it as a drop-in replacement in MultiAVCHD.
It seems you changed the GUI defaults. That won't work. MultiAVCHD greates a META file and runs the command line version.
In the CLI you just have to add the --hdmv-descriptor option.
That's not possible as it would require modifying MultiAVCHD.
Using newer versions as a drop-in replacement was the reason for opening the issue.
Ok, I now understand your need. So the only solution I see is to cancel --hdmv-descriptors and add an option -no-hdmv-descriptors.
Yes
@DreckSoft can we close this issue ?
We still need --hdmv-descriptor right? It's kinda a design decision. I would really like to use new versions as a drop in replacement for old one. That only works if we enable HDMV descriptors by default for BD/AVCHD and disable them on request with --no-hdmv-descriptor
I especially have MultiAVCHD in mind. The author has gone dark, source is unavailable so we have to make the best out of it.
Currently, hdmv descriptors are default for all modes except for "TS muxing" mode where no-hdmv-descriptor
is default when selected. What do we need to change ?
Yes, it will be set as default in the GUI. But MultiAVCHD generates a META file and calls the CLI. So the CLI must assume --hdmv-descriptors is always set unless --no-hdmv-descriptors is set. This would retain compatibility for old versions.
@DreckSoft please see tsMuxer.cpp:
line 103: m_hdmvDescriptors = true;
line 1337: else if (paramPair[0] == "--no-hdmv-descriptors")
m_hdmvDescriptors = false;
So hdmv descriptors are default unless --no-hdmv-descriptors
is set
Oh, I missed that change. I'll retest. Thanks!
Seems fine, thanks!
This is likely related to #457 and #208
I'm trying to use a newer version of tsMuxeR as as drop-in replacement for the old versions in MultiAVCHD. Sometimes the old versions cause seeking issues. But the newer versions of tsMuxeR do not properly process SRT subtitles without --hdmv-descriptors. However, there is no way of changing the options set by MultiAVCHD.
Is there any way to provide compatibility with older versions without breaking the new stuff?
The GUI already forces --hdmv-descriptors when creating a Blu-Ray folder. Why not just assume --hdmv-descriptors when --blu-ray is set in a meta-file and provide an inverted option --no-hdmv-descriptors. This would ensure backwards compatibility.
That and a fix for #682 would really help MultiAVCHD and free BD creation in general.