[xiph-commits] r7002 - in trunk/oggdsf: . docs website

illiminable at dactyl.lonelymoon.com illiminable
Mon Jul 5 15:34:12 PDT 2004


Author: illiminable
Date: Mon Jul  5 15:34:12 2004
New Revision: 7002

Added:
trunk/oggdsf/website/enc_theora_graphedit.html
Modified:
trunk/oggdsf/AUTHORS
trunk/oggdsf/COPYRIGHTS
trunk/oggdsf/docs/TODO.txt
trunk/oggdsf/website/index.html
Log:
* updated some of the text files
* ade some chagnes to the website files.

Modified: trunk/oggdsf/AUTHORS
===================================================================
--- trunk/oggdsf/AUTHORS	2004-07-05 21:22:49 UTC (rev 7001)
+++ trunk/oggdsf/AUTHORS	2004-07-05 22:33:42 UTC (rev 7002)
@@ -9,7 +9,8 @@
*** dsfSpeexEncoder
*** dsfFLACDecoder
*** dsfTheoraDecoder
-*** dsfAbstractOggAudioDecoder
+*** dsfTheoraEncoder
+*** dsfAbstractAudioDecoder
*** dsfAbstractAudioEncoder
*** dsfAbstractVideoDecoder
*** dsfAbstractVideoEncoder
@@ -20,11 +21,11 @@
*** libOOOggSeek
*** libCMMLTags
*** libWinCMMLParse
+*** libVorbisComment
*** OOOggDump
*** OOOggStat
*** OOOggCommentDump
*** CLOgg
-
Zentaro Kavanagh <ogg at illiminable.com>
- Design and coding.
==============================================================

Modified: trunk/oggdsf/COPYRIGHTS
===================================================================
--- trunk/oggdsf/COPYRIGHTS	2004-07-05 21:22:49 UTC (rev 7001)
+++ trunk/oggdsf/COPYRIGHTS	2004-07-05 22:33:42 UTC (rev 7002)
@@ -101,7 +101,6 @@
------------------------------------------------------------------------
*** libCMMLTags
*** libWinCMMLParse
-*** dsfAnxDemuxSourceFilter
*** dsfCMMLDecoder
*** dsfAnxDemux

@@ -147,7 +146,7 @@
*** dsfFLACDecoder
*** dsfTheoraDecoder
*** dsfTheoraEncoder
-*** dsfAbstractOggAudioDecoder
+*** dsfAbstractAudioDecoder
*** dsfAbstractAudioEncoder
*** dsfAbstractVideoDecoder
*** dsfAbstractVideoEncoder
@@ -155,6 +154,7 @@
*** libOOTheora
*** libOOOgg
*** libOOOggSeek
+*** libVorbisComment
*** OOOggDump
*** OOOggStat
*** OOOggCommentDump

