Directshow Filters for Ogg Vorbis, Speex, Theora and FLAC
This is a temporary page until I get time to do a proper one. I really will get around to it someday soon ! I made a token effort to tidy it up !
Installation
Uninstall any previous version of these filters. Go to add remove programs, remove oggcodecs
Make sure media player or any directshow applications are closed.
Unzip the file to a temp directory then run setup.
Then media player or any other directshow application (ie BSPlayer) will be able to play Ogg Vorbis, Ogg Speex, Ogg Theora and Ogg FLAC.
Other stuff
Also you can encode vorbis, speex, FLAC and theora files using graphedit(DirectX9 SDK) or other similar program.
See audio encoding example filter graphs
Theora encoding how-to
If you install ffdshow, you will be able to play ogm style *video only* files (ie OGM\DivX in one stream and non-OGM vorbis in the other).
Also, if you download, install and register Gabests .cda directshow source you can rip CD's using graphedit
Looking for old versions ?
Want the zipped source code (7 MB zipped, 70MB unzipped) ?
Want to browse the source on the web http://svn.xiph.org/trunk/oggdsf/
Current Version (0.60.7043) - 08/07/2004
Quite a fair bit added this time, most notably an encoder for theora... see Encoding theora
Only a few encoding parameters are currently exposed via a filter property page. Also modified the demuxer so it can handle http streams though there are some issues. The buffering is very simple, it doesn't optimise buffer based on bandwidth. Network steams are currently non-seekable. Also only non-chained
files should be streamed. Most encoded files are not chained. However some icecast streams, Which are not continuous, have breaks where songs change, this type of stream will likely crash the media player. However continuous live streams... such as radio broadcasts etc generally work fine. The network streaming has only recently be added, so i expect it to still be fairly buggy.
Windows XP
|
|
|
Windows 98/ME/NT/2000
|
|
|
Changes this version
Added CMML Decoder filter
Added a simple subtitle renderer based on VMR 9
Added an OO vorbis comment parsing library
Added an example tool called OOOggCommentDump which dumps comment information from the first stream in a file
Added container class library for CMML
Added minimal CMML parsing library based on MSXML
Added a demuxer filter for Annodex, will only play in graphedit currently, and needs to manually build graphs to include the VMR9 as video renderer, also won't play the mpeg coded videos that are on the annodex site.
Added network support for demuxer to stream .ogg files
Fixed the speex encoder (I think)
Ogg Mux filter now supports multiple stream muxing
Added a theora encode filter, with a minimal configurable property page
Theora encode filter supports YUY2 input (generally from mpeg) or YV12 (generally from avi codecs, in particular those decoded by ffdshow)
Fixed some bad implementation of frame offsets in the theora decoder
Now files can be added to the WMP9+ Media Library, however no media metadata is yet extracted from the vorbis comments. Nor can you currently use the rip or burn functionality.
Known issues.
Seeking very close to the end of speex or vorbis files, causes all audio to cease, requiring stop/play to resolve. Particularly noticable in small files, seems roughly 5 secs from end where this occurs.
There is no way to alter the audio encoding parameters, vorbis defaults to quality 0.3
Seeking in theora occasionally seg faults
Duration is wrong for all files except speex, vorbis and theora... doesn't affect playback
When transcoding theora, if a media decoder (WMV usually) doesn't advertise its framerate, output may be time distorted
Created files are not yet gauranteed to be correct. No produced encoded files should be distributed.
I think there may be a little memory leak in the encoders... nothing too serious, but if you try and encode really large files it may be a problem.
Theora will not playback with Windows Media Player 9 or 10, but vorbis and speex are just fine, but will in previous WMP's and other DS players like BSPlayer
Theora and annodex playback requires directX 9.
CMML decoding requires MSXML3.dll to be present. (it was installed with IE6)
DON'T try to stop a FLAC stream. It crashes. Running to the end is ok.
FLAC will make media player do the error sound or crash on exit
Only plays FLAC with 16 bit 2 channel 44100Hz settings. Still hardcoded.
Only plays Ogg encapsulated FLAC. Won't play normal FLAC files.
Muxer only does a single stream... won't interleave yet. This is fine for encoding speex and vorbis, or splitting theora+vorbis into component parts
Speex encoder is currently broken. Vorbis works but is buggy.
Seeking in speex and vorbis seeking is sometimes not as responsive as it previously was.
Some black bordering when frame size changes mid-stream