Multi-Track-Single-Logical-Stream Ogg-Vorbis (mogg) vs Multi-Track-Multi-Logical-Stream Ogg-Vorbis
"Bob Ingraham" <[email protected]> Fri, 17 May 2013 10:52:52 -0600
| Newsgroups | gmane.comp.multimedia.ogg.vorbis.general |
|---|---|
| Message-ID | <[email protected]> |
Hi All, I am in the midst of developing a library for easily recording multi-track audio for a court recording system. Well, it can be used for anything, but this is its first intended use. The idea is to simultaneously capture/compress/archive 8 to 16 mono sources (microphones) in an Ogg container using Vorbis. Then later, be able to play back only selected logical streams, or multiple-logical-streams via down-mixing. Now, the way I've written the encoding logic (with liboggz and fishsound,) is to compress each mono source (microphone) with Vorbis and store it in Ogg as its own logical stream. This works is currently working as I had hoped, because I end-up with an Ogg file with 8 logical streams, one Vorbis-encoded-logical-stream-per-microphone. THE ISSUE: So, I've now seen "mogg" files and have examined one and found out that they do NOT have multiple logical streams but INSTEAD have multiple channels in a single logical stream. So I am confused: I thought that Vorbis only could encode up to 2 channels max (stereo), but I've found, for example, a 12-channel Vorbis-encoded song in a single-logical-stream Ogg container. The whole purpose of me going to the pain of separately encoding each of my mono channels and then stuffing each in its own logical stream was to preserve channel separation for later editing and/or selective down-mixing. THE QUESTIONS: 1. So, did I NOT need to compress each mono channel separately with its own Vorbis instance and use separate logical streams in Ogg? 2. For preserving individual track integrity (and editability and down-mixing,) which approach is better? (mogg vs multi-logical-stream)? 3. How does Vorbis handle multiple mono tracks (say 8+)? Does it encode each channel separately and independently? I guess I'm asking, given what I'm trying to achieve, if I chose the correct approach (encode each track independently and stored in its own logical stream,) or if I just made extra work for no reason? Thanks for any insight from the experts! Cheers, Bob Ingraham