cdgriffith / FastFlix

FastFlix is a free GUI for H.264, HEVC and AV1 hardware and software encoding!
https://fastflix.org/
MIT License
1.15k stars 58 forks source link

Problem with forced subs in a mkv container #266

Closed lobofoots closed 1 year ago

lobofoots commented 3 years ago

Context: I mux myself with MKVtoolnix a H265 stream with an audio file and a SRT subtitle file. In MKVtoolnix I set the subtitle flag to FORCED.

Problem: When I load the resulting file in FastFlix to compress it, the subtitle is always set to 'default' instead of 'forced'.

Is it possible to fix this behavior?

OnyxStreaming commented 3 years ago

Hey @lobofoots are you using the latest version 4.4.2 as i have just tried this myself with a HEVC file, changed it to have forced subtitle and then loaded this into FastFlix and it has shown that the STR file is set as forced by default.

have you by any chance set the STR file in MKVtoolnix to have forced and default to the yes ? if so this may conflict the way FastFlix Reads the data input and set it to the first seen (being the default instead of forced)

OnyxStreaming commented 3 years ago

i have also just done another test with setting multi flags and this has caused Fastflix to read the first flag it reads (being default not forced) hope this helps

lobofoots commented 3 years ago

You are right, there is always 2 flags set when forced subtitle is set. I tried to check how other people set it and they also set the forced flag and the default flag together to yes.

This is a longstanding problem for me since I discovered your piece of software around v3.

OnyxStreaming commented 3 years ago

Unfortunately all software is different and also meant for different things, MKVToolNix is an advanced software for metadata inputting along with other means, most editors and encoders will encode through their chosen software and then apply metadata through MKVToolNix separately to insure the encode was done correctly and to finish off all metadata.

My best advice for the time being is to encode first then use MKVToolNix for the advanced metadata inputting, this is a good way to also check to make sure the media was encoded correctly. FastFlix Devs are now aware of why this happens and will no doubt try to find a solution to this type of problem. However Direct metadata inputting may be on the horizon in the near future but no date is available at this time :)

jeremysgates commented 2 years ago

I believe people (including myself) set the "Default Track" flag to "Y" and the "Forced Flag" to "Y" as a measure to ensure that the player displays the forced subtitle track during playback. I also always also set "Track Enabled" to "Y".

I think the correct behavior would be for Fastflix to do an additional check when scanning the header to see if the "Forced" flag is set to "Y", and if it is, that should take precedence over the presence of a "Default Track" flag of "Y" in regards to the disposition.

cdgriffith commented 1 year ago

Adding ability to set both default and forced as well as other disposition in 5.5.0! https://github.com/cdgriffith/FastFlix/releases/tag/5.5.0