Greetings, I was on IRC about 7 hours ago and suggested that the FAQ be updated slightly. Rather than sit on my ass and complain I figured I'd ask a few people, and see if the idea was worth the time. Here's what Ive started with: http://www.dimension.net.nz/theora.html I'll be adding to it over the next 24 hours - mostly in the area of Playback and Encoding. Just threw it together in the past hour, so any suggestions, comments, or is anybody running a Win32 OS that can let me know about Compiling it etc? Cheers Chill.
> Just threw it together in the past hour, so any suggestions, comments, or > is > anybody running a Win32 OS that can let me know about Compiling it etc?you might want to add, that a recent (CVS) version of mplayer is required. also, with current mplayer-cvs, theora-support will not build by default. ./configure --enable-theora is required. you always need a mplayer rebuild, if you want to add theora support (mplayer does not use plugin-style codecs). last time i checked mplayer cvs, theora include path was wrong and had to be fixed manually. i'll check again today and try to submit a patch to mplayer-dev. unfortunately, for mplayer, ogg seeking is very badly implemented. possibly due to mplayer design limitations. maybe there are even bugs, as some people recently put patches into mplayer's ogg demuxer (which is usually used for mpeg4+vorbis-in-ogg and not for theora). trying to seek backwards (<left>-key) sometimes throws you forward by 10 minutes or more. very frustrating for short video clips, since mplayer exits when reaching the end of the video. usually seeking backwards by larger amounts (using <up>-key) works, and finer-grained positions can be reached from there on by seeking forward in small steps, which works well. if i can find some time, i'll have a look at mplayers demuxer. maybe something is specifically broken for theora streams. its great to see that theora is now actually taking off. i did some "tests", encoding anime from dvd to theora, with results that should really rival mpeg4 in quality. it seems that theora is especially better suited than mpeg4 for low-resolution vido (352x240 etc). but without an actual comparison, I don't know for sure... regards, david -- +++ Jetzt WLAN-Router für alle DSL-Einsteiger und Wechsler +++ GMX DSL-Powertarife zudem 3 Monate gratis* http://www.gmx.net/dsl
Chilling_Silence schrieb:>Greetings, > >I was on IRC about 7 hours ago and suggested that the FAQ be updated slightly. >Rather than sit on my ass and complain I figured I'd ask a few people, and see >if the idea was worth the time. >Here's what Ive started with: >http://www.dimension.net.nz/theora.html > >I'll be adding to it over the next 24 hours - mostly in the area of Playback >and Encoding. > >Just threw it together in the past hour, so any suggestions, comments, or is >anybody running a Win32 OS that can let me know about Compiling it etc? > >Cheers > > >Chill. >_______________________________________________ >Theora-dev mailing list >Theora-dev@xiph.org >http://lists.xiph.org/mailman/listinfo/theora-dev > > > >Hello, I 've taken a quick look on the readme. IMHO it is the wrong way to tell people how to build theora. Those who are able to build software wont need the faq, and those who can't, will find it unconveniant to install theora that way. A link to a "howto build software" seems more reasonable for those who wants to learn how to build software. I think a makefile which builds a player, ogg, theora and vorbis in ~/theoraplay would maybe be intresting. They could be several maketargets like xine-ui, totem, kaffeine und mplayer. I strongly prefer xine-ui as it has less dependencys (read less build problems) and xine-lib could be easly stripped from other codecs due to the plugin approach of xine. BTW: There was a gxine binary installer for Linuxtag 2003 which also included theora. If there is intrest, I can take a look on it and try to make a new one only able to play theora/vorbis/speex. Any comments? Andreas Heinchen
On Wed, Jun 30, 2004 at 11:47:57PM +1200, Chilling_Silence wrote:> http://www.dimension.net.nz/theora.htmlNote that if you're building from a release tarball like 1.0alpha3, you should build with ./configure make The autogen.sh script is only for use when building out of svn, or when you've patched the build system. -r
<20040630234503.GA23361@ebed.etf.cuni.cz> Message-ID: <200407011305.01146.Chilling_Silence@orcon.net.nz> On Thursday 01 July 2004 11:45, you wrote:> I have Q, but no A yet: > > How do I encode DVD to theora without storing huge raw files > on the disk?In a nutshell: AFAIK - You cant! You need something like dvdbackup to rip the .vob files, then you can re-encode them. If you're going to be working with DVD's and the likes, you'll need a good 10-15gigs to do so! DVD::Rip may allow you to use Theora. If you do try it, let me know :-) Chill.
<20040630234503.GA23361@ebed.etf.cuni.cz> <200407011305.01146.Chilling_Silence@orcon.net.nz> Message-ID: <20040701043312.GE21702@ghostscript.com> On Thu, Jul 01, 2004 at 01:05:01PM +1200, Chilling_Silence wrote:> > How do I encode DVD to theora without storing huge raw files > > on the disk? > > In a nutshell: > AFAIK - You cant!Well, obviously not, since there's open source software to do both ends, but I don't have a recipe. You can use fifos and so on to get around the problem with the example encoder. -r
<200407011305.01146.Chilling_Silence@orcon.net.nz> Message-ID: <00fb01c45f2d$f8628630$0100000a@tiger> ----- Original Message ----- From: "Chilling_Silence" <Chilling_Silence@orcon.net.nz> To: <theora-dev@xiph.org> Sent: Thursday, July 01, 2004 9:05 AM Subject: Re: [Theora-dev] New addition to FAQ> On Thursday 01 July 2004 11:45, you wrote: > > I have Q, but no A yet: > > > > How do I encode DVD to theora without storing huge raw files > > on the disk? > > In a nutshell: > AFAIK - You cant! >Yet... pretty soon you will be able to do it with directshow... you can build a graph with .vob files priovided you have a dvd player installed like powerdvd... the main thing stopping it now is... a) Need a coulour space converter from it's RGB output to YV12 b) It's still pretty damned slow, with all this debugging code in it. c) I'm still not satisfied my theora encoder is bug free yet. But it's not unfeasible.... on windows anyway. Zen.
<200407011305.01146.Chilling_Silence@orcon.net.nz> <87d63gktmp.fsf@snail.Pool> Message-ID: <200407011025.12177.mail-lists+theoradev@dogphilosophy.net> On Thursday 01 July 2004 02:40 am, David Kuehling wrote: [...]> >> How do I encode DVD to theora without storing huge raw files on the > >> disk? > > > > In a nutshell: AFAIK - You cant! > > Using mplayer, you can. The following code only needs temporary storage > for the audio. Actually you could get around the temporary storage by > using another mplayer-process in a pipe for audio. However, for DVDs > this is utterly slow and sometimes hangs on my system. You can > optimized more, by storing only the compressed MP2-audio on disk and > using another mplayer-decoding pipe when creating the .ogg. The > following script I'm currently using for encoding a the Chihiro DVD > (encoding not completed yet...):[...] You don't need two separate mplayer processes to handle the audio: mkfifo stream.yuv mkfifo stream.wav encoder_example -a 2 -v 7 stream.wav stream.yuv > theora.ogg & mplayer -vo yuv4mpeg -ao pcm -aofile stream.wav dvd://1 2&>1 >/dev/null encoder_example should then grab both the audio and video as they're decoded by mplayer. I use a variation of this process to re-code high-bitrate mpeg4 video capture to SVCD for archiving, using the encoders from the mjpeg project. I've not tested this with theora directly from DVD, but have used the same procedure to transcode other media to theora before.
<20040630234503.GA23361@ebed.etf.cuni.cz> <200407011305.01146.Chilling_Silence@orcon.net.nz> Message-ID: <87d63gktmp.fsf@snail.Pool>>>>>> "Chilling" == Chilling Silence <Chilling_Silence@orcon.net.nz> writes:> On Thursday 01 July 2004 11:45, you wrote: >> I have Q, but no A yet: >> >> How do I encode DVD to theora without storing huge raw files on the >> disk?> In a nutshell: AFAIK - You cant!Using mplayer, you can. The following code only needs temporary storage for the audio. Actually you could get around the temporary storage by using another mplayer-process in a pipe for audio. However, for DVDs this is utterly slow and sometimes hangs on my system. You can optimized more, by storing only the compressed MP2-audio on disk and using another mplayer-decoding pipe when creating the .ogg. The following script I'm currently using for encoding a the Chihiro DVD (encoding not completed yet...): #! /bin/sh rm stream.yuv mkfifo stream.yuv if ! test -f audiodump.wav; then mplayer dvd://1 -alang ja -ao pcm -vc dummyxy -vo null -cache 8192 fi mplayer -cache 8192 -vo yuv4mpeg -benchmark -nosound \ -vop expand=480:352:0:0:0,scale=480:288:0:0:40,crop=640:512,pp=lb/dr \ -spuaa 4 -slang de -spugauss 0.5 -spualign 1 -sws 7 \ dvd://1 &> /dev/null & encoder_example -a 2 -v 7 audiodump.wav stream.yuv > theora.ogg David -- GnuPG public key: http://user.cs.tu-berlin.de/~dvdkhlng/dk.gpg Fingerprint: B17A DC95 D293 657B 4205 D016 7DEF 5323 C174 7D40
<200407011305.01146.Chilling_Silence@orcon.net.nz> <87d63gktmp.fsf@snail.Pool> Message-ID: <200407021306.52131.Chilling_Silence@orcon.net.nz> On Thursday 01 July 2004 20:40, you wrote:> #! /bin/sh > > rm stream.yuv > mkfifo stream.yuv > > if ! test -f audiodump.wav; then > ? ? mplayer dvd://1 -alang ja -ao pcm -vc dummyxy -vo null -cache 8192 > fi > > mplayer -cache 8192 -vo yuv4mpeg -benchmark -nosound \ > ? ? -vop expand=480:352:0:0:0,scale=480:288:0:0:40,crop=640:512,pp=lb/dr \ > ? ? -spuaa 4 -slang de -spugauss 0.5 -spualign 1 -sws 7 \ > ? ? dvd://1 &> /dev/null & > > encoder_example -a 2 -v 7 audiodump.wav stream.yuv > theora.oggIve just tried the above.. Its not up to much now that its ripped the audio.... theora.ogg is still empty and Ive got a 1.1gb .wav file here :-( Has anybody else tried this and got it working?? Chill.
On Fri, 02 Jul 2004 13:06:52 +1200, Chilling_Silence wrote:> On Thursday 01 July 2004 20:40, you wrote: >> #! /bin/sh >> >> rm stream.yuv >> mkfifo stream.yuv >> >> if ! test -f audiodump.wav; then >> mplayer dvd://1 -alang ja -a-dvd-device /dev/hdc o pcm -vcdummyxy -vo null -cache 8192>> fi >> >> mplayer -cache 8192 -vo yuv4mpeg -benchmark -nosound \ >> -vopexpand=480:352:0:0:0,scale=480:288:0:0:40,crop=640:512,pp=lb/dr \>> -spuaa 4 -slang de -spugauss 0.5 -spualign 1 -sws 7 \ >> dvd://1 &> /dev/null & >> >> encoder_example -a 2 -v 7 audiodump.wav stream.yuv > theora.ogg > > Ive just tried the above.. Its not up to much now that its ripped the > audio.... theora.ogg is still empty and Ive got a 1.1gb .wav file here:-(> > Has anybody else tried this and got it working??The arguments to mplayer don't quite work for me for the scaling and cropping, but you can take that bit out. Try this, it works better here: $ { cat > ripper && chmod +x ripper; } << EOF #! /bin/sh rm stream.yuv mkfifo stream.yuv rm audiodump.wav mkfifo audiodump.wav mplayer dvd://1 -alang ja -ao pcm -vc dummyxy \\ -vo null -cache 8192 >/dev/null 2>&1 & AUDIO=\$! kill -STOP \$AUDIO mplayer -cache 8192 -vo yuv4mpeg -benchmark -nosound \\ -vop expand=480:352:0:0:0,scale=480:288:0:0:40,crop=640:512,pp=lb/dr\\ -spuaa 4 -slang de -spugauss 0.5 -spualign 1 -sws 7 \\ dvd://1 >/dev/null 2>&1 & VIDEO=\$! kill -STOP \$VIDEO { sleep 2; kill -CONT \$AUDIO; kill -CONT \$VIDEO; } & ~/bin/encoder_example -a 0 -v 4 audiodump.wav stream.yuv > theora.ogg EOF -- Tristan Wibberley (maihem)
<200407011305.01146.Chilling_Silence@orcon.net.nz> <87d63gktmp.fsf@snail.Pool> <200407011025.12177.mail-lists+theoradev@dogphilosophy.net> Message-ID: <87zn6hwea9.fsf@snail.Pool>>>>>> "S" == S Clark <mail-lists+theoradev@dogphilosophy.net> writes:> [...] You don't need two separate mplayer processes to handle the > audio:> mkfifo stream.yuv mkfifo stream.wav> encoder_example -a 2 -v 7 stream.wav stream.yuv > theora.ogg & mplayer > -vo yuv4mpeg -ao pcm -aofile stream.wav dvd://1 2&>1 >/dev/nullthis doesn't always work. those fifos do almost no buffering (128 byte?). as both mplayer and encoder_example are single-threaded, they will deadlock if mplayer tries to output a video frame while encoder_example is attempting to read an audio frame (which is of course doing a blocking read). it only works if the order of audio/video frames that mplayer outputs matches excactly the order that encoder_example expects. David -- GnuPG public key: http://user.cs.tu-berlin.de/~dvdkhlng/dk.gpg Fingerprint: B17A DC95 D293 657B 4205 D016 7DEF 5323 C174 7D40
<200407011305.01146.Chilling_Silence@orcon.net.nz> <87d63gktmp.fsf@snail.Pool> <200407021306.52131.Chilling_Silence@orcon.net.nz> Message-ID: <87wu1lwe74.fsf@snail.Pool>>>>>> "Chilling" == Chilling Silence <Chilling_Silence@orcon.net.nz> writes:> Ive just tried the above.. Its not up to much now that its ripped the > audio.... theora.ogg is still empty and Ive got a 1.1gb .wav file here > :-(this wasn't a generic script for ripping DVDs. i created it specially for one dvd only. try `man mplayer' to understand what's going on. if theora.ogg is empty, mplayer did exit without any decoding. remove the "&> /dev/null" from the end of the mplayer command line to see what went wrong. David -- GnuPG public key: http://user.cs.tu-berlin.de/~dvdkhlng/dk.gpg Fingerprint: B17A DC95 D293 657B 4205 D016 7DEF 5323 C174 7D40