Accessibility/Captioning Work Plan: Difference between revisions

no edit summary
No edit summary
Line 5: Line 5:
# Describe the true complexity of the problem.  
# Describe the true complexity of the problem.  


= Background =
There is both a container and a codec involved for each video format. For a given container, you need to have a defined (and supported by tools and other video players for network effects) mapping for muxing a giving captioning format into the container. So the video codec rules. The container depends on what's conventional for the video codec, and the choice of captioning format depends on what's conventional for the container. In theory, given a muxing rule, you can put any video codec and any captiong format in any container, but in practice, video codec tends to have a conventional native container, so the video codec dictates the container and then different containers have different conventional timed text formats and the timed text formats might not have muxing rules for non-native containers. Example: Ogg and MP4 are containers, whereas Theora and H.264 are codecs. Gstreamer and QuickTime are both timed media frameworks, which each can play various other container/codec combinations (?). Ogg, Theora and CMML are a natural match. MP4, H.264 and 3GPP TT are a natural match. While technically, you *could* define a way to put 3GPP TT inside Ogg, the disadvantage to doing this is blah.
{|
! Framework
! Container
! Codecs
! Authoring tools
! Natural captioning format
|-
| liboggplay
| Ogg
|
* Theora (video)
* Vorbis (audio)
|
CMML
|-
|
| MP4
| H.264
|
| 3GPP Timed Text
|-
| GStreamer
|
|
|
|
|-
| QuickTime
|
|
|
|
|-
| DirectShow
|
|
|
|
|}
Note: Subrip is external to the video container and can be used with any format. The main known disadvantage of this is blah, blah. It would make sense to use this if blah.


= Work plan for Captioning =
= Work plan for Captioning =


# Determine which captioning format should be supported in Mozilla for the natively-supported Ogg video. This needs to take into account the extremely complex map of video formats and players today. There is both a container and a codec involved for each video format. For a given container, you need to have a defined (and supported by tools and other video players for network effects) mapping for muxing a giving captioning format into the container. So the video codec rules. The container depends on what's conventional for the video codec, and the choice of captioning format depends on what's conventional for the container. In theory, given a muxing rule, you can put any video codec and any captiong format in any container, but in practice, video codec tends to have a conventional native container, so the video codec dictates the container and then different containers have different conventional timed text formats and the timed text formats might not have muxing rules for non-native containers. Example: Ogg and MP4 are containers, whereas Theora and H.264 are codecs. Gstreamer and QuickTime are both timed media frameworks, which each can play various other container/codec combinations (?). Ogg, Theora and CMML are a natural match. MP4, H.264 and 3GPP TT are a natural match. While technically, you *could* define a way to put 3GPP TT inside Ogg, the disadvantage to doing this is blah.
# Determine which captioning format should be supported in Mozilla for the natively-supported Ogg video. This needs to take into account the extremely complex map of video formats and players today (see above).
# Determine which subset of that format is the most crucial. This can save the Mozilla developers a good deal of work, because captioning formats are complex. Some of the complexity is necessary and some is not necessary for Mozilla suppoort
# Determine which subset of that format is the most crucial. This can save the Mozilla developers a good deal of work, because captioning formats are complex. Some of the complexity is necessary and some is not necessary for Mozilla suppoort
# Work with HTML 5, web browser development and captioning communities to ensure that the solution will be accepted.  We don't want different solutions in each browser. That would either mean one browser would need to redo their work, or that caption developers would have to deal with incompatible solutions in different browsers.
# Work with HTML 5, web browser development and captioning communities to ensure that the solution will be accepted.  We don't want different solutions in each browser. That would either mean one browser would need to redo their work, or that caption developers would have to deal with incompatible solutions in different browsers.
346

edits