White is the default color when no color is specified. This not a forced color, just a default one.
Simple test: create an SRT file with only timing and text.
Code: Select all
1
00:00:00,000 --> 00:00:02,000
Text 1 Text 1
2
00:00:03,000 --> 00:00:04,000
Text 2 Text 2
Convert it to TTXT with MP4Box and this default line is added by MP4Box, NOT BY ME:
Code: Select all
<Style styles="Normal" fontID="1" fontSize="18" color="ff ff ff ff"/>
Convert it to ASS with FFmpeg and these default lines are added by FFmpeg, NOT BY ME:
Code: Select all
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,16,&Hffffff,&Hffffff,&H0,&H0,0,0,0,0,100,100,0,0,1,1,0,2,10,10,10,0
I have not forced the color with any tool, the conversion did it by default. This is not MY choice.
With TTXT, my choice could be to force the color, among other styling, like this:
Code: Select all
<TextSample sampleTime="00:00:24.000" sampleDescriptionIndex="1" xml:space="preserve"></TextSample>
<TextSample sampleTime="00:00:25.000" sampleDescriptionIndex="1" xml:space="preserve">Italic text
Two lines (1)<Style fromChar="0" toChar="25" styles="Italic " fontID="1" fontSize="18" color="ff ff ff ff"/>
</TextSample>
<TextSample sampleTime="00:00:29.000" sampleDescriptionIndex="1" xml:space="preserve"></TextSample>
<TextSample sampleTime="00:00:30.000" sampleDescriptionIndex="1" xml:space="preserve">Italic text
Two lines (2)<Style fromChar="0" toChar="11" styles="Italic " fontID="1" fontSize="18" color="ff ff ff ff"/>
<Style fromChar="12" toChar="25" styles="Italic " fontID="1" fontSize="18" color="ff ff ff ff"/>
</TextSample>
The default setting created by the conversion should be overridden, the forced one should not.
This is how other players behave and they are right.