TPEPlatform/MediaRecorder: Difference between revisions
| Line 57: | Line 57: | ||
***Effort is still unknow | ***Effort is still unknow | ||
'''The class diagram of encoder framework''' | |||
[[File:Class_Diagram-Encoder.jpg|1000px]] | |||
'''The sequence diagram of receiving input source from MediaStreamGraph, and outputting final container data from MediaEncoder to MediaRecorder''' | |||
[[File:Sequence_Diagram-Encoder.jpg|1000px]] | |||
==VP9 or H.264== | ==VP9 or H.264== | ||
List pros and cons for each audio/ video codec. We need more clear view to prioritize codec support sequence. | List pros and cons for each audio/ video codec. We need more clear view to prioritize codec support sequence. | ||
Revision as of 07:01, 2 July 2013
Summary
We already have mozCamera for take photo or video recording. mozCamera itself is not part of any standard web spec, which means
- It works on Firefox platform only.
- Totally isolate in media world. There is no way to connect data stream from mozCamera with media processing module, such as WebAudio, or recording module, such as MediaRecorder.
MediaRecorder takes media stream, which may come from web audio or media source or user media, as input. User may process all these media streams before recording. In mozCamera, there is nothing that user can do between capturerer and recorder, except canned video effect.
The following table reveals encode and associate container format we are going to support:
| Type | Encoder | Detailed | Container |
| Audio | Opus | mono/ stereo | Ogg |
| Vobis | mono/ stereo | Ogg | |
| AAC | mono/ stereo/ 5.0/ 5.1 | MPEG-4 | |
| PCM | 16 bit LPCM | Wave | |
| Video | H.264 | Baseline Profile | MPEG-4 |
| VP8 | WebM |
Encoder framework
Encoding framework META issues:
- bug 879688: Implement MediaEncoder
- bug 842243: Implement Audio encoding path
- bug 879669: Implement Video encoding path
- bug 888177: Implement ImageCapture API
Dependency among modules
- GetUserMedia
- MediaRecodering
- Audio encoding
- VideoEncoding
- ImageCapture
- Effort is still unknow
- MediaRecodering
The class diagram of encoder framework
The sequence diagram of receiving input source from MediaStreamGraph, and outputting final container data from MediaEncoder to MediaRecorder
VP9 or H.264
List pros and cons for each audio/ video codec. We need more clear view to prioritize codec support sequence.
H.264
- Pros: Sharable/ HW support
VP9
- Pros: network bandwidth
Codec/ Container support
B2G
| Milestone | Target | Issue | Assignee |
| (Audio) Opus/ OGG | Gecko 24 | bug 842243 | Shelly |
| (Video) H.264/ AAC/ MP4 | Gecko 28 | bug 879668 | |
| (Video) VP8/ Vobis/ WebM | Gecko 27 | bug 881840 | |
| (Video) VP9/ Opus/ WebM | ??/?? | TBD | |
Android
| Milestone | Target | Issue | Assignee |
| Opus/ OGG | 6/14 | bug 842243 | Shelly |
Linux
| Milestone | Target | Issue | Assignee |
| Opus/ OGG | 6/14 | bug 842243 | Shelly |
Windows
| Milestone | Target Date | Issue No | Assignee |
| Opus/ OGG | 6/14 | bug 842243 | Shelly |
Mac
| Milestone | Target Date | Issue No | Assignee |
| Opus/ OGG | 6/14 | bug 842243 | Shelly |
Reference
- Meeting Minutes
- Spec: GetUserMedia
- Spec: MediaStream Recording
- Spec: Image Capture
- API for taking photo shot
- https://dvcs.w3.org/hg/dap/raw-file/tip/media-stream-capture/ImageCapture.html
- Spec: HTML media capture (only supports simple capture functionalities)
- Android JB encoder matrix
- iOS encorder matrix
- Firefox playback format
- VP9