-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Tracks "Enabled" flag is set to false in mp4 output container #5823
Comments
That's because the tracks are in the same alternate group. Unless you want both to played at the same time, what HandBrake is doing is correct and the it's most compatible way to do it. |
If so, why are they packed into the same group instead of 2 groups? And why are both tracks enabled, when output container is MKV? I think there is no option in HandBrake to specify anything in regards to alternate groups, or am i wrong? |
They are in an alternate group because only one track should be played back at the same time, if you put them in two different group, then they will play at the same time. MKV is a totally different container and its fields have a totally different meaning. |
I am aware of alternate groups & switch groups in MP4. However, I'm not aware of a relationship between the
This is pretty clear verbiage. I cannot find anything further in 14496-12:2015 about So where can I read up on specs for how |
We added the alternate group flag when it was not officially in ISO File format yet, many years ago. It was based on the QuickTime File format: https://developer.apple.com/documentation/quicktime-file-format/preparing_sound_and_subtitle_alternate_groups_for_use_with_apple_devices From what I know Apple is the only one that actually reads it, and it used to require the tracks to be disabled even in mp4 years ago. It seems to work even with all the tracks enabled on macOS 14, but I can't check every older iOS and macOS version. |
MP4 is not QuickTime. MP4 is what's described in ISO 14496-12 & 14496-14. And 14496-12 is quite clear on the semantics of that flag in my opinion. |
I know. But before changing it we will need to check if it breaks some existing players or not. |
Problem Description
HandBrake does set the
"Enabled"
flag for some Tracks to"false"
, if the output container is mp4. Most likely HandBrake tries to set this flag (in addition to other flags) to signalize a player which track is a default track or something similar.The flag can't be set anywhere in the HandBrake GUI and should always be set to true, as it's purpose is not to do anything else than telling a player that a track should be treated as if it were not present. Which is not what anyone wants.
See ISO/IEC 14496-12:2015, section 8.3.2 “Track header box”:
Sample mp4box info of a mp4 file, generated using HandBrake, which contains 2 audio tracks. Note the
Track flags: Disabled
in theTrack 3 Info
:I contrast, when the output container is mkv, both tracks are enabled.
Activity Log, Crash Log or any other details
What Operating System are you running?
Windows 10
What version of HandBrake are you running?
1.7.3 (2024021000)
Where did you download HandBrake from?
github
The text was updated successfully, but these errors were encountered: