Quote:As for the meta info, why is that so crucial for the final results ?
Because Hybrid also uses tsMuxeR for the muxing and thus if the tsMuxeR GUI creates another output, the only thing that can differ is the .meta file that is used by the command line tool (which the tsMuxeR GUI uses too).
Quote:It only describes the content from the input file ?
No, it describes what the tsMuxeR command line tool should multiplex with what settings.
I suspect more and more that it's not the muxing, but the extraction.
Try the following two things:
1. disable "Config->Internals->Extraction->Prefer ffmpeg for extraction from transport stream" and see whether that changes anything. Hybrid should then use tsMuxeR for the extraction. (if this fixes it, its the extraction with ffmpeg)
2. try if you enable "Config->Containers->General->Keep intermediat files", this way Hybrid will not delete the extracted stream after muxing. Then see whether muxing those streams with the tsMuxeR GUI produces another output than Hybrid. (should be the same, assuming they use the same .meta file, if it's the same and flawed it's not the muxing, but the extraction) You could also set the output to .raw as extension. (If you don't want the muxed file, you can also enable 'No multiplexing and splitting'. (Hybrid will then ignore the muxing step.)
Quote:Selur, could you add the option to create custom bitrates in hybrid if it's not involving weeks works?
For e-ac3 encoding? Not going to happen.
----
After muxing the audio stream into ts, mediainfo reports it as:
Format : E-AC-3
Format/Info : Enhanced AC-3
Commercial name : Dolby Digital Plus
Format profile : Blu-ray Disc
Muxing mode : Stream extension
Codec ID : 135
Duration : 11 s 104 ms
Bit rate mode : Constant
Bit rate : 1 664 kb/s
Channel(s) : 8 channels
Channel layout : L R C LFE Ls Rs Lb Rb
Sampling rate : 48.0 kHz
Frame rate : 31.250 FPS (1536 SPF)
Compression mode : Lossy
Stream size : 2.20 MiB (34%)
Language : English
Service kind : Complete Main
In the mkv it's reported as:
Format : E-AC-3
Format/Info : Enhanced AC-3
Commercial name : Dolby Digital Plus
Format profile : Blu-ray Disc
Codec ID : A_EAC3
Duration : 11 s 104 ms
Bit rate mode : Constant
Bit rate : 1 664 kb/s
Channel(s) : 6 channels
Channel(s)_Original : 8 channels
ChannelLayout_Original : L R C LFE Ls Rs Lb Rb
Sampling rate : 48.0 kHz
Frame rate : 31.250 FPS (1536 SPF)
Compression mode : Lossy
Stream size : 2.20 MiB (36%)
Language : English
Service kind : Complete Main
Default : Yes
Forced : No
(09.08.2023, 20:47)Selur Wrote: No, it describes what the tsMuxeR command line tool should multiplex with what settings.
ah i see, and i asume each setting will be different depending what the content of the media files , isnt it?
And you suspect that tsmuxer reads an wrong or corrupted meta file ?
(09.08.2023, 20:47)Selur Wrote: No, it describes what the tsMuxeR command line tool should multiplex with what settings.
I suspect more and more that it's not the muxing, but the extraction.
Try the following two things:
1. disable "Config->Internals->Extraction->Prefer ffmpeg for extraction from transport stream" and see whether that changes anything. Hybrid should then use tsMuxeR for the extraction. (if this fixes it, its the extraction with ffmpeg)
2. try if you enable "Config->Containers->General->Keep intermediat files", this way Hybrid will not delete the extracted stream after muxing. Then see whether muxing those streams with the tsMuxeR GUI produces another output than Hybrid. (should be the same, assuming they use the same .meta file, if it's the same and flawed it's not the muxing, but the extraction) You could also set the output to .raw as extension. (If you don't want the muxed file, you can also enable 'No multiplexing and splitting'. (Hybrid will then ignore the muxing step.)
Iam one step ahead of ya.. I have thought of the extraction process aswell.
And i have tried out point 2... as you described. and have used the a/v tracks hybrid / tsmuxer have demuxed / extracted and used these files to recompile the whole file through tsmuxer gui myself by adding the files 1 by 1 you know..
And that's why i wos refering to the manual muxing always, manually seems to have no issues at all
Thanks for suggesting point 1...
But this isn't it either, since for one i 've succesfully muxed it using the very same tracks hybrid or rather tsmuxer & ffmpeg has extracted.
And sure enough the same phenomenon keeps happening ! No audio in PDVD, the "non supported format" message from the bdplayer !
So, again. just to be sure its not an "extraction" issue, atleast all the trial and errors points in that direction...
I have used the very same a/v tracks that FFmpeg this time did extracted through hybrid and remuxed it myself manually in tsmuxerguy..
You've guessed it → flawless playback
You see, at one hand it's seems not to be an demux issue, and on the other not an mux issue aslong it's done manually .. the mux part!
Hence , why i asked to add the option for an custom bitrate for eac3.
Since , pretty much everything is done by ffmpeg and ffmpeg uses custom bitrate last time i've checked..
A real fine mess i got myself into...
Fyi, the ffmpeg setting is not in Config→Internals→etc ... but under Config→Input→extraction.. atleast in the release you pm'd me ..
Am i right, and do you use FFmpeg not only for audio encoding but for extraction / remuxing aswell?
Are we talking about the same tooL ?
10.08.2023, 04:41 (This post was last modified: 10.08.2023, 04:44 by Selur.)
Quote:ah i see, and i asume each setting will be different depending what the content of the media files , isnt it?
yes, format, resolution, path, tags,...
Quote:And you suspect that tsmuxer reads an wrong or corrupted meta file ?
Yes, one possibility is that Hybrid might do something different in creating the .meta file which might cause the problem.
Quote:And that's why i wos refering to the manual muxing always, manually seems to have no issues at all
Then it's down to the .meta file.
Quote:You've guessed it → flawless playback
So it's the muxing => the .meta file.
Quote:You see, at one hand it's seems not to be an demux issue, and on the other not an mux issue aslong it's done manually .. the mux part!
Hence , why i asked to add the option for an custom bitrate for eac3.
Bit rate is not the muxing but the encoding part!
Quote:Fyi, the ffmpeg setting is not in Config→Internals→etc ... but under Config→Input→extraction.. atleast in the release you pm'd me ..
Yeah, my bad.
Quote:Am i right, and do you use FFmpeg not only for audio encoding but for extraction / remuxing aswell?
Depending on the settings in Hybrid it will use ffmpeg or tsMuxeR for muxing or extraction.
Quote:Are we talking about the same tooL ?
No clue, where you are going with this.
All in all the conclusion so far is, that manual muxing the files Hybrid extracted using tsMuxeR GUI works.
So the issue must be the .meta file fed to tsMuxeR (command line), since for the muxing, both tsMuxeR GUI and Hybrid are simple frontends which call the command line tool.
Here's the documentation of the command line tool (tsMuxeR):
tsMuxeR version git-c6f3d85. github.com/justdan96/tsMuxer
tsMuxeR is a simple program to mux video to TS/M2TS files or create BD disks.
tsMuxeR does not use external filters (codecs).
tsMuxeR can be run in track detection mode or muxing mode. If tsMuxeR is run
with only one argument, then the program displays track information required to
construct a meta file. When running with two arguments, tsMuxeR starts the
muxing or demuxing process.
Meta file format:
File MUST have the .meta extension and be encoded in UTF-8 (but see README.md).
This file defines the files you want to multiplex.
The first line of a meta file contains additional parameters that apply to all
tracks. In this case the first line should begin with the word MUXOPT.
The following lines form a list of tracks and their parameters. The format is
as follows: <code name>, <file name>, <parameters> Parameters are
separated with commas, with each parameter consisting of a name and a value,
separated with an equals sign.
Example of META file:
In this example one AC3 audio stream and one H264 video stream are multiplexed
into BD disc. The input file name can reference an elementary stream or a track
located inside a container.
Supported input containers:
- TS/M2TS/MTS
- EVO/VOB/MPG/MPEG
- MKV
- MOV/MP4
- MPLS (Blu-ray media play list file)
Names of codecs in the meta file:
- V_MPEGI/ISO/VVC H.266/VVC
- V_MPEGH/ISO/HEVC H.265/HEVC
- V_MPEG4/ISO/AVC H.264/AVC
- V_MPEG4/ISO/MVC H.264/MVC
- V_MS/VFW/WVC1 VC1
- V_MPEG-2 MPEG2
- A_AC3 AC3/AC3+/TRUE-HD
- A_AAC AAC
- A_DTS DTS/DTS-Express/DTS-HD
- A_MP3 MPEG audio layer 1/2/3
- A_LPCM raw pcm data or PCM WAV file
- S_HDMV/PGS Presentation graphic stream (BD subtitle format)
- S_TEXT/UTF8 SRT subtitle format. Encoding MUST be UTF-8/UTF-16/UTF-32
Each track may have additional parameters. Track parameters do not have dashes.
If a parameter's value consists of several words, it must be enclosed in quotes.
Common additional parameters for any type of track:
- track track number if input file is a container.
- lang track language. MUST contain exactly 3 letters.
Additional parameters for audio tracks:
- timeshift Shift audio track by the given number of milliseconds.
Can be negative.
- down-to-dts Available only for DTS-HD tracks. Filter out HD part.
- down-to-ac3 Available only for TRUE-HD tracks. Filter out HD part.
- secondary Mux as secondary audio. Available for DD+ and DTS-Express.
- default Mark this track as the default when muxing to Blu-ray.
Additional parameters for video tracks:
- fps The number of frames per second. If not defined, the value
is auto detected if available in the source stream. If not,
it defaults to 23.976.
- delPulldown Remove pulldown from the track, if it exists. If the
pulldown is present, the FPS value is changed from 30 to 24.
- ar Override video aspect ratio. 16:9, 4:3 e.t.c.
Additional parameters for H.264 video tracks:
- level Overwrite the level in the H264 stream. Do note that this
option only updates the headers and does not reencode the
stream, which may not meet the requirements for a lower
level.
- insertSEI If the original stream does not contain SEI picture timing,
SEI buffering period or VUI parameters, add this data to
the stream. This option is recommended for BD muxing.
- forceSEI Add SEI picture timing, buffering period and VUI parameters
to the stream and rebuild this data if it already exists.
- contSPS If the original video doesn't contain repetitive SPS/PPS,
then SPS/PPS will be added to the stream before each key
frame. This option is recommended for BD muxing.
- subTrack Used for combined AVC/MVC tracks only. TsMuxeR always
demultiplexes such tracks to separate AVC and MVC streams.
Setting this to 1 sets the reference to the AVC part, while
2 sets it to the MVC part.
- secondary Mux as secondary video (PIP).
- pipCorner Corner for PIP video. Allowed values: "TopLeft","TopRight",
"BottomRight", "BottomLeft".
- pipHOffset PIP window horizontal offset from the corner in pixels.
- pipVOffset PIP window vertical offset from the corner in pixels.
- pipScale PIP window scale factor. Allowed values: "1", "1/2", "1/4",
"1.5", "fullScreen".
- pipLumma Allow the PIP window to be transparent. Transparent colors
are lumma colors in range [0..pipLumma].
Additional parameters for PG and SRT tracks:
- video-width The width of the video in pixels.
- video-height The height of the video in pixels.
- default Mark this track as the default when muxing to Blu-ray.
Allowed values are "all" which causes all subtitles to be
shown, and "forced" which shows only elements marked as
"forced" in the subtitle stream.
- fps Video fps. It is recommended to define this parameter in
order to enable more careful timing processing.
- 3d-plane Defines the number of the '3D offset track' which is placed
inside the MVC track. Each message has an individual 3D
offset. This information is stored inside 3D offset track.
Additional parameters for SRT tracks:
- font-name Font name to render.
- font-color Font color, defined as a hexadecimal or decimal number.
24-bit long numbers (for instance 0xFF00FF) define RGB
components, while 32-bit long ones (for instance
0x80FF00FF) define ARGB components.
- font-size Font size in pixels.
- font-italic Italic display text.
- font-bold Bold display text.
- font-underline Underlined text.
- font-strikeout Strikethrough text.
- bottom-offset Distance from the lower edge while displaying text.
- font-border Outline width.
- fadein-time Time in ms for smooth subtitle appearance.
- fadeout-time Time in ms for smooth subtitle disappearance.
- line-spacing Interval between subtitle lines. Default value is 1.0.
tsMuxeR supports additional tags inside SRT tracks. The syntax and parameters
coincide with HTML: <b>, <i>, <u>, <strike>, <font>. Default relative font size
(used in these tags) is 3. For example:
Global additional parameters are placed in the first line of the META file,
which must begin with the MUXOPT token.
All parameters in this group start with two dashes:
--no-pcr-on-video-pid Allocate a separate PID for PCR and do not use the existing
video PID.
--new-audio-pes Use bytes 0xfd instead of 0xbd for AC3, True-HD, DTS and
DTS-HD. Activated automatically for BD muxing.
--no-hdmv-descriptors Use ITU-T H.222.0 | ISO/IEC 13818-1 descriptors instead of
HDMV descriptors. Not activated for BD or AVCHD muxing.
--vbr Use variable bitrate.
--minbitrate Sets the lower limit of the VBR bitrate. If the stream has
a smaller bitrate, NULL packets will be inserted to
compensate.
--maxbitrate The upper limit of the vbr bitrate.
--cbr Muxing mode with a fixed bitrate. --vbr and --cbr must not
be used together.
--vbv-len The length of the virtual buffer in milliseconds. The
default value is 500. Typically, this option is used
together with --cbr. The parameter is similar to the value
of vbv-buffer-size in the x264 codec, but defined in
milliseconds instead of kbit.
--no-asyncio Do not create a separate thread for writing. This option
also disables the FILE_FLAG_NO_BUFFERING flag on Windows
when writing.
This option is deprecated.
--auto-chapters Insert a chapter every <n> minutes. Used only in BD/AVCHD
mode.
--custom-chapters A semicolon delimited list of hh:mm:ss.zzz strings,
representing the chapters' start times.
--demux Run in demux mode : the selected audio and video tracks are
stored as separate files. The output name must be a folder
name. All selected effects (such as changing the level of
a H264 stream) are processed. When demuxing, certain types
of tracks are always changed :
- Subtitles in a Presentation Graphic Stream are converted
into sup format.
- PCM audio is saved as WAV files.
--blu-ray Mux as a BD disc. If the output file name is a folder, a
Blu-Ray folder structure is created inside that folder.
SSIF files for BD3D discs are not created in this case. If
the output name has an .iso extension, then the disc is
created directly as an image file.
--blu-ray-v3 As above - except mux to UHD BD discs.
--avchd Mux to AVCHD disc.
--cut-start Trim the beginning of the file. The value should be followed
by the time unit : "ms" (milliseconds), "s" (seconds) or
"min" (minutes).
--cut-end Trim the end of the file. Same rules as --cut-start apply.
--split-duration Split the output into several files, with each of them being
<n> seconds long.
--split-size Split the output into several files, with each of them
having a given maximum size. KB, KiB, MB, MiB, GB and GiB
are accepted as size units.
--right-eye Use base video stream for right eye. Used for 3DBD only.
--start-time Timestamp of the first video frame. May be defined as 45Khz
clock (just a number) or as time in hh:mm:ss.zzz format.
--mplsOffset The number of the first MPLS file. Used for BD disc mode.
--m2tsOffset The number of the first M2TS file. Used for BD disc mode.
--insertBlankPL Add an additional short playlist. Used for cropped video
muxed to BD disc.
--blankOffset Blank playlist number.
--label Disk label when muxing to ISO.
--extra-iso-space Allocate extra space in 64K units for ISO metadata (file
and directory names). Normally, tsMuxeR allocates this space
automatically, but if split condition generates a lot
of small files, it may be required to define extra space.
--constant-iso-hdr Generates an ISO header that does not depend on the program
version or the current time. Not meant for normal usage.
And the only difference i see is that → fps=29.97, insertSEI, contSPS, ar=1:1 → not present in the meta file created by tsmuxergui !?
(10.08.2023, 04:41)Selur Wrote:
Quote:You see, at one hand it's seems not to be an demux issue, and on the other not an mux issue aslong it's done manually .. the mux part!
Hence , why i asked to add the option for an custom bitrate for eac3.
Bit rate is not the muxing but the encoding part!
I get that seller... But maybe for some reason, using strict bluray compliant bitrate settings might shed a shiny bright light to this problem (thinking out of the box)
(10.08.2023, 04:41)Selur Wrote:
Quote:Are we talking about the same tooL ?
No clue, where you are going with this.
All in all the conclusion so far is, that manual muxing the files Hybrid extracted using tsMuxeR GUI works.
So the issue must be the .meta file fed to tsMuxeR (command line), since for the muxing, both tsMuxeR GUI and Hybrid are simple frontends which call the command line tool.
Cu Selur
I asking , because to my knowledge ffmpeg stand alone doesn't create media files me thinks.. Only the content/tracks ...
that or i have overlooked something !
So, i guess you know what the next step is i presume
And whit that said, the viewers have just raised the bar for you reaching 300+ views ..
Iam not the only one seeking wisdom / answers .. so it seems
the views are just bots,...
Will later (after work) create a dev version where one can disable the "fps=29.97, insertSEI, contSPS, ar=1:1" part for muxing for testing.
11.08.2023, 14:33 (This post was last modified: 11.08.2023, 15:30 by Selur.)
Argh,.. after a quick thought: those are video settings, and the video isn't the problem.
I assume that if you would ignore the video and just create a file with audio only, it would also not play on your hardware, correct?
Cu Selur
Ps.: does one or both of the attached files play properly for you?
(11.08.2023, 14:33)Selur Wrote: Argh,.. after a quick thought: those are video settings, and the video isn't the problem.
I assume that if you would ignore the video and just create a file with audio only, it would also not play on your hardware, correct?
Cu Selur
Ps.: does one or both of the attached files play properly for you?
Yes, iam more leaning towards the audio track being the main issue indeed...
And correct, i've have just tested an sample and removed just the video and kept the audio in the ts file..
Powerdvd play's it fine, but my bdplayer is an weebit more "stricter" → corrupt or damaged file !
Both files/samples in both zip archives you've uploaded don't work alas
Further more to be specific and maybe helpfull to you, powerdvd info tells me nothing about the audio tracks from the first archive (Remux) except → , unknow, not specified etc .. the info from bitrates,sampling rates, channels, audio application mode etc. !
But it recognizes "A" audio track none theless..
For the latter archive (Remxu2 ) , it doesn't detec any audio track at all, as if i play an Video only file !
Do you have powerdvd installed selur?
I ask because , powerdvd is the closest aproximatio to how an BD hardware player would act..
i.e: compatibility, bd/dvd compliant restrictions ..
In my experience over the years, if an media file or bd/dvd structure won't play decent in powerdvd → 99.99% it will go wrong in many bdplayers i have tested aswell !!
Goes from black screens, to audio corruption mids / end movie due to wrong rip process (decryption !!) etc...
I mean , pdvd is an close to good benchmark for the real deal.. i must say..
Whereas mpc isn't ! YOu can throw just about anything in mpc , and it will play just fine regardless of the strict standards for hardware players !!
(11.08.2023, 16:29)Selur Wrote: No, I don't have PowerDVD installed.
Attached additional files for testing.
Cu Selur
that explains why you need me as genui pig
As for the attached files... (drumroll) ..
first the bad news
Remux3 = no show = same notifications / info both in pdvd / bdplayer !
As for ... (drumroll)
Remux4: the file play's (bitstreams) flawless in pdvd this time..
Now, you would guess if it plays fine in pdvd, it will dance in the bdplayer aswell you would think ...
Mind you i'v said 99.99% of all the content that does play in pdvd will certainly play in hardware...
There's always that 0.01% ...
And yes, you've guessed it right .. Remix4 play just fine in both device/software player
Is this it ... .. (*holding fingers acrossed) ... Is this "The final curtain call" .. hahaha
If so, then this thread just went viral
But seriously... what did you found out ..???
to be more specifice... DID you RECODED the EAC3 stream mayhap?
Because i have seen difference between the source and your uploads !
11.08.2023, 17:15 (This post was last modified: 11.08.2023, 19:06 by Selur.)
I used passthrough for video&audio, set output to m2ts and enabled 'Create Structure->Blu-ray' then used the file from the BDMV\STREAM folder.
=> try whether you can reproduce this