Game Development Community

My first Theora experience

by Rex · in Torque Game Engine · 12/14/2006 (8:37 am) · 4 replies

It was nice! And easier than expected...

Does anyone have a nice pipeline for this type of file[what theora converter{seems like only ONE}]? I visited the Theora site and downloaded ffmpeg2theora.exe. It worked fairly well.

I did notice that an additional conversion was needed to bring my .avi to .mpeg[even though site claims it converts .avi], then it would convert video and audio; only got audio with straight .avi--.ogg.

Is this the path? .avi--mpeg.--ffmpeg2theora--.ogg? I did get my video to play instead of the stock TGE demo vid.

Fun, fun,fun....

About the author

Rex does all his 3D graphics through BrokeAssGames and is currently working on DSQTweaker, Ecstasy Motion, and other interesting projects yet to be revealed. Just ask him about anything DTS/DSQ related, he's happy to help.


#1
12/14/2006 (9:37 am)
What codec did you use to [encode] your AVI? If it is having difficulty, it is most likely the codec that is the problem.

EDIT: Encode is more proper than compress.
#2
12/14/2006 (9:38 am)
Fraps...pretty low end, I dont' think you can specifiy any kind of parameters. MS3d does allow for some codec choosing. Ah, difference in formatting...thanks.
#3
12/14/2006 (9:42 am)
[oops: David beat me to it]

Hi Rex,

Weird, I'm able to convert my .AVI files into Theora directly from ffmpeg2theora.exe with everything working great. Something may be up with your compression method. What codecs are you using for your .AVIs?

By the way, ffmpeg2theora should also autodetect .WAVs and convert them to audio .OGGs if needed. Pretty cool.

Make sure you use the command line switches to get the most out of ffmpeg2theora. And you might want to shorten the name of the executable (m2t.exe works well for us lazy folks).

If you haven't seen this already, here are the switches and syntax . . .

ffmpeg2theora 0.15

 usage: ffmpeg2theora [options] input

Output options:
	 --output,-o		alternative output
	 --width, -x		scale to given size
	 --height,-y		scale to given size
	 --aspect		define frame aspect ratio: i.e. 4:3 or 16:9
	 --crop[top|bottom|left|right]	crop input before resizing
	 --videoquality,-v	[0 to 10]    encoding quality for video
	 --videobitrate,-V	[45 to 2000] encoding bitrate for video
	 --sharpness,-S  	[0 to 2]     sharpness of images(default 2)
	                 	   { lower values make the video sharper. }
	 --keyint,-K      	[8 to 65536] keyframe interval (default: 64)
	 --audioquality,-a	[-1 to 10]   encoding quality for audio
	 --audiobitrate,-A	[45 to 2000] encoding bitrate for audio
	 --samplerate,-H	set output samplerate in Hz
	 --channels,-c		set number of output sound channels
	 --nosound		disable the sound from input
	 --endtime,-e		end encoding at this time (in sec)
	 --starttime,-s		start encoding at this time (in sec)
	 --v2v-preset,-p	encode file with v2v preset, 
				 right now there is preview and pro,
				 'ffmpeg2theora -p info' for more informations

Input options:
	 --deinterlace 	force deinterlace
				 otherwise only material marked as interlaced 
				 will be deinterlaced
	 --format,-f		specify input format
	 --v4l   /dev/video0	read data from v4l device /dev/video0
	            		you have to specifiy an output file with -o
	 --inputfps [fps]	override input fps
	 --audiostream streamid	by default the last audiostream is selected,
	                 	use this to select another audio stream
	 --sync			Use A/V Sync from input container.
	       		since this does not work with all input format
	       		you have to manualy enable it if you have issues
	       		with A/V sync.

Metadata options:
	 --artist	Name of artist (director)
	 --title	Title
	 --date		Date
	 --location	Location
	 --organization	Name of organization (studio)
	 --copyright	Copyright
	 --license	Licence

Other options:
	 --help,-h		this message

 Examples:
	ffmpeg2theora videoclip.avi (will write output to videoclip.ogg)

	cat something.dv | ffmpeg2theora -f dv -o output.ogg -

	Live streaming from V4L Device:
	 ffmpeg2theora --v4l /dev/video0 --inputfps 15 -x 160 -y 128 -o - \ 
		 | oggfwd iccast2server 8000 password /theora.ogg

	Live encoding from a DV camcorder (needs a fast machine):
	 dvgrab - | ffmpeg2theora -f dv -x 352 -y 288 -o output.ogg -

	Live encoding and streaming to icecast server:
	 dvgrab --format raw - | \
	  ffmpeg2theora -f dv -x 160 -y 128 -o /dev/stdout - | \
	  oggfwd iccast2server 8000 password /theora.ogg
#4
12/14/2006 (10:16 am)
Ohhhh, goodies. That is very nice. Thank you very much, I was looking for something like that.