Using oggSplit
An ogg video file (with extension .ogv) usually consist of an audio and a video stream. The command line tool oggSplit disjoins these streams into seperate files. This is also often called demultiplexing.
The synopsis of the command is very simple:
# oggSplit <inputfile.ogv>
After that you have all embedded files of this input file with the following naming:
- theora_<ID>.ogv
This is the video stream encoded with the theora codec. The <ID> is the stream ID that is created by the encoder to uniquely identify this stream. - vorbis_<ID>.oga
This is the audio stream encoded with the vorbis codec. The <ID> is the stream ID that is created by the encoder to uniquely identify this stream. - unknown_<ID>.ogv
This is an unknown stream, that could not be interpreted.The <ID> is the stream ID that is created by the encoder to uniquely identify this stream.
All files are fully playable with your favoured video or audio player (except the streams, that are uninterpreted).
Using oggJoin
The command line tool oggJoin merges an ogg audio (vorbis) and an ogg video (theora) file into one single ogg file. This is often also called multiplexing.
The synopsis of this command is:
# oggJoin outputfile.ogv inputVideo.ogv inputAudio.ogg
This command will create the file "outputfile.ogv" which consists of the video stream in file inputVideo.ogv and the audio stream in file inputAudio.ogg.
As oggJoin uses it's own timestamp creation method, both streams start exactly at start time '0'. This is always the case even if the original files started at a different time (due to internal timing information). So the video and audio streams are always synchronized.
In case of other stream types (other than theora or vorbis), there is actually (as of version 0.8) no timing interpreter available. So you can not use these streams for multiplexing.

oggSplit & oggJoin