TPEPlatform/MediaRecorder

Summary

We already have mozCamera for take photo or video recording. mozCamera itself is not part of any standard web spec, which means

  1. It works on Firefox platform only.
  2. 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.

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 MPEG-4
PCM mono/ stereo Wave
Video H.264 Baseline Profile MPEG-4
VP8 WebM

Encoder framework

Encoding framework META issues:

You may trace progress of recording via these three.

TODO: encoding pipeline diagram.

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
(Audio) MP3 Not defined bug 884162

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
https://taiwan.etherpad.mozilla.org/247
  • MediaStream Recording
http://www.w3.org/TR/2013/WD-mediastream-recording-20130205/
  • Image Capture
API for taking photo shot
https://dvcs.w3.org/hg/dap/raw-file/tip/media-stream-capture/ImageCapture.html
  • HTML media capture (only supports simple capture functionalities)
http://www.w3.org/TR/html-media-capture/
  • Android JB encoder matrix
http://developer.android.com/guide/appendix/media-formats.html
  • iOS encorder matrix
http://developer.apple.com/library/ios/#Documentation/AudioVideo/Conceptual/MultimediaPG/UsingAudio/UsingAudio.html
  • Firefox playback format
https://developer.mozilla.org/en-US/docs/HTML/Supported_media_formats