Modified: trunk/oggdsf/docs/TODO.txt
===================================================================
--- trunk/oggdsf/docs/TODO.txt	2004-07-05 21:22:49 UTC (rev 7001)
+++ trunk/oggdsf/docs/TODO.txt	2004-07-05 22:33:42 UTC (rev 7002)
@@ -1,3 +1,5 @@
+BUGS
+====
* Figure out why the graph hangs at the end of lpayback sometimes. see debugging.txt
* Fix flac decoder
* Fix wmp 9 issues, probably by rewriting the decoder :(
@@ -3,3 +5,13 @@
* Add seeking to annodex
* Add application cmml interface
-* I don't think non-renderer filters should expose the seeking interface.
\ No newline at end of file
+* I don't think non-renderer filters should expose the seeking interface.
+* Fix up the seeking interface to provide choice of seek method.
+
+NEXT FEATURES
+=============
+* CMML Application interface
+* Annodex seeking
+* flac encoder
+* Raw flac support
+* Annodex Muxer
+* WMP Ripping plug-in for vorbis and flac.
\ No newline at end of file

Added: trunk/oggdsf/website/enc_theora_graphedit.html
===================================================================
--- trunk/oggdsf/website/enc_theora_graphedit.html	2004-07-05 21:22:49 UTC (rev 7001)
+++ trunk/oggdsf/website/enc_theora_graphedit.html	2004-07-05 22:33:42 UTC (rev 7002)
@@ -0,0 +1,100 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+  <title>Encoding Ogg Vorbis + Theora files</title>
+  <meta name="description" content="Directshow Ogg demuxer/muxer with vorbis, speex, FLAC and theora decoders and vorbis, speex encoders.">
+  <meta name="keywords" content="directshow, theora, vorbis, speex, ogg, media player, flac, codec, windows, audio, video, wmp, directX, plugin, plug-in,
+decoder, encoder, demux, mux, demuxer">
+</head>
+<body bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#FF00FF" alink="#FF0000">
+<b><u><font size="+2">How to encode theora files with directshow</font></u></b><br>
+
+This brief tutorial explains how to use the directshow filter in association with graphedit to encode or transcode ogg theora. It focuses mainly on transcoding, but by using different source filters you can also encode raw data<br>
+Graphedit is available in the DirectX9 SDK<br>
+<br>
+
+<u><b>Step 1a - Load File</b></u>
+After loading up graphedit, from the file menu choose "Render Media File..." and browse to select the file you want to transcode<br>
+<img src="http://www.illiminable.com/ogg/images/select_render_file.JPG" alt="Select render file from the menu">
+<br>
+<br>
+
+<u><b>Step 1b - Rendered Graph</b></u>
+If it was sucessful, you should now have a fully rendered graph, that looks something like this. The exact filters will depends on your source file<br>
+<img src="http://www.illiminable.com/ogg/images/show_rendered_graph.JPG" alt="This is the rendered graph">
+<br>
+<br>
+
+<u><b>Step 2a - Check media types</b></u>
+Right click on the pin that inputs to the video renderer, and choose pin properties<br>
+<img src="http://www.illiminable.com/ogg/images/pin_properties.JPG" alt="Select pin proeprties">
+<br>
+<br>
+
+
+<u><b>Step 2b - Ensure YV12 or YUY2</b></u>
+On the pin properties page check the media type is either YV12 or YUY2, if it is not, this file can not yet be transcoded directly. If it is then proceed.<br>
+<img src="http://www.illiminable.com/ogg/images/pin_properties.JPG" alt="Select pin properties">
+<br>
+<br>
+
+
+<u><b>Step 3 - Remove renderers</b></u>
+This has rendered a graph for playback, what we want to do it remove the renderers from the graph, and replace them with out encoders and muxer, After removing the renderers, the graph should look something liek this<br>
+<img src="http://www.illiminable.com/ogg/images/show_remove_renderers.JPG" alt="This is the rendered graph">
+<br>
+<br>
+
+
+<u><b>Step 4 - Find encoders</b></u>
+The first time you will need to find the encoders, by clicking the add filter icon, then selecting the directshow branch of the tree<br>
+<img src="http://www.illiminable.com/ogg/images/find_encoders.JPG" alt="Find the encoders">
+<br>
+<br>
+
+<u><b>Step 5a - Select encoders</b></u>
+Find the vorbis encode filter and teh theora encode filter, select each one and check the favourite filter box so next time the filter will be under favourites in the menu, click insert filter<br>
+<img src="http://www.illiminable.com/ogg/images/select_encoders.JPG" alt="Select the encoders">
+<br>
+<br>
+
+<u><b>Step 5b - Encoders Added to graph</b></u>
+After the encoders have been added to the graph, it should look something like this.<br>
+<img src="http://www.illiminable.com/ogg/images/encoders_added.JPG" alt="Graph after encoders added.">
+<br>
+<br>
+
+<u><b>Step 6 - Connect the encoders</b></u>
+By dragging the ouput pin of the decoder to the input of the encoder connect the filters together<br>
+<img src="http://www.illiminable.com/ogg/images/connect_encoders.JPG" alt="Connecting encoder pins.">
+<br>
+<br>
+
+<u><b>Step 7 - Open the Theora Encoder Properties</b></u>
+Important: *BEFORE* connecting to the muxer, right click the filter and select it's proeprty page.<br>
+<img src="http://www.illiminable.com/ogg/images/filter_properties.JPG" alt="Selecting filter proeprties menu item.">
+<br>
+<br>
+
+<u><b>Step 8 - Setup the encoder properties</b></u>
+Modify the settings and click apply or ok. Future version will include more comprehensive options<br>
+<img src="http://www.illiminable.com/ogg/images/theora_properties.JPG" alt="Select encoding parameters.">
+<br>
+<br>
+
+<u><b>Step 9 - Select Mux Filter</b></u>
+Select the Ogg Mux filter as you previously did for the encoders and connect the encoders to it. As you connect a pin a new one will be spawned.<br>
+Important: Whichever encoder is at *the bottom* is one that will appear *first* in the encoded file. This means to make a valid theora file, the vorbis stream is added first to the top pin, then the theora stream to the next pin<br>
+<img src="http://www.illiminable.com/ogg/images/select_muxer.JPG" alt="Select Muxer.">
+<br>
+<br>
+
+<u><b>Step 10 - Fully connected graph to play</b></u>
+The graph is now ready to go, and should look something like this. Press the play button and wait for the encoding to finish. It is finished when the play button goes green again. Close graphedit... don't press play again or it will overwrite the file. Depending on the source format it may show encoding progress in the progress bar, this is however slightly innacurate... the bar will appear to finish before the encoding has really finished. Look at the play button or check your processor to usage to see if it has finished<br>
+<img src="http://www.illiminable.com/ogg/images/fully_connected.JPG" alt="Fully Connected graph">
+<br>
+<br>
+
+
+</body>
+</html>
\ No newline at end of file

Modified: trunk/oggdsf/website/index.html
===================================================================
--- trunk/oggdsf/website/index.html	2004-07-05 21:22:49 UTC (rev 7001)
+++ trunk/oggdsf/website/index.html	2004-07-05 22:33:42 UTC (rev 7002)
@@ -36,29 +36,45 @@
Also any other windows application that uses directshow will also be vorbis/speex/flac/theora compatible.
<br>
<br>
-<b><u>Current Version (0.57.6744) - 22/05/2004</u></b><br>
-Previous release a few hours ago had hundreds of debug statements in the release build. It may have created log files in your C:\ Root directory as well as C:\temp and possibly in G:\ if you have a writable G drive. Sorry if you got this a few hours ago.
+<b><u>Current Version (0.60.6744) - 06/07/2004</u></b><br>
+Quite a fair bit added this time, most notably an encoder for theora... see <a href="http://www.illiminable.com/ogg/enc_theora_graphedit.html">Encoding theora</a><br>
+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.<br>
+
<br>
-	<li>Removed a whole heap of debugging code.</li>
-	<li>See 0.56.6741 release below for latest changes.</li>
+	<li>Added <a href="http://www.annodex.net/TR/draft-pfeiffer-cmml-01.html">CMML</a> Decoder filter</li>
+	<li>Added a simple subtitle renderer based on VMR 9</li>
+	<li>Added an OO vorbis comment parsing library</li>
+	<li>Added an example tool called OOOggCommentDump which dumps comment information from the first stream in a file</li>
+	<li>Added container class library for <a href="http://www.annodex.net/TR/draft-pfeiffer-cmml-01.html">CMML</a></li>
+	<li>Added minimal <a href="http://www.annodex.net/TR/draft-pfeiffer-cmml-01.html">CMML</a> parsing library based on MSXML</a>
+	<li>Added a demuxer filter for <a href="http://www.annodex.net/">Annodex</a>, will only play in graphedit currently, and needs to manually build graphs to include the VMR9 as video renderer</li>
+	<li>Added network support for demuxer to stream .ogg files</li>
+	<li>Fixed the speex encoder (I think)</li>
+	<li>Ogg Mux filter now supports multiple stream muxing</li>
+	<li>Added a theora encode filter, with a minimal configurable property page</li>
+	<li>Theora encode filter supports YUY2 input (generally from mpeg) or YV12 (generally from avi codecs, in particular those decoded by ffdshow)</li>
+	<li>Fixed some bad implementation of frame offsets in the theora decoder</li>

<br>
<b><u>Known issues.</u></b><br>
+	<li>There is no way to alter the audio encoding parameters, vorbis defaults to quality 0.3</li>
<li>Seeking in theora occasionally seg faults</li>
-	<li>Seeking in speex and vorbis seeking is sometimes not as responsive as it previously was.</li>
<li>Duration is wrong for all files except speex, vorbis and theora... doesn't affect playback</li>
-	<li>Speex encoder is currently broken. Vorbis works but is buggy. <b>No produced encoded files should be distributed.</b></li>
+	<li>When transcoding theora, if a media decoder (WMV usually) doesn't advertise its framerate, output may be tmie distorted</li>
+	<li>Created files are not yet gauranteed to be correct. <b>No produced encoded files should be distributed.</b></li>
<li>I think there may be a little memory leak in the encoders... nothing too serious.</li>
-	<li>Issues with Windows Media Player 9</li>
-	<li>Theora playback requires directX 9.</li>
-	<li>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</li>
-	<li>Some black bordering when frame size changes mid-stream</li>
+	<li>Theora will not playback with Windows Media Player 9 or 10, but will in previous WMP's and other DS players like BSPlayer</li>
+	<li>Theora and annodex playback requires directX 9.</li>
+	<li>CMML decoding requires MSXML3.dll to be present. (it was installed with IE6)</li>
<li>DON'T try to stop a FLAC stream. It crashes. Running to the end is ok.</li>
<li>FLAC will make media player do the error sound or crash on exit</li>
<li>Only plays FLAC with 16 bit 2 channel 44100Hz settings. Still hardcoded.</li>
<li>Only plays Ogg encapsulated FLAC. Won't play normal FLAC files.</li>
-	<li><strike>Theora sometimes gets out of sync if you stop and restart. Running to end seems ok.</strike> - 0.56.6741</li>
-	<li><strike>Rare threading bug can seg fault if you seek very rapidly in speex or vorbis.</strike> - 0.56.6741</li>
+	<li><strike>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</strike></li>
+	<li><strike>Speex encoder is currently broken. Vorbis works but is buggy.</strike></li>
+	<li><strike>Seeking in speex and vorbis seeking is sometimes not as responsive as it previously was.</strike></li>
+	<li><strike>Some black bordering when frame size changes mid-stream</strike></li>
<br>
<FONT size=2 color="#000000" face="Arial">
<DIV><TABLE width=100% bgcolor="#FFFFFF" border=1 cellpadding=2 cellspacing=2>
@@ -95,6 +111,13 @@
</DIV>
</FONT>
<br>
+<b><u>Previous Version (0.57.6744) - 22/05/2004</u></b><br>
+Previous release a few hours ago had hundreds of debug statements in the release build. It may have created log files in your C:\ Root directory as well as C:\temp and possibly in G:\ if you have a writable G drive. Sorry if you got this a few hours ago.
+<br>
+	<li>Removed a whole heap of debugging code.</li>
+	<li>See 0.56.6741 release below for latest changes.</li>
+
+<br>
<b><u>Previous Version (0.56.6741) - 21/05/2004</u></b><br>
Most of the changes in this build are internal modifications to better deal with the need to determine start times of all samples in order to properly synchronise multi-stream files. The main externally visible change is the limited ability to seek in theora files without total loss of synch. There are still a few issues to be ironed out though.
<br>



More information about the commits mailing list