[FFmpeg-devel] [PATCH] SubRip decoder
Thu Dec 9 23:46:32 CET 2010
On Dec 8, 2010, at 5:41 PM, Aurelien Jacobs wrote:
> On Wed, Dec 08, 2010 at 02:03:48AM -0500, Alexander Strange wrote:
>> On Dec 4, 2010, at 9:58 AM, Aurelien Jacobs wrote:
>>> On Sun, Nov 28, 2010 at 05:53:04PM -0500, Alexander Strange wrote:
>>>> On Nov 28, 2010, at 5:31 PM, Aurelien Jacobs wrote:
>>>>> This SubRip decoder supports all the SubRip features that I know about.
>>>>> It especially support everything tested by the sample files from
>>>>> + snprintf(header, sizeof(header),
>>>>> + "[Script Info]\r\n"
>>>>> + "ScriptType: v4.00+\r\n"
>>>>> + "\r\n"
>>>>> + "[V4+ Styles]\r\n"
>>>> Watch out for the weird default PlayRes* values.
>>> The default is 384x288.
>>> Do you think I should choose another default value ?
>> If you're happy with the current font size, I guess it's OK.
>> But actually there's another problem - this sets a hardcoded style
>> named Default,
>> so players will render with that style.
> No. At least that's not what the ASS spec says:
> 5. Dialogue event lines, [Events] section
> Field 4: Style
> Style name. If it is "Default", then your own *Default style
> will be subtituted.
> However, the Default style used by the script author IS stored
> in the script even though SSA ignores it - so if you want to
> use it, the information is there - you could even change the
> Name in the Style definition line, so that it will appear in
> the list of "script" styles.
> So we store the Default style of the "authoring software" in the script,
> as a reference (or for non-compilant software) but the player should
> ignore it and use its own default style.
Well, usually ass-spec.doc isn't too far wrong, but VSFilter doesn't do this at all.
It sets a style named "Default" before loading the file, and then sets the styles in the file over that. It ignores * as the first character of all style name definitions(!) but doesn't otherwise have a style named *Default.
>> I think it's expected that srt should be rendered with the "default"
>> style of the player.
> Yes,and that's exactly how the generated ASS should be rendered too.
>> How about not emitting a Style: line at all, and setting the style
>> of each subtitle to "*Default" (IIRC what the built-in default ASS
>> style is called)?
> I'm pretty certain this would break some renderer.
Looks like the style per-subtitle should be Default with no Style: line. That definitely works with VSFilter, and therefore every other renderer (which is just Perian and libass).
More information about the ffmpeg-devel