View Full Version : Getting Theora competitive
khagaroth
15th August 2008, 20:09
It seams that development of Theora is finally getting somewhere (http://xiphmont.livejournal.com/35363.html). Hopefully, they don't stop just at this.
benwaggoner
15th August 2008, 22:23
It seams that development of Theora is finally getting somewhere (http://xiphmont.livejournal.com/35363.html). Hopefully, they don't stop just at this.
Given they haven't enabled rate control for the new stuff, yes hopefully they don't just stop at this :).
http://xiphmont.livejournal.com/35363.html?thread=57635#t57635
Still, impressive gains. As always, the quality of the implementation is much more important that the codec standard itself.
LigH
18th September 2008, 11:48
Which are, by the way, rather current and complete implementations? I would like to test Theora myself - which implementation should I prefer? I found for Win32:
ffmpeg2theora as CLI (do not yet know if this is able to read from AviSynth, but possibly - when used in MediaCoder and SUPER)
ffdshow's VfW codec (where I could use VirtualDubMod to create OGM or MKV to mux it with Ogg Vorbis audio)
Which would be your current recommendations?
clsid
18th September 2008, 12:07
ffdshow still uses an old version of libtheora (1.0b3 from the top of my head). So I would not recommend that one.
LigH
18th September 2008, 17:33
Library 1.0b3 is still the most recent, according to http://theora.org/news/ ... But ffdshow has no detailed 2-pass control enabled for Theora.
I'm fine with CLI encoders. Just hope that there is a way to serve AVS to ffmpeg2theora.
Sharktooth
18th September 2008, 17:39
avs2yuv?
clsid
18th September 2008, 18:15
Then I mixed up versions. ffdshow uses an old version from 2006. I tried updating it to latest SVN a while ago, compiled fine and all, but playback was a unstable with it. I suspect some changes are needed at the ffdshow side, due to some API changes in the library.
LigH
19th September 2008, 09:19
@ Sharktooth:
avs2yuv sounds useful, unfortunately I seem to miss some details about the usage...
avs2yuv.exe -raw $.avs -o - | ffmpeg2theora.exe -f raw -o $.ogv -
$.avs: 720x576, 25 fps, 520 frames
File `pipe:' does not exist or has an unknown data format.
Output error: wrote only 590400 of 622080 bytes
---------------------------
avs2yuv.exe - Fehler in Anwendung
---------------------------
Die Anweisung in "0x00ac98f4" verweist auf Speicher in "0x00a97318". Der Vorgang
"read" konnte nicht auf dem Speicher durchgeführt werden.
Klicken Sie auf "OK", um das Programm zu beenden.
---------------------------
OK
---------------------------
I am not sure if the "raw" output format from avs2yuv (I420) is compatible to the "raw" input format expected by ffmpeg2theora.
LigH
22nd September 2008, 10:15
P.S.: "raw" may be the wrong mode, ffmpeg2theora would not know the dimensions then. Unfortunately, there is no help of available input formats ("ffmpeg2theora -f help" would be useful); so I could only assume that the little hint from avs2yuv would lead me somewhere: "Output format is yuv4mpeg, as used by MPlayer and mjpegtools". So I tried:
avs2yuv.exe $.avs -o - | ffmpeg2theora.exe -f yuv4mpeg -o $.ogv -
$.avs: 720x576, 25 fps, 520 frames
File `pipe:' does not exist or has an unknown data format.
Output error: wrote only 590400 of 622080 bytes
---------------------------
avs2yuv.exe - Fehler in Anwendung
---------------------------
Die Anweisung in "0x00ac98f4" verweist auf Speicher in "0x00a972f8". Der Vorgang
"read" konnte nicht auf dem Speicher durchgeführt werden.
Klicken Sie auf "OK", um das Programm zu beenden.
---------------------------
OK
---------------------------
Apparently, the reason must be the pipe handling in general. Tested under Win32 (Windows XP Pro).
__
Now I tried with temporary file:
avs2yuv.exe $.avs -o $.y4m
That worked, but displayed the same crash dialog while finishing.
Now using this temporary file:
ffmpeg2theora.exe -f yuv4mpeg -o $.ogv $.y4m
Input #0, yuv4mpegpipe, from '$.y4m':
Duration: N/A, bitrate: N/A
Stream #0.0: Video: rawvideo, yuv420p, 720x576, 25.00 fps(r)
Resize: 720x576
0:00:20.80 audio: 0kbps video: 2239kbps, time remaining: 00:00:00
So this one worked. Just not the piping.
The created Theora video looked fine.
bond
22nd September 2008, 18:54
there is also a "reference encoder" binary for windows available, once compiling the official source itself, called encoder_example.exe
it takes avs2yuv output piped as input
LigH
23rd September 2008, 11:16
I'll thank anyone in advance for offering a Win32 build. ;)
Or JuanCC for linking AviSynth support into ffmpeg2theora.
LigH
11th October 2008, 17:56
Great! (BTW: "Tusnelda" is a stereotype forename for a "house dragon" kind of woman, in Germany...)
Unfortunately, no reply from celtic_druid until today. Did someone scare him off?
hellfred
11th October 2008, 20:47
Read here (http://lists.xiph.org/pipermail/theora-dev/2008-October/003714.html). The classic encoder will soon be release as Theora 1.0, the Thunsnelda encoder will become Theora 1.1.
hellfred
11th October 2008, 20:59
There was a series of five pages introducing the work done on the Thunsnelda branch:
First (http://web.mit.edu/xiphmont/Public/theora/demo.html)
Second (http://web.mit.edu/xiphmont/Public/theora/demo2.html)
Third (http://web.mit.edu/xiphmont/Public/theora/demo3.html)
Fourth (http://web.mit.edu/xiphmont/Public/theora/demo4.html)
Latest (http://web.mit.edu/xiphmont/Public/theora/demo5.html).
Lets hope that Monty will soon find time again to work on the encoder. The progress can be monitored via xiph's trac web interface (https://trac.xiph.org/log/branches/theora-thusnelda).
hellfred
29th October 2008, 13:57
The second release candidate of the Theora codec was released[1]:The Xiph.Org Foundation is pleased to announce the second release candidate of libtheora 1.0. This second release candidate corrects all bugs found in final testing of the first release candidate, and will become 1.0 final in one week if no new 'blockers' are found.
[1] http://www.theora.org/news/
Rasi
9th November 2008, 14:06
Theora 1.0 has finally been released...
... eagerly awaiting 1.1 with thusnelda :)
hellfred
9th November 2008, 19:47
Does anybody know why Xiph.org is off-line for +48 hours. At least I can not access the web pages,wiki and mailing list archive. Were they sued by some big patent holder?
Rasi
9th November 2008, 20:17
Does anybody know why Xiph.org is off-line for +48 hours. At least I can not access the web pages,wiki and mailing list archive. Were they sued by some big patent holder?
works fine here
hellfred
10th November 2008, 16:07
OK, now I can access those sites again, too. But I still have not idea of what was going on up to now.
Update: When having a look at the timeline (https://trac.xiph.org/timeline) of the Xiph Trac server, one can see that there was a very unusual period of inactivity from the 5th. to the 9th. of November.
khagaroth
29th March 2009, 10:21
Theora 1.1 alpha 1 (http://www.xiph.org/press/2009/thusnelda-alpha-1/) released. There are also some binaries (http://lists.xiph.org/pipermail/theora-dev/2009-March/003889.html).
bond
29th March 2009, 16:58
anyone having info and what has been enhanced in this new version?
hellfred
29th March 2009, 21:26
anyone having info and what has been enhanced in this new version?
Have a look at the commits of tterribe at https://trac.xiph.org/timeline for the latest change. I think it was manly refactoring of rate control stuff. Earlier improvements where documented by Monty in his set of reports for Red Hat mentioned here (http://forum.doom9.org/showthread.php?p=1193803#post1193803).
As a side node: AFAIK Tim Terriberry is to work fulltime on the Thusnelda codebase (blog (http://xiphmont.livejournal.com/38681.html)).
Hellfred
bond
30th March 2009, 19:23
:thanks:
buzzqw
10th June 2009, 16:03
i have update the autoffmpeg2theora gui
http://www.64k.it/andres/data/autofftheora/AutoFFmpegTheora-v1.3.exe
BHH
iwod
10th June 2009, 18:23
Wow.... i just want to say that Embedded Video with Theora inside Firefox works much better then my expectation. It feels it is part of the page and web.
I really hope some Magic will happen to Theora. It doesn't have to beat x264. But beating XVID will be good enough.
hellfred
12th June 2009, 13:59
I really hope some Magic will happen to Theora. It doesn't have to beat x264. But beating XVID will be good enough.If Theora manges to reach XVID quality, than that is a quite impressiv result. Do not forget that Theora can not make use of all the nice video compression technics, as it tries to avoid those covered by patents - and that are quite a lot of the relevant video coding technics...
Dark Shikari
12th June 2009, 17:27
If Theora manges to reach XVID quality, than that is a quite impressiv result. Do not forget that Theora can not make use of all the nice video compression technics, as it tries to avoid those covered by patents - and that are quite a lot of the relevant video coding technics...Theora doesn't "try" to avoid anything. In fact, the Software Freedom Law Center says that Theora being patent-free is completely made up:05:09 <mru> on2 has several patents
05:09 <mru> they licenced them to xiph
05:09 <BBB> on2 licensed them with sublicensing to xiph, right?
05:09 <BBB> but on2 is fine
05:09 <Dark_Shikari> the question though is if OTHERS exist
05:09 <BBB> they *know* there are
05:10 <BBB> they *know* some of the parties
05:10 <Dark_Shikari> and not all were licensed to xiph?
05:10 <BBB> exactly
05:10 <BBB> so the whole theora thing is a blowup
...
05:13 <DonDiego> BBB: the sflc told you which parties?
05:13 <DonDiego> own patents on theora i mean
05:14 <BBB> 2
05:15 <BBB> the question is whether they will enforce them
05:15 <mru> BBB: no, that's not the question
05:15 <mru> stealing is illegal, even if you get away with it
05:16 <mru> same for patent infringement
hellfred
12th June 2009, 17:56
Theora doesn't "try" to avoid anything. In fact, the Software Freedom Law Center says that Theora being patent-free is completely made up:
I am not sure if I got you right. On2 has licenced patent technics for VP3.2 but has not sublicenced those to xiph?
Is it known, when these patents will expire?
DonDiego is from FFmpeg.
Is mru = Måns Rullgård
Who is BBB?
Dark Shikari
12th June 2009, 18:04
I am not sure if I got you right. On2 has licenced patent technics for VP3.2 but has not sublicenced those to xiph?No, On2 is not the only company that owns patents on VP3. It sublicensed all of the patents that it owned to Xiph. However, at least two other companies own VP3 patents and have not sublicensed them to Xiph.
vlada
12th June 2009, 19:49
Dark Shikari> Do you know what are those 2 patents and who owns them? Are they valid?
Dark Shikari
12th June 2009, 20:02
Dark Shikari> Do you know what are those 2 patents and who owns them? Are they valid?I didn't say "two patents," I said "two other companies which own patents." You'd have to ask the SFLC for specifics, I assume.
iwod
13th June 2009, 03:06
Since we are on the topic, is Software Patents only available in US. Personally i think it is the stupidest idea.....
hellfred
14th June 2009, 07:51
No, On2 is not the only company that owns patents on VP3. It sublicensed all of the patents that it owned to Xiph. However, at least two other companies own VP3 patents and have not sublicensed them to Xiph.Thank you for clearing that up. I hope that xiph can sort out that problem and we really do have a codec in the MPEG4-ASP class with less to no restrictions.
benwaggoner
14th June 2009, 21:36
Slashdot's now citing the discredited PSNR test as part of a thread about how Theora is every bit as good as H.264.
http://tech.slashdot.org/story/09/06/14/1649237/YouTube-HTML5-and-Comparing-H264-With-Theora
Citing this example:
http://people.xiph.org/~greg/video/ytcompare/comparison.html
Which is...problematic.
nakTT
14th June 2009, 21:40
Any GUI for this codec (like MeGUI) that I can use to try it out?
benwaggoner
15th June 2009, 00:29
Any GUI for this codec (like MeGUI) that I can use to try it out?
Yep, see post #26 above :).
http://forum.doom9.org/showpost.php?p=1295637&postcount=26
You can then download the latest ffmpeg2theora build and use them together.
Theora's definitely getting better. Although it's hard to say exactly what it's doing for rate control without any kind of VBV constraint; seems like it's some kind of 1-pass ABR?
nakTT
15th June 2009, 01:23
Yep, see post #26 above :).
http://forum.doom9.org/showpost.php?p=1295637&postcount=26
You can then download the latest ffmpeg2theora build and use them together.
Theora's definitely getting better. Although it's hard to say exactly what it's doing for rate control without any kind of VBV constraint; seems like it's some kind of 1-pass ABR?
Many thanks for the info.
I have done everything including pressing the start button but it doesn't seem to work. Btw, I use both normal and experimental Thusnelda from here:
http://v2v.cc/~j/ffmpeg2theora/download.html
None of them working. Anyone please advice.
buzzqw
15th June 2009, 07:10
add work to queue and past here the line
BHH
buzzqw
15th June 2009, 08:48
update the ffmpeg2theora gui
http://www.64k.it/andres/data/autofftheora/AutoFFmpegTheora-v1.4.exe
fixed some audio detection issue
other minor bug fix
BHH
nakTT
15th June 2009, 09:06
add work to queue and past here the line
BHH
Done that in my previous attempt but nothing happen.
"C:\Users\My\Desktop\Theora\ffmpeg2theora-0.24.exe" -o "C:\Users\My\Desktop\111.ogv" -V 0 --optimize -x 576 -y 432 --aspect 1.3333 -A 24 -c 2 --audiostream "Z:\Movies\Test.avi"
buzzqw
15th June 2009, 09:14
ok, download the 1.4 :)
BHH
nakTT
15th June 2009, 09:45
ok, download the 1.4 :)
BHH
Done that but to no avail. Now it can't even read my input video files. Here is the screenshot:
http://img32.imageshack.us/img32/7013/screentxv.jpg (http://img32.imageshack.us/i/screentxv.jpg/)
buzzqw
15th June 2009, 09:48
post the file ffmpeg2theoraanalysis.txt
maybe your file isn't well supported by ffmpeg2theora
you can fill the missing information on gui
also.. post the command line (add to queue and copy&paste here)
BHH
LigH
15th June 2009, 10:06
What are "proprierties"?! - Possibly "properties". Somehow I feel like "attributes" might match better. But I am not native english.
nakTT
15th June 2009, 10:09
Thanks for the response.
I have fill everything accept the "Number of Frames" Which i don't know and it just doesn't work.
ffmpeg2theoraanalysis.txt
[audio disabled].
[video disabled].
No video or audio stream found.
nakTT
15th June 2009, 10:11
What are "proprierties"?! - Possibly "properties". Somehow I feel like "attributes" might match better. But I am not native english.
The dialogbox appear after you click "Open File" and open the file that you want to encode (source).
buzzqw
15th June 2009, 10:14
What are "proprierties"?! - Possibly "properties". Somehow I feel like "attributes" might match better. But I am not native english.
thanks fixed
ffmpeg2theoraanalysis.txt
[audio disabled].
[video disabled].
No video or audio stream found.
your file isn't supported by ffmpeg2theora.exe, sorry
try another one
BHH
nakTT
15th June 2009, 10:44
your file isn't supported by ffmpeg2theora.exe, sorry
try another one
BHH
Any different between ffmpeg2theora.exe and theora implementation in the MediaCoder? Cos it works in MediaCoder but I believe the theora encoder use by them is a bit too old.
buzzqw
15th June 2009, 10:47
don't know.. i don't use mediacoder
maybe mediacoder has build a ffmpeg2theora with more "fuction"/"decoders" inside
anyway i havn't problem analyzing xvid/h264/mkv/ts/...
what's your file spec ?
BHH
nakTT
15th June 2009, 10:56
don't know.. i don't use mediacoder
maybe mediacoder has build a ffmpeg2theora with more "fuction"/"decoders" inside
anyway i havn't problem analyzing xvid/h264/mkv/ts/...
what's your file spec ?
BHH
avi and mp4 (encoded using x264). Both can't run ffmpeg2theora.
buzzqw
15th June 2009, 11:01
what's about mpeg files ?
are mpeg2 file working ?
BHH
LigH
15th June 2009, 11:02
If you are asked about "file specifications", try to be as verbose as possible. MediaInfo usually creates a technically fairly verbose analysis.
Everyone who builds a tool based on libavcodec may chose how many input and output format he wants to enable while building. I still hope anyone may build ffmpeg2theora with included AviSynth support (which is merely enabling legacy AviFile VfW functions, not portable but compatible), no other way may be more useful for video quality testers using Windows.
nakTT
15th June 2009, 11:15
what's about mpeg files ?
are mpeg2 file working ?
BHH
Not working with .mpg files.
If you are asked about "file specifications", try to be as verbose as possible. MediaInfo usually creates a technically fairly verbose analysis.
Everyone who builds a tool based on libavcodec may chose how many input and output format he wants to enable while building. I still hope anyone may build ffmpeg2theora with included AviSynth support (which is merely enabling legacy AviFile VfW functions, not portable but compatible), no other way may be more useful for video quality testers using Windows.
Which part of the info shown by the MediaInfo that I should post here? Please advice, newbies here.
buzzqw
15th June 2009, 11:17
you don't give any information
ffmpeg2theora works with mpeg2 file.
so start writing
1) your os
2) version of ffmpeg2theora
3) post ffmpeg2theoraanalyze.txt
4) error messages, on analyzing AND encoding
5) post queue
otherwise i cannot help
BHH
tofans
15th June 2009, 12:48
I've done a little demo page, on which you can compare the quality between theora 1.0, theora 1.1a2 and H.264
http://html5.funpic.de/bbb.html
(audio on the H.264 version is a bit off, I'll fix it asap)
Keiyakusha
15th June 2009, 14:31
tofans
What should I use to play h264 version?
Sagittaire
15th June 2009, 16:49
I make little comparison ... and even MPEG 4 ASP (XviD, DivX ...) is really better than Theora and really by far.
Theora is never on par with PSNR too with x264 and by far.
tofans
15th June 2009, 17:43
What should I use to play h264 version?
On Windows, Chrome and Safari will work with H.264 streams. Latest chrome nightly-builds should support both, Ogg-Theora and H.264.
EDIT: Added flash based H.264 playback: http://html5.funpic.de/bbb_flash.html
(Disclaimer: My demo is not intended to proof any visual quality advantages of any codec whatsoever. This said, I don't guarantee that I got the maximum visual quality out of the used codecs.)
Keiyakusha
15th June 2009, 18:08
On Windows, Chrome and Safari will work with H.264 streams. Latest chrome nightly-builds should support both, Ogg-Theora and H.264.
EDIT: Added flash based H.264 playback: http://html5.funpic.de/bbb_flash.html
Thanks, I guess I need to try Chrome. I hopes at least someone will write libavcodec based h264plugin for firefox...
By the way why it's not possible to make browsers simply use system directshow decoders?
hellfred
15th June 2009, 21:34
Here (http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2009-June/020237.html) one can find a quite long thread which covers Theora FUD and browser support. There is a link (http://people.xiph.org/~greg/video/ytcompare/comparison.html) to a comparison with latest theora-thusnelda encoder, which was created as reaction to the thread.
benwaggoner
15th June 2009, 23:30
I can't exactly explain this turn of events, but I have somehow found myself defending x264 on Slashdot.
http://tech.slashdot.org/comments.pl?sid=1268327&cid=28341513
Here's some quick samples I whipped out using the same settings in hellfred's link.
http://cid-bee3c9ac9541c85b.skydrive.live.com/browse.aspx/.Public/BBB%7C_Compare?lc=1033
Net net, x264 can handily beat the high bitrate samples at the low bitrate.
I got an email from Greg Maxwell about my comments on the encodes. It seems that he and Xiph think that Theora is more competitive than the opinion I see here. I don't mean to take away from Xiph's impressive refactoring of the codebase they had to start with, with some very impressive speed and quality improvements.
But they're really setting themselves up for disappointment if they're shooting for efficiency-critical markets.
CruNcher
16th June 2009, 00:06
H.264 is mostly the corporate Research industries baby sure a codec that has been given for free some years ago to the community wont change much ;) but the start to more has been done and who knows what the future might bring for OVA :) Btw youtube supports High Profile :)
Though consumers have been left alone by the industry once again going the medium quality way for HD Mobile CE devices :(
iwod
16th June 2009, 16:44
Thanks, I guess I need to try Chrome. I hopes at least someone will write libavcodec based h264plugin for firefox...
By the way why it's not possible to make browsers simply use system directshow decoders?
I would love to know too......Otherwise we could never get Hardware acceleration.
Gokumon
16th June 2009, 16:59
I would love to know too......Otherwise we could never get Hardware acceleration.
Why? I wasn't aware that DirectShow filters were the only way to get hardware acceleration.
iwod
16th June 2009, 17:19
Well Downloaded all sample clips........... my conclusion - Greg Maxwell is very loyal to Ogg.
Unless my decoder is specially tuned with heavy post processing and magic, BOTH Theora encodes were equal or worst the Youtube variant. ( The H.263 Flash movie was bad...... so i prefer Theroa, although i consider they are both not very good.)
Now, considering it is using the Latest and Greatest Theora Encoder comparing to
1. Quite possibly the worst H.263 Encoder on the planet.
2. A Not very good H.264 Encoder.
Nuff Said. I wish everyone could download the sample and see for yourself.
smok3
16th June 2009, 18:38
On Windows, Chrome and Safari will work with H.264 streams. Latest chrome nightly-builds should support both, Ogg-Theora and H.264.
EDIT: Added flash based H.264 playback: http://html5.funpic.de/bbb_flash.html
assuming safari uses qt engine? (which should be quite limited), then we are left with chrome, how is that working?
hellfred
16th June 2009, 19:04
I am using windows port of MPlayer from http://oss.netfarm.it/mplayer-win32.php to view the files (MPlayer-rtm-svn-29355.7z).
For viewing the files, just drag and drop them on mplayer.exe.
Comparing bbb_theora_325kbit.ogv with bbb_youtube_lowquality_327kbit.flv, Theora wins for me:
fewer blocks, better constant quality throughout the file, less ringing around the title.
Comparing bbb_theora_486kbit.ogv with bbb_youtube_h264_499kbit.mp4, the two clips are next to on pare, slight advantages in the high motion scenes for Theora.
The mp4 video caught up, not displaying major artifacts anymore. The improvement in visual quality in the Theora video is not that great, but the lower bitrate Theora video was of better quality, so no surprise there.
Comparing bbb_theora_325kbit.ogv and bbb_youtube_h264_499kbit.mp4 with BigBuckBunny_x264_480x272p24_391-112.mp4 form benwagoner, I have to say that video encoded by benwagoner is the winner: Next to no ringing around the text, less blocks in the view high motion scenes, more constant quality throughout the whole clip. X264 rate control wins.
BigBuckBunny_480x272p24_2ch_391-64.wmv cannot keep up with the X264 clip BigBuckBunny_x264_480x272p24_391-112.mp4 but is clearly better than the Theora version (fewer blocks, less ringing). Postprocessing? I have used MPlayerC to watch the wmv file and have never touched any setting for wma playback.
Please note, that I am not a pro when it comes to comparing of videos.
So why do I come to another conclusion than iwod, who does not see any advantage for Theora clips over the Youtube videos? Maybe MPlayer does not use any post processing which was may be turned on in the flash based solution iwod used.
For my part, the Theora videos can easily compete with the Youtube variants, but does look noticeable worse than X264 and WMA9.
Gusar
16th June 2009, 21:25
By the way why it's not possible to make browsers simply use system directshow decoders?
Arora (http://code.google.com/p/arora/) does. At least in theory it should. Arora uses the Phonon multimedia framework, which on Windows uses DirectShow.
*.mp4 guy
16th June 2009, 22:53
Huh, looks like they are still using the jpeg derived quantization matrices.
benwaggoner
17th June 2009, 02:44
I am using windows port of MPlayer Comparing bbb_theora_325kbit.ogv and bbb_youtube_h264_499kbit.mp4 with BigBuckBunny_x264_480x272p24_391-112.mp4 form benwagoner, I have to say that video encoded by benwagoner is the winner: Next to no ringing around the text, less blocks in the view high motion scenes, more constant quality throughout the whole clip. X264 rate control wins.
Rate Control + CABAC + 8x8 blocks + lots of great perceptual optimization.
I imagine (DS?) that doing per macroblock rate distortion is a very powerful technique for low-noise long-GOP animation content like this, as the algorithm would be able to use ligher compression all the way back to the IDR for macroblocks that make perfect references for the rest of the GOP.
BigBuckBunny_480x272p24_2ch_391-64.wmv cannot keep up with the X264 clip BigBuckBunny_x264_480x272p24_391-112.mp4 but is clearly better than the Theora version (fewer blocks, less ringing). Postprocessing? I have used MPlayerC to watch the wmv file and have never touched any setting for wma playback.
I doubt MPlayer is doing any preprocessing, so the file wouldn't look as good as it would in WMP which will automatically apply adaptive deblocking and deringing in postprocessing.
So why do I come to another conclusion than iwod, who does not see any advantage for Theora clips over the Youtube videos? Maybe MPlayer does not use any post processing which was may be turned on in the flash based solution iwod used.
I don't know of Flash using any postprocessing with H.264, just H.263 and VP6.
For my part, the Theora videos can easily compete with the Youtube variants, but does look noticeable worse than X264 and WMA9.
Perhaps the take home should "YouTube encoding no better than Theora!" not "Theora able to match YouTube H.264 quality!"
That said, the encoding settings I used were tuned much more for quality than speed; YouTube wouldn't use quite as good settings. Still, why aren't they aren't at least using CABAC? Decode load isn't that bad at 500 Kbps. Maybe they're still sweating PowerPC Macs? High Profile should be a no brainer, as it's supported everywhere that YouTube targets Main Profile, and it has no decode perf hit.
iwod
17th June 2009, 04:30
It is very late last night @ 2am. So just in case i will check it out again when i off work today using Mplayer.
I was using WMP on Windows 7 RC1 with Win7Codec 1.17. And to me theora definitely gives more ringing compare to H.264. H.263 were about the same.
May be Doom9 should start the long disappeared Codec Comparison to sort this out.
hellfred
17th June 2009, 07:33
I doubt MPlayer is doing any preprocessing, so the file wouldn't look as good as it would in WMP which will automatically apply adaptive deblocking and deringing in postprocessing.
I want to emphasise that I was using MediaPlayerClassic (MPlayerC) for viewing the wma file, not MPlayer and its build in WMA decoder.
Manao
17th June 2009, 08:03
Still, why aren't they aren't at least using CABAC? Decode load isn't that bad at 500 KbpsI guess it's for mobile phones.
juGGaKNot
17th June 2009, 08:23
I got ffmpeg2theora from http://v2v.cc/~j/ffmpeg2theora/download.html v24, what is better, stable or thusnelda build ?
I use start "encode" /b /low /max /wait "%mypath%\bin\ffmpeg2theora-0.24-thusnelda.exe" -o "%mypath%\%mymovie%.ogv" -V 4000 --optimize -keyint 25 -a 1 -c 2 "%mypath%\%mymovie%.avi"
-pp fulrange does not work. it says that the profile is wrong.
Also for muxing aac audio what muxer should i use ?
thnx
benwaggoner
17th June 2009, 17:07
I guess it's for mobile phones.
But wouldn't they need Baseline then?
benwaggoner
17th June 2009, 17:10
I got ffmpeg2theora from http://v2v.cc/~j/ffmpeg2theora/download.html v24, what is better, stable or thusnelda build ?
Thusnelda.
None of the versions have good documentation from what I've seen, though, particularly for rate control. I'm manifestly unclear what their buffering model is.
I wish I knew what Smoothness was doing under the hood as well.
Seems like of surprising they haven't implemented 2-pass encoding yet. Were I heavily refactoring a codec, I'd do 2-pass first since basic PSNR rate distortion rate control is much easier to design with a full analysis pass.
Manao
17th June 2009, 17:14
Baseline + bframes gives a huge boost quality wise, and doesn't add too much complexity (at least, if compared to cabac).
Mr VacBob
17th June 2009, 21:34
Sharpness and optimize don't seem to do anything in thusnelda - looks like they were in vp3 and were removed. Haven't read the ratecontrol yet.
benwaggoner
17th June 2009, 22:38
Baseline + bframes gives a huge boost quality wise, and doesn't add too much complexity (at least, if compared to cabac).
But how does the player know it can handle the bitstream? Some kind of special code?
Sergey A. Sablin
18th June 2009, 07:00
But how does the player know it can handle the bitstream? Some kind of special code?
- profile_idc = 77 + CAVLC, or
- profile_idc = 66 + constraint_set0_flag = 0 may work also
Mr VacBob
18th June 2009, 07:27
Comment from thusnelda alpha1:
/*The buffer size is set equal to the keyframe interval, clamped to the range [8,256] frames.
The 8 frame minimum gives us some chance to distribute bit estimation errors.
The 256 frame maximum means we'll require 8-10 seconds of pre-buffering at 24-30 fps, which is not unreasonable.*/
There is no other way to control maxrate. Also, the code uses 12 instead of 8.
Isn't this one of the most important things to fix if they want web video?
benwaggoner
18th June 2009, 16:42
There is no other way to control maxrate. Also, the code uses 12 instead of 8.
Isn't this one of the most important things to fix if they want web video?
Yeah, I'd think. GOP==buffer duration's not a bad default, but there's plenty of cases where you don't want that to be true.
If anything, this would result in a bitrate that's too consistant for progressive download scenarios.
It does suggest that "fair" comparisons with Theora-as-a-bitstream should use 1-pass CBR with GOP==buffer. I imagine Xiph must be planning a proper 2-pass VBR encoding mode. Although they're mainly coming from an audio background, and historically audio guys don't sweat rate control with the same pathological itensity as video guys.
For stuff like YouTube, it's better to have quality constant and bitrate variable than bitrate constant and quality variable. Theora doesn't have much deblocking, and so really suffers from QP spikes.
xiphmont
23rd June 2009, 18:51
Theora doesn't "try" to avoid anything. In fact, the Software Freedom Law Center says that Theora being patent-free is completely made up:
BBB is not from the SFLC.
More than that, the SFLC is representing Xiph.Org on patent concerns. If they're 'telling' you something significantly different than what they're telling us, through third parties no less, I suggest you need to check your sources. Given that they're our lawyers on this subject, if they knew something/anything about infringement, willful or otherwise, they'd be obligated to inform us immediately. To be clear, to date they have not.
[edit: something else that was touched on. IIRC, On2 owned a single patent concerning VP3 having to do with a variable encode-side-only dead zone in the quantization matrix. They called it 'ZeroBin'. None of the new Thusnelda encoders use it or read on it. The 'patent grant' was more to do with covering any future On2 patents. Not directly relevant to anything above, just an interesting factoid for you all.]
Monty
Director, Xiph.Org
xiphmont
23rd June 2009, 18:54
Huh, looks like they are still using the jpeg derived quantization matrices.
Yes. No AQ yet, and only stock jpeg matricies. That's on the dev list for next release.
(FTR, some of the demo7 stuff was using flat matricies just to show even something that simple was an improvement over the JPEG example matricies)
Any news for Demo 8 update? I am still hoping Theora 1.1 to prove me wrong
On Windows, Chrome and Safari will work with H.264 streams. Latest chrome nightly-builds should support both, Ogg-Theora and H.264.
EDIT: Added flash based H.264 playback: http://html5.funpic.de/bbb_flash.html
(Disclaimer: My demo is not intended to proof any visual quality advantages of any codec whatsoever. This said, I don't guarantee that I got the maximum visual quality out of the used codecs.)
What did you use for H.264? X.264 ?? Default Settings?
tofans
7th July 2009, 19:48
What did you use for H.264? X.264 ?? Default Settings?
Sorry, forgot to add the command line to the page. Fixed now...
This is the command line is used for the second pass:
x264 -o bbb.mp4 --ref 5 --me umh --mixed-refs --8x8dct --trellis 1 --subme 8 --b-adapt 1 --bframes 3 --b-pyramid --weightb
--bitrate 500 --pass 2 --no-psnr --no-ssim --threads auto --direct auto input
@ iwod:
H.264 - theoretical standard - upper case H + dot
x264 - practical implementation - lower case x, no dot
nakTT
9th July 2009, 07:18
@ iwod:
H.264 - theoretical standard - upper case H + dot
x264 - practical implementation - lower case x, no dot
Will x264 be affected by the soon to be imposed ruling on H.264 on 2010?
nurbs
9th July 2009, 08:15
What ruling? If you mean the changes in the patent fees then if you are using x264 or any other H.264 encoder and paying the fees (i.e. if you are the owner of Youtube) you will be affected, if you aren't paying anyway because you are just backing up DVDs at home you won't be directly affected.
Dark Shikari
9th July 2009, 08:20
Will x264 be affected by the soon to be imposed ruling on H.264 on 2010?2010 is merely when the patent licensing terms for all MPEG formats are updated. There's nothing special about it.
Nor do they apply to ordinary users and consumers, as most of the terms have lower limits of ~100k units distributed or similar.
nakTT
9th July 2009, 08:21
What ruling? If you mean the changes in the patent fees then if you are using x264 or any other H.264 encoder and paying the fees (i.e. if you are the owner of Youtube) you will be affected, if you aren't paying anyway because you are just backing up DVDs at home you won't be directly affected.
I see, glad to hear that. So x264 will still be free for the end user then. Thanks for the clarification.
:thanks:
@ iwod:
H.264 - theoretical standard - upper case H + dot
x264 - practical implementation - lower case x, no dot
Thanks for the correction. I do know the difference between the two. The dot in x264 was a typo, never knew there is a different between x or X though.
2010 is merely when the patent licensing terms for all MPEG formats are updated. There's nothing special about it.
Nor do they apply to ordinary users and consumers, as most of the terms have lower limits of ~100k units distributed or similar.
I hope they lower the fees so that people dont bother with other codec. And ends all the debate once and for all.
hellfred
23rd July 2009, 22:15
An initial implementation of adaptive quantization (https://trac.xiph.org/changeset/16314) and a first update of the quantization matrices (https://trac.xiph.org/changeset/16312) has hit the svn repository of the theora thusnelda branch. Looks like work in progress, as the next demo page has not yet been posted and no alpha release is being prepared.
Hellfred
benwaggoner
24th July 2009, 00:41
An initial implementation of adaptive quantization (https://trac.xiph.org/changeset/16314) and a first update of the quantization matrices (https://trac.xiph.org/changeset/16312) has hit the svn repository of the theora thusnelda branch. Looks like work in progress, as the next demo page has not yet been posted and no alpha release is being prepared.
Sounds promising. Thusnelda is definitely screaming out for DQuant. With the combination of DQuant with adaptive quant matricies and hopefully Theora could see a big reduction in blockiness on challenging parts of the content.
Getting rate control modes beyond fixed quant and 1-pass CBR with GOP duration=buffer duration is the other big thing needed. Most of the proposed uses of Theora are progressive download, so a good old-fashioned peak limited 2-pass VBR would be a big help as well to keep those QP spikes down.
Max of S2D
26th July 2009, 14:24
Tested the latest build I could find, and quality looks halfway between MPEG2 and x264. Truly unexpected.
The thing that pisses me off is that the current Theora decoder implementation in Firefox is AWFUL.
benwaggoner
26th July 2009, 22:51
Tested the latest build I could find, and quality looks halfway between MPEG2 and x264. Truly unexpected.
Pretty much the entire universe of codecs is along the MPEG-2 to x264 range :).
Do you have some samples? My most recent Apples-to-Apples tests using a build from a few weeks ago is here.
http://cid-bee3c9ac9541c85b.skydrive.live.com/browse.aspx/.Public/Island%20Compare
In order to make it as much about bitstream instead of rate control issues, I had the other encoders match the current Theora limiitation of 1-pass CBR and GOP length=Buffer duration.
The thing that pisses me off is that the current Theora decoder implementation in Firefox is AWFUL.
Do we know if it's the decoder per se, or the media pipeline integration? Having media playback sharing the same threading model as a mult-tabbed browser each of which could have multple videos playing back, and also with Javascript and other processing. Plus making sure the networking stack is keeping the video buffers full while allowing other things to come down...
The nice thing about a plugin model is that it becomes its own process and can grab its share of resources kind of ignoring the rest of the browser. Which definitely has its downsides as well, but at least is simple.
Max of S2D
26th July 2009, 22:57
My tests have given Theora an encoding quality a bit under WMV9's.
As soon as it goes over it I'm probably going to use Theora for publishing my masters...
benwaggoner
27th July 2009, 11:05
My tests have given Theora an encoding quality a bit under WMV9's.
As soon as it goes over it I'm probably going to use Theora for publishing my masters...
Which WMV9 implementation? It's not like that's been standing still either.
By the way, the free version of Expression Encoder 3 incldues all the WMV features. I probably should have mentioned that earlier :).
http://blogs.msdn.com/expressionencoder/archive/2009/07/22/9845044.aspx
In this release we have taken on board your feedback and simplified the product line. There are now two versions: Expression Encoder and Expression Encoder with IIS Smooth Streaming. We have retired the Express version and, instead, have made all the features in Expression Encoder available for free with no more 30 day limit.
So what do you get in Expression Encoder with IIS Smooth Streaming?
CODECs (AC3 Decode, MPEG2/TS Decode, AVC-HD Decode, H.264 Encode, AAC-LC Encode/Decode)
Unlimited Screen Capture (Expression Encoder can capture up to 10 minutes)
IIS Smooth Streaming
Other than that, all functionality in the Expression Encoder is freely available with no time limit (Full VC-1 encode, Live encoding, Overlays, Screen Capture up to 10 minutes).
nakTT
27th July 2009, 15:27
By the way, the free version of Expression Encoder 3 incldues all the WMV features. I probably should have mentioned that earlier :).
http://blogs.msdn.com/expressionencoder/archive/2009/07/22/9845044.aspx
I have been trying the Expression Encoder 3 ever since it was available for download. The question is where can I find the info like this (the link is for the version 2 SP1) for the Version 3?
http://www.microsoft.com/expression/products/expression2/Encoder2_SP1_ReleaseNotes.aspx
Any advice for optimum quality setting for VC-1 encoding at 256kbps (bitrate for video only)? So far as a lay man (my eyes perceived quality) I found out that x264 is considerably ahead of the curve. Or is it just me who don't know the optimum setting?
benwaggoner
27th July 2009, 18:07
I have been trying the Expression Encoder 3 ever since it was available for download. The question is where can I find the info like this (the link is for the version 2 SP1) for the Version 3?
http://www.microsoft.com/expression/products/expression2/Encoder2_SP1_ReleaseNotes.aspx
It should be up soon. The Team Blog link has lots of other details.
Any advice for optimum quality setting for VC-1 encoding at 256kbps (bitrate for video only)? So far as a lay man (my eyes perceived quality) I found out that x264 is considerably ahead of the curve. Or is it just me who don't know the optimum setting?
Well, in-loop deblocking and CABAC are powerful tools, and x264 is a great implementation. I would expect x264 High Profile to outperform that VC-1 implementation at 256 Kbps.
If you can tell me about your content and how you're using the file, I can make some tuning recommendations. But I woudln't anticipate it beating a well tuned x264 implementation doing the same scenario.
easyfab
27th July 2009, 18:24
Don't know if it can help the testers but here you can find the nightly build of ffmpeg2theora (as mentined on http://wiki.xiph.org/index.php/TheoraSoftwareEncoders )
the site :
http://firefogg.org/nightly/
nakTT
28th July 2009, 03:41
It should be up soon. The Team Blog link has lots of other details.
Well, in-loop deblocking and CABAC are powerful tools, and x264 is a great implementation. I would expect x264 High Profile to outperform that VC-1 implementation at 256 Kbps.
If you can tell me about your content and how you're using the file, I can make some tuning recommendations. But I woudln't anticipate it beating a well tuned x264 implementation doing the same scenario.
Thanks for the reply.
Actually I use it to backup my old VCD movies. But since you kind of help me to confirm that VC-1 is not as good as x264, I think I will stop experimenting with it and stick with x264. Thanks again for giving some confirmation regarding the matter as it really help me in term of time saving.
:thanks:
nakTT
28th July 2009, 03:51
Don't know if it can help the testers but here you can find the nightly build of ffmpeg2theora (as mentined on http://wiki.xiph.org/index.php/TheoraSoftwareEncoders )
the site :
http://firefogg.org/nightly/
It seems that after an update to its firefox plugins a few weeks ago, the http://firefogg.org/ is no longer accepting .avi files as source file. Any idea?
benwaggoner
28th July 2009, 03:58
Actually I use it to backup my old VCD movies. But since you kind of help me to confirm that VC-1 is not as good as x264, I think I will stop experimenting with it and stick with x264. Thanks again for giving some confirmation regarding the matter as it really help me in term of time saving.
That said, why back up VCD at 256 Kbps? Wouldn't you be better off using constant quality so that you get the quality you can out of it?
I hope you're using a deblocking MPEG-2 decoder :).
nakTT
28th July 2009, 04:18
That said, why back up VCD at 256 Kbps? Wouldn't you be better off using constant quality so that you get the quality you can out of it?
I hope you're using a deblocking MPEG-2 decoder :).
The resolution is something like 329*288. I figure 256kbps is good enough but any better idea are welcomed.
I'm not quite sure how to set a "deblocking MPEG-2 decoder". Care to elaborate?
:thanks:
hellfred
28th July 2009, 07:36
Getting rate control modes beyond fixed quant and 1-pass CBR with GOP duration=buffer duration is the other big thing needed. Most of the proposed uses of Theora are progressive download, so a good old-fashioned peak limited 2-pass VBR would be a big help as well to keep those QP spikes down.
And here we go: two-pass rate controll for the theora thusnelda encoder. (https://trac.xiph.org/changeset/16340)
I do hope that the theora developer read this thread and pick up your valueable input.
Hellfred
Blue_MiSfit
28th July 2009, 10:34
The resolution is something like 329*288. I figure 256kbps is good enough but any better idea are welcomed.
I'm not quite sure how to set a "deblocking MPEG-2 decoder". Care to elaborate?
:thanks:
256kbps might not be enough, especially if you're doing a 1 pass VBR encode!
I'd just use x264, and use CRF encoding, maybe set to 19 or 20 depending on your eyes. This will ensure fairly constant quality while not ballooning filesize too much :)
Regarding deblocking, you will probably want to deblock a VCD, since it's probably got blocks all over the place :). Using something like DGIndex's CPU parameter will suffice. CPU=6 is strong deblocking, and should be appropriate.
If you want to get adventurous, try using any of the neat-o avisynth filters like DFTTest to deblock. It's VERY powerful, especially when motion compensated!
~MiSfit
nakTT
28th July 2009, 18:40
256kbps might not be enough, especially if you're doing a 1 pass VBR encode!
I'd just use x264, and use CRF encoding, maybe set to 19 or 20 depending on your eyes. This will ensure fairly constant quality while not ballooning filesize too much :)
Regarding deblocking, you will probably want to deblock a VCD, since it's probably got blocks all over the place :). Using something like DGIndex's CPU parameter will suffice. CPU=6 is strong deblocking, and should be appropriate.
If you want to get adventurous, try using any of the neat-o avisynth filters like DFTTest to deblock. It's VERY powerful, especially when motion compensated!
~MiSfit
Thanks for the input. Will give it a try. BTW, my current setting is
program --profile high --pass 2 --bitrate 256 --stats ".stats" --ref 8 --b-adapt 2 --b-pyramid --direct auto --subme 9 --trellis 2 --partitions all --vbv-maxrate 2500 --me umh --thread-input --output "output" "input"
Feel free to comment on my current setting.
:thanks:
benwaggoner
28th July 2009, 18:48
And here we go: two-pass rate controll for the theora thusnelda encoder. (https://trac.xiph.org/changeset/16340)
I do hope that the theora developer read this thread and pick up your valueable input.
Well, that's cool! I can't tell if this is an enhanced CBR mode or part of a full VBR mode. But definitely a welcome step. The Theora encoder is already pretty fast, so I think lots of people would be happy to double encode time for a reduced file size or improved quality.
It's been fun to follow Xiph's development process with all that info out in the open.
I don't know if I'm saying anything they haven't heard a thousand times already, but they're welcome to any help it can provide. Theora is clearly going to be used to some degree, so all of us with eyeballs benefit if it's as good as it can be.
nakTT
28th July 2009, 18:55
Well, that's cool! I can't tell if this is an enhanced CBR mode or part of a full VBR mode. But definitely a welcome step. The Theora encoder is already pretty fast, so I think lots of people would be happy to double encode time for a reduced file size or improved quality.
It's been fun to follow Xiph's development process with all that info out in the open.
I don't know if I'm saying anything they haven't heard a thousand times already, but they're welcome to any help it can provide. Theora is clearly going to be used to some degree, so all of us with eyeballs benefit if it's as good as it can be.
Since you are one of the person here who seems to know quite a lot about Theora, I would like to ask a question. (I did ask it before to others actually :D)
Do you noticed that after an update to its firefox plugins a few weeks ago, the http://firefogg.org/ is no longer accepting .avi files as source file. Any idea?
benwaggoner
28th July 2009, 19:15
Since you are one of the person here who seems to know quite a lot about Theora, I would like to ask a question. (I did ask it before to others actually :D)
Well, just as a compression nerd.
Do you noticed that after an update to its firefox plugins a few weeks ago, the http://firefogg.org/ is no longer accepting .avi files as source file. Any idea?
This is the first I've heard of firefogg, so no, I've got no idea.
Some ffmpeg issue I'd guess. But failing with all AVI files seems like a pretty severe problem!
nakTT
28th July 2009, 19:26
This is the first I've heard of firefogg, so no, I've got no idea.
Some ffmpeg issue I'd guess. But failing with all AVI files seems like a pretty severe problem!
I see, no problem.
As an info for all of us, with the last plugins the firefogg did accept this very same AVI file. I just wonder is it because of technical issue or some license dispute or something.
benwaggoner
28th July 2009, 19:36
Thanks for the input. Will give it a try. BTW, my current setting is
program --profile high --pass 2 --bitrate 256 --stats ".stats" --ref 8 --b-adapt 2 --b-pyramid --direct auto --subme 9 --trellis 2 --partitions all --vbv-maxrate 2500 --me umh --thread-input --output "output" "input"
Feel free to comment on my current setting.
:thanks:
If you're looking for x264 tuning for this, you probably should start a new thread over at:
http://forum.doom9.org/forumdisplay.php?f=77
However, for this kind of backup application, using a fixed bitrate doesn't seem ideal, unless you care about the size of each file a bunch. So CRF mode would be a better choice; just find the CRF value that loosk good enough while offering good file size.
As for deblocking decoding, DGDecode is your friend:
http://neuron2.net/dgmpgdec/DGDecodeManual.html
It'll smooth out blocking artifacts in the MPEG-1. It'll thus lower the bitrate required to encode (none of those erronous blocking artifacts), and can result in your archive looking better than your source.
Given the typical VCD, it'll probably be more useful there than anywhere!
Lastly, you should make sure you're flagging the aspect ratio correctly, so that your VCD-derived files will play back at their correct aspect ratio.
nakTT
28th July 2009, 20:21
Thanks for the input. I will start another thread to avoid deviating this thread.
Midzuki
28th July 2009, 21:05
I think to make Theora competitive, there would be video editors like VirtualDub, Avidemux and others that have supported it.
Now the only usable application to make Theora files is ffmpeg2theora (http://v2v.cc/~j/ffmpeg2theora) and is command line.
Well, some builds of ffdshow (revision 3008, for example) contain the libtheora compression module, which can be called by VirtualDub.
benwaggoner
28th July 2009, 21:11
Now the only usable application to make Theora files is ffmpeg2theora (http://v2v.cc/~j/ffmpeg2theora) and is command line.
There is this:
http://forum.doom9.org/showpost.php?p=1296998&postcount=41
Although it presumably would need to be updated for the new 2-pass mode.
hellfred
28th July 2009, 21:16
Latest ffmpeg2theora builds should now include an option for performing a two-pass encoding: commit (https://trac.xiph.org/changeset/16353).
buzzqw
28th July 2009, 21:17
i will gladly update it when 2 pass become avaiable
BHH
iwod
29th July 2009, 19:45
Any new update Demo page coming for Theora then?
buzzqw
29th July 2009, 20:06
here the link to update ffmpeg2theora gui for LINUX with support for 2 pass encode -> http://www.64k.it/andres/data/autofftheora/autoffmpegtheora.tar.gz
download here the nightly build -> http://firefogg.org/nightly/
EDIT: update also the windows gui -> http://www.64k.it/andres/data/autofftheora/autoffmpeg2theora.exe
BHH
clsid
29th July 2009, 22:16
Well, some builds of ffdshow (revision 3008, for example) contain the libtheora compression module, which can be called by VirtualDub.
That is an ancient version of libtheora. It should not be used. It is no longer included with official builds of ffdshow.
Leak
31st July 2009, 11:49
Do we know if it's the decoder per se, or the media pipeline integration? Having media playback sharing the same threading model as a mult-tabbed browser each of which could have multple videos playing back, and also with Javascript and other processing. Plus making sure the networking stack is keeping the video buffers full while allowing other things to come down...
I'm pretty sure that's it - in media player terms it's like complaining about some codec's performance when it's actually the video renderer that's acting up.
np: Nine Inch Nails - Ruiner (Version) (Further Down The Spiral)
benwaggoner
31st July 2009, 21:20
I'm pretty sure that's it - in media player terms it's like complaining about some codec's performance when it's actually the video renderer that's acting up.
And it's probably not just a matter of "acting up" but of "insufficiently refined."
Looking at the history of VLC, WMP, Media Foundation, etcetera, it seems like it takes a good 3-5 years of development for media players to become sufficiently robust under load.
And doing media in the browser environment is a lot more challenging than running as a full-screen exclusdive app with GPU or hardware overlay controol.
There's a crazy amount of thread management and pipeline buffer heuristics even in something as simple as Silverlight, and we're still always at the risk of a Flash ad in another frame sucking up all the CPU.
Theora being a relatively simple decoder helps here in terms of overall perf, but lacking B-frames is a challenge, since there's no non-reference frames to drop.
Were Xiph to look at changing the bitstream, B-frames would be an obvoius addition. They could probably be done without breaking backwards compatibility; B-frames are essentially a temporal enhancement layer. So, the the B-frame stream could be muxed alongside the current I/P stream, ignored by old decoders, but used by new encoders. Thus a 30p encode would play at 15p in an old decoder, but would still play.
nakTT
1st August 2009, 15:45
Received auto update for plugins Firefogg Version 0.9.9.4 today. Support for 2-pass has been added but it still won't accept ".avi" files as input. This happened after an update quite a few weeks ago where ".avi" support has been remove (or is it just me?). If anyone know why this happen, please share the info here.
buzzqw
1st August 2009, 15:55
Received auto update for plugins Firefogg Version 0.9.9.4 today. Support for 2-pass has been added but it still won't accept ".avi" files as input. This happened after an update quite a few weeks ago where ".avi" support has been remove (or is it just me?). If anyone know why this happen, please share the info here.
i can only say that on linux the latest ffmpeg2theora builds support avi
BHH
nakTT
1st August 2009, 17:00
i can only say that on linux the latest ffmpeg2theora builds support avi
BHH
Its not about ffmpeg2theora. Its the one at the firefogg website. The last few updates for the plugins seems to have come without ".avi" input support.
benwaggoner
1st August 2009, 18:44
Received auto update for plugins Firefogg Version 0.9.9.4 today. Support for 2-pass has been added but it still won't accept ".avi" files as input. This happened after an update quite a few weeks ago where ".avi" support has been remove (or is it just me?). If anyone know why this happen, please share the info here.
Since it's working in the current ffmpeg2theora builds, it's probably a bug or other limitation of Firefogg's service unrealated to Theora itself.
nakTT
2nd August 2009, 07:16
Since it's working in the current ffmpeg2theora builds, it's probably a bug or other limitation of Firefogg's service unrealated to Theora itself.
How foolish of me not to realize things that even a layman should realize. I can't believe I missed that one, its so obvious.
:thanks:
ricardo.santos
12th August 2009, 10:17
Hi everyone
Anyone knows how to get hold of the build used here?:
http://web.mit.edu/xiphmont/Public/theora/demo7.html
Also what is the relation between the theora site builds (0.24) and the firefogg builds, 2 teams working on the same thing?
http://www.v2v.cc/~j/ffmpeg2theora/
http://firefogg.org/nightly/
Final question...when using the builds on firefogg website that allow 2 pass encodings i'm getting worse results than with 1 pass conversions and the 2 pass conversions are oversized ... im using the following for 1 pass:
ffmpeg2theora -V 510 -A 64 -c 2 -H 22050 123.mp4
and this for 2 pass:
ffmpeg2theora --first-pass -V 510 -A 64 -c 2 -H 22050 123.mp4
ffmpeg2theora --second-pass -V 510 -A 64 -c 2 -H 22050 123.mp4
is this the correct syntax?
I know x264 produces better quality and we can also stream it... im only testing theora
Dark Shikari
12th August 2009, 17:54
The ratecontrol is currently very buggy, even in two-pass, so you may want to wait until the issues are resolved (or stay with the last released version before the ratecontrol overhaul).
tuqueque
12th August 2009, 19:34
Hello Ricardo...
Your 2-pass syntax is a little too much fiddle...
Go with something easier :)... if you simply put "--two-pass", ffmpeg2theora handle the first and second pass automatically... So I recommend you to go with a simpler syntax like:
ffmpeg2theora --two-pass -V 510 -A 64 -c 2 -H 22050 123.mp4
Good luck!
ricardo.santos
12th August 2009, 23:36
thanks tuqueque,i searched for the sintax over at theora but i just saw my example....the example you gave is the same autoffmpeg2theora uses, should have inspected the command line it uses before.....
Thanks
hellfred
13th August 2009, 09:43
Hi everyone
Anyone knows how to get hold of the build used here?:
http://web.mit.edu/xiphmont/Public/theora/demo7.html
AFAIK the flatened/improved quant matrices where not released. It was just an quick and dirty test done by Gregory Maxwell. Proper optimization of the quant matrices is still to come. I have read about the quant matrices on the theora mailing list, but I am too lazy to look up the post.
Also what is the relation between the theora site builds (0.24) and the firefogg builds, 2 teams working on the same thing?
http://www.v2v.cc/~j/ffmpeg2theora/
http://firefogg.org/nightly/
AFAIK, the firefogg nightly builds use the latest theora code straight from the subversion repository of that day.
J is the one developing ffmpeg2theora, but he is not doing regular builds with the most up to date libtheora code and whenever he adds new parameters to ffmpeg2theora, when new theora functionality becomes available.
Final question...when using the builds on firefogg website that allow 2 pass encodings i'm getting worse results than with 1 pass conversions and the 2 pass conversions are oversized ... im using the following for 1 pass:
and this for 2 pass:
is this the correct syntax?
I know x264 produces better quality and we can also stream it... im only testing theora
Please submit the source video clips with poor encoding performance to the theora developers, so that they can tweak the rate control algorithms. They explicitely requested those streams: "We're particularly interested in sequences it does poorly on" (http://www.theora.org/news/) (news entry related to theora 1.1 beta 1 release)
Yours
Hellfred
Sample request: http://lists.xiph.org/pipermail/theora/2009-August/002629.html
tuqueque
24th August 2009, 19:37
Demo 8 of the Theora - Thusnelda development is out :)
http://web.mit.edu/xiphmont/Public/theora/demo8.html
PatchWorKs
25th August 2009, 07:34
Demo 8 of the Theora - Thusnelda development is out :)
http://web.mit.edu/xiphmont/Public/theora/demo8.html
Cool ! I'm really excited !
Now we do need HW support (into media boxes, for example) !
nakTT
25th August 2009, 08:12
Demo 8 of the Theora - Thusnelda development is out :)
http://web.mit.edu/xiphmont/Public/theora/demo8.html
I have tried the latest version at firefogg. All I can say is that even at 1000kbps, it can't even match x264 at 500kbps. Very sad since I have a high hope before performing the test.
But since its an open source, I will always support this encoder and wish it all the best. Looking forward to really test it in another 3 month and see what improvement they have made.
iwod
27th August 2009, 04:11
Some nice improvement indeed. I think i will stop comparing it to x264 since i guess in the short life time of an human being we will never see it. But if it continue to improve may be it could match some extremely poor H.264 implementation.
Dark Shikari
27th August 2009, 04:33
Some nice improvement indeed. I think i will stop comparing it to x264 since i guess in the short life time of an human being we will never see it. But if it continue to improve may be it could match some extremely poor H.264 implementation.Unquestionably; as shown by my recent comparison (http://x264dev.multimedia.cx/?p=102) some H.264 implementations (Apple, Badaboom) are so bad that they are definitely within range of competition by Theora.
But that shouldn't really be the goal or expectation; the goal should be to compete with other H.263-like formats. Theora is very similar to H.263+, so with a good encoder one should expect H.263+-like results from it.
juGGaKNot
25th September 2009, 15:44
I got the Theora 1.1.0 (http://forum.doom9.org/showthread.php?p=1328838#post1328838) and i tried to build it
$ cd /d/theora
$ ./configure
checking build system type... i686-pc-mingw32
checking host system type... i686-pc-mingw32
checking target system type... i686-pc-mingw32
checking for a BSD-compatible install... /bin/install -c
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking for gcc... gcc
checking for C compiler default output file name... a.exe
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... .exe
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -E
checking whether gcc and cc understand -c and -o together... yes
checking for as... as
checking for dlltool... dlltool
checking for objdump... objdump
checking for a sed that does not truncate output... /bin/sed
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for fgrep... /bin/grep -F
checking for ld used by gcc... d:/min/i686-pc-mingw32/bin/ld.exe
checking if the linker (d:/min/i686-pc-mingw32/bin/ld.exe) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /mingw/bin/nm
checking the name lister (/mingw/bin/nm) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 8192
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking for d:/min/i686-pc-mingw32/bin/ld.exe option to reload object files...
-r
checking for objdump... (cached) objdump
checking how to recognize dependent libraries... file_magic ^x86 archive import|
^x86 DLL
checking for ar... ar
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /mingw/bin/nm output from gcc object... ok
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... no
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -DDLL_EXPORT -DPIC
checking if gcc PIC flag -DDLL_EXPORT -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (d:/min/i686-pc-mingw32/bin/ld.exe) supports sha
red libraries... yes
checking whether -lc should be explicitly linked in... yes
checking dynamic linker characteristics... Win32 ld.exe
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking for doxygen... false
configure: WARNING: *** doxygen not found, API documentation will not be built
checking for pdflatex... no
checking for bibtex... no
checking for fig2dev... no
configure: WARNING: *** Format Specification will not built.
checking for ld used by gcc... (cached) d:/min/i686-pc-mingw32/bin/ld.exe
checking if the linker (d:/min/i686-pc-mingw32/bin/ld.exe) is GNU ld... (cached)
yes
checking how to control symbol export... -export-symbols
checking for pkg-config... no
checking for Ogg... no
*** Could not run Ogg test program, checking why...
*** The test program failed to compile or link. See the file config.log for the
*** exact error that occured. This usually means Ogg was incorrectly installed
*** or that you have moved Ogg since it was installed.
configure: error:
libogg is required to build this package!
please see http://www.xiph.org/ for how to
obtain a copy.
So is there a tutorial on compiling for windows ?
Has ffmpeg2theora been updated to 1.1 ?
Kurtnoise
25th September 2009, 15:45
libogg & libvorbis are required...rtm
>> Here is a win32 fresh build (http://kurtnoise.free.fr/misc/theoraenc-1.1.0.zip) <<
avs2yuv.exe -i input.avs - | encoder_example.exe -V 850 - -o output.ogv
or
avs2yuv.exe -i input.avs - | encoder_example.exe -V 400 -v 8 --first-pass fake - -o output.ogv
avs2yuv.exe -i input.avs - | encoder_example.exe -V 400 -v 8 --second-pass fake - -o output.ogv
nakTT
25th September 2009, 19:10
libogg & libvorbis are required...rtm
>> Here is a win32 fresh build (http://kurtnoise.free.fr/misc/theoraenc-1.1.0.zip) <<
avs2yuv.exe -i input.avs - | encoder_example.exe -V 850 - -o output.ogv
or
avs2yuv.exe -i input.avs - | encoder_example.exe -V 400 -v 8 --first-pass fake - -o output.ogv
avs2yuv.exe -i input.avs - | encoder_example.exe -V 400 -v 8 --second-pass fake - -o output.ogv
Any chance MeGUI to support this encoder? I know x264 is currently the best, just for comparison sake perhaps?
Kurtnoise
25th September 2009, 19:58
the few tests (most 2 passes encodings) I've done with it, doesn't seem to be accurate to reach my target bitrates...and we are in 2009 !!!
So, no, sorry...not competitive yet. :sly:
nakTT
26th September 2009, 06:52
the few tests (most 2 passes encodings) I've done with it, doesn't seem to be accurate to reach my target bitrates...and we are in 2009 !!!
So, no, sorry...not competitive yet. :sly:
I see. If its not competitive yet (from their bombastic words, I thought its already competitive), then I also don't want to waste my time on it. I would rather run the test only when it become competitive. Thanks for the info bro.
:thanks:
Kurtnoise
26th September 2009, 07:41
Keep in mind that my tests were specific to multipasses. It may be competitive in other scenarios...
thewebchat
27th September 2009, 01:26
http://img30.imageshack.us/img30/9900/theora2.png
In general, Theora 1.1 seems to be comparable to Xvid 1.2.2, sometimes with significantly less mosquito noise and blocks. However, you get sequences like the one above every now and then where the frame seems to have completely fallen apart. Is this because of a loop filter? RDO problems? Inherent to the format?
Dark Shikari
27th September 2009, 01:36
http://img30.imageshack.us/img30/9900/theora2.png
In general, Theora 1.1 seems to be comparable than Xvid 1.2.2, sometimes with significantly less mosquito noise and blocks. However, you get sequences like the one above every now and then where the frame seems to have completely fallen apart. Is this because of a loop filter? RDO problems? Inherent to the format?The ratecontrol is current extremely broken and will randomly fall apart when you least expect it. Constant quant mode is of course fine, it's only bitrate mode that has issues.
Also of course note that if some parts look as good as Xvid and others look very bad, that's because the parts that look good are stealing bits from those that look bad ;)
Also, encoding at 1500kbps for SD doesn't really make for an interesting test. Even MPEG-2 can do that with reasonable quality if you use a long GOP.
benwaggoner
27th September 2009, 04:24
I made a few samples using the latest of x264, VC-1, and Theora, testing both offline VBR and real-time CBR encoding.
http://cid-bee3c9ac9541c85b.skydrive.live.com/browse.aspx/.Public/Theora%5E_1.1
Theora is defintely improved, but I see a lot of basis pattern throughout these samples. Theora would be well-served by a postprocessing filter.
Dark Shikari
27th September 2009, 05:12
Theora is defintely improved, but I see a lot of basis pattern throughout these samples. Theora would be well-served by a postprocessing filter.Considering what the background areas look like in VC-1 in this sample (e.g. frame 2120), I don't think you should be complaining about Theora's basis patterns ;). This is what happens if you do adaptive deadzone without adaptive quantization.
Also, I think a test with fewer scenecuts and less action would be more "real-world"; this test probably has the majority of coded bits in the form of intra blocks, which tends to flatten the difference between encoders somewhat.
benwaggoner
27th September 2009, 05:34
Considering what the background areas look like in VC-1 in this sample (e.g. frame 2120), I don't think you should be complaining about Theora's basis patterns ;). This is what happens if you do adaptive deadzone without adaptive quantization.
Well, VC-1 does have a postprocessing filter in most implementations :). It's part of the standard, albeit optional.
Are you thinking of 2126? 2120 looks pretty good in my viewer; it's the flash where things get blocky.
Anyway, I'd agree that low-bitrate differential quantization is the weakest point of the current VC-1 Encoder SDK implementations. I should do a Win7 version as well for comparison, which has a better low bitrate DQuant and motion vector cost mode for grainy regions, but somewhat weaker rate control.
Also, I think a test with fewer scenecuts and less action would be more "real-world"; this test probably has the majority of coded bits in the form of intra blocks, which tends to flatten the difference between encoders somewhat.
Fair enough. It may be too good a stress test in some ways, but it's served me well for years as a good way to flush out codec limitaitons, particularly in rate control.
Dark Shikari
27th September 2009, 05:37
Well, VC-1 does have a postprocessing filter in most implementations :). It's part of the standard, albeit optional.
Are you thinking of 2126? 2120 looks pretty good in my viewer; it's the flash where things get blocky.
Anyway, I'd agree that low-bitrate differential quantization is the weakest point of the current VC-1 Encoder SDK implementations. I should do a Win7 version as well for comparison, which has a better low bitrate DQuant and motion vector cost mode for grainy regions, but somewhat weaker rate control.Look at the background in 2120; it's covered with DCT coeffs that were rounded up way too much because the quantizer was too high to represent the fine background detail.
benwaggoner
27th September 2009, 05:39
Look at the background in 2120; it's covered with DCT coeffs that were rounded up way too much because the quantizer was too high to represent the fine background detail.
Yeah, it's compressed, but I don't see much basis pattern until six frames later.
...unless we're using tools that count frames differently. IIRC, I encoded as muxed elementary stream, so it should have skip frames and not VFR.
juGGaKNot
27th September 2009, 10:36
--first-pass xxx -V 2000 -v 8 -A 192 -o output.ogv x.wav x.
y4m
File x.wav is 16 bit 2 channel 44100 Hz RIFF WAV audio.
File x.y4m is 1184x656 30.00 fps 420 video.
Scanning first pass....
0:00:10.00 audio: 0kbps video: 0kbps
done.
C:\theora>theora.exe --second-pass xxx -V 2000 -v 8 -A 192 -o output.ogv x.wav x
.y4m
File x.wav is 16 bit 2 channel 44100 Hz RIFF WAV audio.
File x.y4m is 1184x656 30.00 fps 420 video.
Compressing....
0:00:10.03 audio: 194kbps video: 7785kbps
done.
The -v overrides -V right ?
Anyway the y4m is 1184x656 30.00 but the output is bad ( only blocks of color )
avs2yuv x.avs -o x.y4m
AVIsource("C:\theora\x.avi")
ConvertToYV12(matrix="PC.601")
LoadPlugin("C:\x264\bin\autocrop.dll")
AutoCrop(0, 16, 16, threshold=0)
Where did i go wrong ?
benwaggoner
27th September 2009, 17:23
update the ffmpeg2theora gui
http://www.64k.it/andres/data/autofftheora/AutoFFmpegTheora-v1.4.exe
fixed some audio detection issue
other minor bug fix
Any plans to update this for Theora 1.1?
buzzqw
28th September 2009, 07:52
Any plans to update this for Theora 1.1?
yes :)
http://www.64k.it/andres/data/autofftheora/AutoFFmpegTheora-v1.5.exe
BHH
juGGaKNot
28th September 2009, 13:32
Any plans to update this for Theora 1.1?
yes :)
http://www.64k.it/andres/data/autofftheora/AutoFFmpegTheora-v1.5.exe
BHH
But did ffmpeg2theora get updated to 1.1 ?
buzzqw
28th September 2009, 13:48
i used these builds http://firefogg.org/nightly/
are update very often
BHH
Midzuki
28th September 2009, 13:50
But did ffmpeg2theora get updated to 1.1 ?
Apparently the answer is "yes":
ffmpeg2theora 0.24+svn16574 - Xiph.Org libtheora 1.1 20090822 (Thusnelda)
Usage: ffmpeg2theora [options] input
etc
etc
etc
juGGaKNot
28th September 2009, 14:02
I see, testing.
autoffmpeg does not seem to "like"
http://firefogg.org/nightly/ffmpeg2theora.exe 25-Sep-2009 13:36 2.0M
LE : had to reload the program, also some check boxes are getting invisible when i move the mouse.
and detect crop crashes it
buzzqw
28th September 2009, 14:21
detect crop requires mplayer.exe in the same folder as autoffmpeg2theora
update the build, now you got a tooltip about this
BHH
hellfred
28th September 2009, 20:45
But did ffmpeg2theora get updated to 1.1 ?
See here (http://v2v.cc/~j/ffmpeg2theora/):
2009-09-28 new version released - 0.25
* fix input from codecs where width/height is not encoded width/height
* fix a/v sync issues with some mov/mp4 files with strange framerates
* add new option --info outputs json info about source
* frontend mode outputs one json dict per line now
* select video stream if input has more than one video(--videostream N)
* update to ffmpeg trunk and new ffmepg api
* use new libtheora 1.1
* use new libtheora encoding api add new encoding options --soft-target, --buf-delay
* two pass encoding, --two-pass or in two calls with --first-pass and --second-pass
Kurtnoise
30th September 2009, 13:52
For those who are interested, here is (http://kurtnoise.free.fr/index.php?dir=misc/&file=ffmpeg2theora-0.25-svn_20090930.7z) a fresh ffmpeg2theora win32 build with avisynth support...
juGGaKNot
30th September 2009, 14:09
For those who are interested, here is (http://kurtnoise.free.fr/index.php?dir=misc/&file=ffmpeg2theora-0.25-svn_20090930.7z) a fresh ffmpeg2theora win32 build with avisynth support...
converttoyv24 works ?
le :
ffmpeg2theora.exe -o "Movie.ogv" --first-pass dummy -v 8 -V 5000 --optimize --framerate 30 --keyint 300 --no-oshash --title "asd" --contact "asd" --noaudio "Movie.avs"
[avs @ 0x3ec470]MAX_READ_SIZE:5000000 reached
Input #0, avs, from 'Movie.avs':
Duration: 00:00:16.66, start: 0.000000, bitrate: 0 kb/s
Stream #0.0: Video: YV24 / 0x34325659, 1184x666, 567751 kb/s, 30 tbr, 30 tbn
, 30 tbc
[audio disabled].
swScaler: Unknown format is not supported as input pixel format
No video or audio stream found.
Kurtnoise
30th September 2009, 14:38
swScaler: Unknown format is not supported as input pixel format
I think it's pretty clear...seems like libswscale (part of FFmpeg) doesn't support YV24 conversion yet.
juGGaKNot
30th September 2009, 14:50
I see, so any way to convert 4:4:4 avi to yuv for theora ? or feed 4:4:4 to theora ?
avs2yuv also does not support it.
LigH
30th September 2009, 14:54
For those who are interested, here is (http://kurtnoise.free.fr/index.php?dir=misc/&file=ffmpeg2theora-0.25-svn_20090930.7z) a fresh ffmpeg2theora win32 build with avisynth support...
:thanks:
LigH goes blowing a whistle about that in the german forums...
Kurtnoise
30th September 2009, 18:09
I see, so any way to convert 4:4:4 avi to yuv for theora ? or feed 4:4:4 to theora ?
Are you sure that Theora supports this colorspace ?
PatlaborForce
30th September 2009, 18:14
9. Support for 4:2:2 and 4:4:4 video
As with adaptive quantization, the specification has always supported the less common 4:2:2 and 4:4:4 chroma subsamplings, useful for high contrast material like screencasts and special effects precursors. The 1.0 decoder supported these subsamplings properly. However, the 1.0 encoder couldn't produce streams in these formats. They are now supported in the 1.1 encoder.
From here (http://www.theora.org/news/).
juGGaKNot
30th September 2009, 18:16
9. Support for 4:2:2 and 4:4:4 video
As with adaptive quantization, the specification has always
supported the less common 4:2:2 and 4:4:4 chroma subsamplings, useful for high quality intermediate work in video production. The 1.0 decoder supported these subsamplings properly. However, the 1.0 encoder couldn't produce streams in these formats. They are now supported in the 1.1 encoder.
I don't now for real but they say they do.
Midzuki
30th September 2009, 18:56
.EXE from firefogg.org : 2.01 MB
.EXE by Kurtnoise: 20.6 MB
What is the purpose of those extra 18 MB ? :confused:
juGGaKNot
30th September 2009, 19:16
ffmpeg, avs.
i guess
Kurtnoise
30th September 2009, 20:07
what's the problem w/ file size ? you can compress exe files if you want...personally, I don't care.
I use static libs (vorbisenc, vorbis, theoraenc, theoradec, avdevice, avformat, avcodec, zlib, bz2, pthreads, faad, ws2_32, vfw32, postproc, swscale, avutil, oggkate, kate, ogg, iconv) instead of dynamic ones (dlls in short). That's why you have a such size...
Kurtnoise
1st October 2009, 09:10
you're off-topic...:rolleyes:
PatchWorKs
1st October 2009, 09:31
you're off-topic...:rolleyes:
Supporting/promoting freedom is never offtopic, IMHO.
benwaggoner
2nd October 2009, 02:36
Supporting/promoting freedom is never offtopic, IMHO.
...in a thread about either MP3 or freedom, perhaps.
Ogg doesn't even support MP3 as an audio codec.
If I may offer a return to on topic, what does anyone know about Theora's multithreading?
thewebchat
2nd October 2009, 02:44
There is none.
benwaggoner
2nd October 2009, 03:47
There is none.
Yet it's still pretty fast. I wonder if it's not using very complex encoder modes, or that there's not all that much room to do tricky stuff with the bitstream. I imagine you can save a lot of time not having to sweat doing optimal B-frame placement.
Dark Shikari
2nd October 2009, 03:50
Yet it's still pretty fast.Pretty fast?
For an encoder that does only a diamond motion search and no RDO, it is about 10 times slower than it should be.
benwaggoner
2nd October 2009, 03:58
Pretty fast?
For an encoder that does only a diamond motion search and no RDO, it is about 10 times slower than it should be.
Well, we'll put it in Category 1, then :).
But that does suggest there's quite a lot of room for quality opitimization within the current bitstream spec (which was rather blindingly obvious by my 1-pass CBR live sample as well).
Who's going to port MBTree over :)?
iwod
2nd October 2009, 10:07
This is like asking the question,
Is is faster to solve the Patents and pricing issues with H.264 decoder and Encoder. And to allow x264 inside commercial closed source products.
or
Improve Theora's quality to AT LEAST xvid standard.
PatchWorKs
2nd October 2009, 11:37
...in a thread about either MP3 or freedom, perhaps.
Ogg doesn't even support MP3 as an audio codec.
If I may offer a return to on topic, what does anyone know about Theora's multithreading?
Cool, if someone tries to stimulate a Theora adoption (in this case by someone that shows some interest to it) the result is censoring.
No more information sharing by me here.
nurbs
2nd October 2009, 12:03
You have to admit that trying to stimulate Theora adoption in a thread about MP3 encoding is off-topic. It's not even an audio codec.
PatlaborForce
2nd October 2009, 14:55
Cool, if someone tries to stimulate a Theora adoption (in this case by someone that shows some interest to it) the result is censoring.
No more information sharing by me here.
If you want to talk about a multithreading library for LAME, do it in the audio encoding section and in a thread of it's own. Secondly, how would linking that discussion in this thread help stimulate adoption of theora when it had nothing to do with theora?
Kurtnoise
2nd October 2009, 17:02
There is none.
http://wiki.xiph.org/TheoraEncoders
case closed...
Tagert
14th October 2009, 23:06
Any comparative quality graph between Theora 1.0 vs Theora 1.1?
Are a few comparisons available here:
http://hacks.mozilla.org/2009/09/theora-1-1-released/
Quite a quality gain from 1.0 to 1.1 :)
Max of S2D
19th October 2009, 08:20
Who's going to port MBTree over :)?
I wonder how much it would gain at the quality level if it gained optimizations similar to x264
benwaggoner
19th October 2009, 09:22
I wonder how much it would gain at the quality level if it gained optimizations similar to x264
A bunch, but not enough :)? There's certainly a lot of techniques that would offer definite improvements over what Theora's encoder can do today. But then there are the fundamental 90's limits of the bitstream and decoder, like no B-frames.
I doubt it could ever get to be as good as xvid ASP is today, but perhaps could match and even surpass in some areas xvid SP. The adaptive quant table stuff could prove interesting with a really advanced implementation.
dapperdan
19th October 2009, 13:29
But then there are the fundamental 90's limits of the bitstream and decoder, like no B-frames.
You mentioned B-frames earlier as something Theora should adopt when they broke backwards compatibility for new a version.
I was under the impression that B-frames were avoided by On2, and now Xiph, because they are patented. In that case it doesn't really make sense for Xiph to adopt them. Nor does it seem fair to call it a "fundamental 90's limit" as if technology has moved on and they've simply not noticed. After all if B-frames are patented then even a brand new codec invented today would need to either licence or avoid that technology.
Clearly not being able to implement these patented ideas reduces Theora's options, but stating the actual reason for them not using a technique seems less like an accusation of incompetence, and indeed highlights the fundamental reasons for creating a codec like Theora.
benwaggoner
19th October 2009, 18:56
You mentioned B-frames earlier as something Theora should adopt when they broke backwards compatibility for new a version.
I was under the impression that B-frames were avoided by On2, and now Xiph, because they are patented. In that case it doesn't really make sense for Xiph to adopt them. Nor does it seem fair to call it a "fundamental 90's limit" as if technology has moved on and they've simply not noticed. After all if B-frames are patented then even a brand new codec invented today would need to either licence or avoid that technology.
Well, the limitations of Theora are a mix of patent workarounds from the 90's and the fundamental design of the codec. I'm no IP expert in this space, certainly. But I imagine there were techniques that were patented when VP3 was created that have since expired. And there are certainly other approaches that could be used in a ground-up new "IP free" codec that aren't possible in Theora.
Clearly not being able to implement these patented ideas reduces Theora's options, but stating the actual reason for them not using a technique seems less like an accusation of incompetence, and indeed highlights the fundamental reasons for creating a codec like Theora.
We'd need a per-feature breakdown of the patent story. Also, if the VP3 bitstream was the best IP mix possible when it was created, that's no reason to think that it's the best IP mix possible today.
dapperdan
20th October 2009, 10:50
For the specific example of B-frames, other VP3 derived codecs such as On2's VP4,6,7 & 8 (announced a year ago) don't use B-frames either. On2 have text on their site about why this is a good thing but reading between the lines and particularly noting that, as with Xiph, not relying on external patents was one of the selling points of their codecs I think it's clear that it was patents that prevented them from adding this feature, which as you said earlier, is an obvious addition to such a codec.
Dark Shikari
20th October 2009, 10:55
For the specific example of B-frames, other VP3 derived codecs such as On2's VP4,6,7 & 8 (announced a year ago) don't use B-frames either. On2 have text on their site about why this is a good thing but reading between the lines and particularly noting that, as with Xiph, not relying on external patents was one of the selling points of their codecs I think it's clear that it was patents that prevented them from adding this feature, which as you said earlier, is an obvious addition to such a codec.Of course, given that MPEG-1 was the first format to include B-frames and is now old enough to be out of patent period, the entire discussion is completely moot.
dapperdan
23rd October 2009, 16:31
Actually MPEG-1 (or a subset) was recently proposed as the baseline codec for HTML5 and though some people claimed that it was old enough to be entirely patent free others objected:
http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2009-May/020015.html
> Since the near complete MPEG-1 committee draft was publicly available in December 1991,
[snip]
You keep repeating this particular piece of misinformation, so I'm
worried that people are going to take your word for it and get into
trouble.
What you are claiming with respect to the inventors disclosure and
patent duration is correct for patents filed and granted today but it
not true for patents from the mid-1990s.
Prior to mid-1995 was possible to use application extensions to defer
the grant date of a patent indefinitely. You could begin an
application in 1988, publicly expose your invention in 1991, all the
while filing extensions only to have the patent granted in 1995.
I am somewhat surprised that you are unaware of this issue,
considering that you mentioned it specifically by name (submarine
patent).
It's also worth noting that even the MPEG-1 subset (as proposed by the person being replied to above) dropped B-frames giving the reason that they lacked suitable prior art.
donaldtone
4th November 2009, 21:45
what's the problem w/ file size ? you can compress exe files if you want...personally, I don't care.
I use static libs (vorbisenc, vorbis, theoraenc, theoradec, avdevice, avformat, avcodec, zlib, bz2, pthreads, faad, ws2_32, vfw32, postproc, swscale, avutil, oggkate, kate, ogg, iconv) instead of dynamic ones (dlls in short). That's why you have a such size...
Your version with avs support is very useful. It is also supposed to support subtitle since it has kate built in. However, it does not support subtitles.
Following is the error message:
C:\AutoFFmpegTheora\ffmpeg2theora-0.25-svn_20090930>ffmpeg2theora --subtitles-language en --subtitles input.srt 0373.avi
WARNING - Kate support not compiled in, subtitles will not be output
- install libkate and rebuild ffmpeg2theora for subtitle support
donaldtone
4th November 2009, 22:57
Embedding Subtitles or lyric is a rather important function of a video container.
However, I can not find any tool in windows could easily remux or demux subtitles inside ogv container.
There is also only one player VLC can support subtitles in ogv format.
I just wonder if somebody can build kate tool package in windows (including kateenc, etc.).
It will be very appreciate.
This page is for reference how to build them
http://www.finetyping.com/kate/win32/vc2008/readme.txt
Astrophizz
5th November 2009, 01:06
AFAIK the Haali splitter supports .ogv and subtitles therein - but I might be wrong. I don't know about muxers but I think there are plans to add it to Avidemux at some point in the future.
donaldtone
12th November 2009, 13:47
AFAIK the Haali splitter supports .ogv and subtitles therein - but I might be wrong. I don't know about muxers but I think there are plans to add it to Avidemux at some point in the future.
right now the only support player is VLC(with video, audio and subtitle).
mpc hometheatre with Haali splitter only support video and audio, no subtitle (kate format subtitle) support.
nurbs
12th November 2009, 16:46
Could somebody please upload a copy of the ffmpeg2theora build with avs support for me. Kurtnoises site seems to be down unfortunately, so I can't get that.
Midzuki
12th November 2009, 17:06
@ nurbs: the "official" builds of ffmpeg2theora do accept piping from avs2yuv.exe (even though you may need to kill the process manually, after the encoding is finished. :) )
nurbs
12th November 2009, 17:35
Didn't think about that solution, thanks.
edit: Thanks Kurtnoise!
Kurtnoise
12th November 2009, 17:52
Could somebody please upload a copy of the ffmpeg2theora build with avs support for me. Kurtnoises site seems to be down unfortunately, so I can't get that.
http://kurtnoise.free.fr/misc/
Your version with avs support is very useful. It is also supposed to support subtitle since it has kate built in. However, it does not support subtitles.
use either my last build from this month (20091113) or oggz-merge from the oggztools package + kateenc. Same link as above...
donaldtone
13th November 2009, 14:53
Thanks Kurtnoise!
The last ffmpeg2theora (20091113) works very well with avs script and kate subtitle encode.
There is just a concern, the kate lib version built in is just 0.3.1.
Would it be possible to change to kate lib 0.3.6(last official version)? Thanks.
donaldtone
13th November 2009, 14:55
BTW: I could not find kateenc binary for windows anywhere.
Could anybody do me a favor?
Kurtnoise
13th November 2009, 16:32
There is just a concern, the kate lib version built in is just 0.3.1.
Would it be possible to change to kate lib 0.3.6(last official version)?
build from today updated to the libkate 0.3.6. Anyway, you won't see any differences.
btw, I don't know why you're so interesting by the srt support in libkate. The rendering is poor to me (italic not supported by example)...
BTW: I could not find kateenc binary for windows anywhere.
Could anybody do me a favor?
http://kurtnoise.free.fr/misc/libkate-0.3.6.zip
donaldtone
13th November 2009, 21:42
Thank you very much.
Agree with you, the kate can not support <i>, <b> tags right now.
But Kate is in its early age, let's see its progress.
And Kate is the only subtitle format in new OGV format. I am not sure OGV support srt or not even though ogm supports.
donaldtone
17th November 2009, 16:24
new edition of kate has just released.
It fixes a lot of issues and add support of SRT style(that means italic, bold style can be rendered correctly.).
0.3.7 - 15 november 2009
new encoding functions to specify timing in granule rate units
fix SRT timing precision problems
new -M option to kateenc to allow HTML-like markup in SRT files
allow the last event in an SRT file to not be followed by an empty line
iwod
15th December 2009, 07:55
No news at all? Or have they given up theora and just move to X264
Rasi
15th December 2009, 08:21
No news at all? Or have they given up theora and just move to X264
? look one post above yours?
Astrophizz
15th December 2009, 13:29
That's just for Kate, which is used for subtitles. That wasn't a post about theora.
iwod
25th January 2010, 03:59
That is nearly 4 months without update.
tuqueque
26th January 2010, 22:19
Actually, since yesterday, a new development branch was created for the eventual 1.2 release... Check it out https://trac.xiph.org/timeline
And there is already some nice improvements.
ricardo.santos
6th February 2010, 01:27
ffmpeg2theora 0.26 released
nurbs
6th February 2010, 02:08
I did a small test (http://www.megaupload.com/?d=GLRFRB7J) of ffmpeg2theora 0.26 and x264 r1400. I only two sources and the default settings on both encoders, with x264 encoded at the same and half the bitrate the Theora encoder used. Exact settings, links to source files, PSNR, SSIM and comparison pics can be found in the download. I can upload encoded samples should anyone be interested.
Theora still needs a lot of work. Even at half the bitrate x264 produces clearly better results.
I'd be interested why the background in the score area of the Touhou video is so blurry in Theora. Since it is completely static it shouldn't be so low quality.
Dark Shikari
6th February 2010, 04:38
I did a small test (http://www.megaupload.com/?d=GLRFRB7J) of ffmpeg2theora 0.26 and x264 r1400. I only two sources and the default settings on both encoders, with x264 encoded at the same and half the bitrate the Theora encoder used. Exact settings, links to source files, PSNR, SSIM and comparison pics can be found in the download. I can upload encoded samples should anyone be interested.
Theora still needs a lot of work. Even at half the bitrate x264 produces clearly better results.
I'd be interested why the background in the score area of the Touhou video is so blurry in Theora. Since it is completely static it shouldn't be so low quality.MB-tree is the reason x264 performs so well on the score area: without an algorithm that performs a similar purpose, it's impossible to compete on that particular area of the frame (except by simply cheating and setting a really high ipratio). This isn't really something to criticize Theora heavily on, since x264 is the only encoder with MB-tree ;)
By the way, you should test the latest Theora SVN; they added adaptive lambda (rough equivalent of x264's AQ), which should help quality in flat areas a lot.
nurbs
6th February 2010, 08:46
I will test it if anyone compiles it for me. AQ is important so it will be interesting to see the results when it's released.
ricardo.santos
7th February 2010, 19:52
@nurbs
You can try the ffmpeg2theora nightly builds
http://firefogg.org/nightly/
last update was today so im guessing they're compiled using latest build
hellfred
7th February 2010, 23:32
@nurbs
You can try the ffmpeg2theora nightly builds
http://firefogg.org/nightly/
last update was today so im guessing they're compiled using latest build
The build is based on Theora 1.1 Thusnelde.D:\Manga\Maian>ffmpeg2theora.exe
ffmpeg2theora 0.26+svn16879M - Xiph.Org libtheora 1.1 20090822 (Thusnelda)
The latest branch should annouce itself as "ptalarbvorm". Maybe ask at the theora mailing list for a build.
Yours,
Hellfred
Astrophizz
8th February 2010, 01:52
Good lord, where did they get that name?
mariush
8th February 2010, 04:51
ogg is the container
vorbis is the audio codec
theora is the video codec
thusnelda is the release name
Stephen R. Savage is the .....
Midzuki
8th February 2010, 05:11
Astrophizz wrote:
Good lord, where did they get that name?
I have no idea. :) Anyway, for the curious, here goes the URL to the "offending codename": :p
http://svn.xiph.org/experimental/derf/theora-ptalarbvorm/
ricardo.santos
8th February 2010, 11:55
so the ffmpeg2theora nightly builds arent actually based/compiled using the latest build from the SVN?
valgor
8th February 2010, 17:55
Well, I built rev.16883 theora-palarbvorm.
The same video source, the same settings (v -6).
Thusnelda 1.1.1 produced 673 Kbps video, Palarbvorm - 704.
Visually, Palarbvorm produced a bit sharper video, but the difference is too small, sometimes no diffs.
nurbs
8th February 2010, 18:01
Could you upload the build somewhere, please? :thanks:
valgor
8th February 2010, 20:25
I'm on Slackware Linux, so no binary for Windows.
Anyway, every one can assess visually:
Xiph.Org libtheora 1.1 20090822 (Thusnelda)
Xiph.Org libtheora 1.1+ 20100126 (Ptalarbvorm)
I used better source than previous post.
100 first seconds of Elephants_Dream_HD.avi (http://www.elephantsdream.org/download/), resized to 640x360:
mplayer /home/video/Elephants_Dream_HD.avi -vf scale=640:360 -endpos 100 -nosound -vo yuv4mpeg:file=/tmp/ed640.yuv
both encoded with encoder_example:
./encoder_example -v 6 /tmp/ed640.yuv > ed640.ogv
both video in single tar-archive, Ptalarbvorm_vs_Thusnelda.tar, 18 MB
http://shareflare.net/download/8268.83264053348a5744538bb6b9f/Ptalarbvorm_vs_Thusnelda.tar.html
hellfred
8th February 2010, 21:58
Did you really build rev. rev. 16883 (https://trac.xiph.org/changeset/16883) with the latest bug fixes from 02.07.2010, as the date in your naming schema Xiph.Org libtheora 1.1+ 20100126 (Ptalarbvorm) somewaht contradicts the revision number. The date in the later one implies a build without the bug fixes.
valgor
8th February 2010, 22:36
Sure, this define hardcoded in lib/internal.h, line 74-75
http://svn.xiph.org/experimental/derf/theora-ptalarbvorm/lib/internal.h
/*This library's version.*/
# define OC_VENDOR_STRING "Xiph.Org libtheora 1.1+ 20100126 (Ptalarbvorm)"
Midzuki
11th February 2010, 05:04
OK, I've just found a Windows binary for "ptalarbvorm" :) :
http://www.mediafire.com/?rwiwnnhjezt
(contains the encoder_example, libtheora, libvorbis and libogg).
Stephen R. Savage
11th February 2010, 18:34
http://img706.imageshack.us/img706/9547/lolfailt.th.png (http://img706.imageshack.us/i/lolfailt.png/)
Theora: keyint=300, speed=0
Xvid: max_keyint=300, max_bframes=6, vhqmode=1, cartoon, bvhq, bquant_ratio=100, qpel, gmc, nopacked, lumimasking
x264 1000k: keyint=300, minkeyint=30, bframe=6, badapt=2, bpyramid=normal, ref=8, deblock=-1:-1, aq=2:1.0, nombtree, partitions=all, direct=auto, me=umh, merange=24, subme=9, psyrd=1.0:0.0, trellis=0, no-fast-pskip
x264 500k: keyint=300, minkeyint=30, bframe=6, badapt=2, bpyramid=normal, ref=8, rclookahead=300, aq=2:1.0, partitions=all, direct=auto, me=umh, merange=24, subme=9, psyrd=1.0:0.0, trellis=0, no-fast-pskip,
Not too bad. Theora is competitive with Xvid, and at least 25% as good as x264. Some more frames here: http://www.sendspace.com/file/azews9
Edit: I noticed I was probably misrepresenting Xvid and low-bitrate x264, esp due to deblocking in the 500 kbps test and cartoon mode in Xvid. I have updated the screenshot to show that Theora does in fact not beat Xvid (though it still beats x264 @ 1/4 bitrate).
Dark Shikari
11th February 2010, 20:26
That's basically what AQ does for you. Notice how the sharp lines are far better in Xvid: that's because Xvid is wasting all its bits on the sharp lines.
Stephen R. Savage
12th February 2010, 00:34
The stranger part is that I used the Xvid version with your VAQ patch, but I still see the typical blurring of flat areas. Perhaps it is related to the H.263 matrix used in Xvid.
Dark Shikari
12th February 2010, 00:44
The stranger part is that I used the Xvid version with your VAQ patch, but I still see the typical blurring of flat areas. Perhaps it is related to the H.263 matrix used in Xvid.My VAQ patch for Xvid was never very good, nor properly tuned for Xvid's quantizer scale.
Stephen R. Savage
18th February 2010, 05:59
This is off-topic, but I have been wondering about a few things:
1) I read a quote from Manao that MPEG-4 ASP is only "20% more efficient than MPEG-2." Is this accurate? Another commonly cited figure is AVC having "twice the theoretical efficiency of MPEG-2". We all know that x264 is several times better than the last-generation competition, so is this statement still true? Could an optimized MPEG-2 encoder be 50% as effective as H.264 (thereby beating Theora in the screenshot above)?
2) How far are we from the theoretical best compression for any general 2-D image? Can we reasonably expect a 2x or similar increase in compression in the future?
Dark Shikari
18th February 2010, 06:06
This is off-topic, but I have been wondering about a few things:
1) I read a quote from Manao that MPEG-4 ASP is only "20% more efficient than MPEG-2." Is this accurate?ASP has a few advantages:
1) Better MV prediction
2) Better VLC tables, especially for low bitrates
3) Better quantization at very low bitrates (H.263 quant)
4) 4MV
5) Intra AC pred (0.1%, basically useless)
6) GMC (basically useless)
7) Qpel (<5% probably, potentially counterproductive)
It also has a few disadvantages, like the retarded B-skip rules (if a block is skipped in a P, it has to be skipped in the colocated block in the relevant B-frame(s)).
Overall, I'd say it could be a good bit above 20% at lower bitrates. Do remember the other big advantage: MPEG-4 ASP usually uses a far shorter keyframe interval, which is why Xvid could outcompress DVDs so well. This works because generally one can get exact iDCTs with MPEG-4 ASP, which is harder with MPEG-2, where the error can accumulate very fast.Another commonly cited figure is AVC having "twice the theoretical efficiency of MPEG-2".Do remember these figures depend heavily on bitrate. The lower the bitrate, the more the advantage, the higher the bitrate, the less the advantage. It's probably possible to construct a reasonable situation in which x264 beats MPEG-2 by a factor of 10, and it's also possible to construct one in which it barely wins by 30% or less.We all know that x264 is several times better than the last-generation competition, so is this statement still true? Could an optimized MPEG-2 encoder be 50% as effective as H.264 (thereby beating Theora in the screenshot above)?MPEG-2 is probably overall a bit inferior to Theora. It has no loop filter, and while it has B-frames and better MV prediction, it also has probably a significantly worse entropy coder. I don't think the gap is huge though. At a medium bitrate, I suspect an extraordinarily good MPEG-2 encoder (e.g. the same level of advancement as x264) could probably beat the current Theora encoder by a significant margin.2) How far are we from the theoretical best compression for any general 2-D image? Can we reasonably expect a 2x or similar increase in compression in the future?Especially at low bitrates, at least that is possible if you're willing to sacrifice performance. Some very promising ideas in that realm include Markov-chain intra coding and decoder-side motion vector derivation.
LigH
27th February 2010, 11:50
Information Theory (based on Claude Shannon) states that there is an entropy of information, a limit of of bitrate, which applies to any lossless compression.
For lossy compression instead, the limits are rather vague, and move from objective ratings ("How much loss is calculated?") to subjective ratings ("How annoying is the loss?").
It has already been discussed a lot for audio compression: Modern compression algorithms like AAC or Vorbis don't need a remarkable amount of objectively less loss than MP3 for the same bitrate; the loss just "sounds less noticable" than the one of most usual MP3 encoders. And LAME was able to keep track mainly by a very well tweaked psycho-acoustic model, not because it was able to get more out of the MP3 specs.
Something similar applies to AVC and VC-1, even to RM: Of course they use a more efficient encoding technology than MPEG2 and MPEG4-ASP; but even more important - especially for lower bitrates - are their technologies of suppressing noticable artifacts (e.g. "In-loop deblocking"): They do not only have "less loss", but especially also "less annoying loss".
And that is hopefully also the chance for Theora to grab its own piece of the big cake.
dragsidious
2nd March 2010, 03:52
On a side note... just for the record.. etc
I did not see anybody mention it here and I expect all the comparisons done are in two-pass mode so it's probably not relevant, but here is a little note from a Theora developer on one of the details of comparing Theora vs H.264
from
http://www.streaminglearningcenter.com/articles/ogg-vs-h264---round-one.html?comment_id=377#comment_377
ffmpeg2theora* -V 500 -k 300 -d 99999*** (the only additions provided to the commandline above is -d 99999 to remove the buffering constraint).
Two-pass also disables the buffer constraint by default, but I wanted to make it clear the the improvement is from removing the buffering constraint, not from switching to two-pass.** If you're not live-streaming two-pass is highly recommended.* Many other encoders use a significant amount of lookahead in one-pass mode, while in one pass theora is a live-streaming-sutiable zero latency encoder.* The only way to do a apples to apples comparison is to either run both encoders as two-pass or both as zero latency,* and make sure to use the equivalent buffering constraints on each.
So I guess when your running ffmpegtheora by default it's designed to suit the needs of people using it for streaming. While the h.264 encoders are typically doing high quality. Making a somewhat unfair comparison.
Not that I think that this will make a serious improvement in Theora comparisons against H.264, but it may help out quite a bit if your trying to compare it against Mpeg-4 ASP or MPEG-2.
benwaggoner
2nd March 2010, 22:12
Something similar applies to AVC and VC-1, even to RM: Of course they use a more efficient encoding technology than MPEG2 and MPEG4-ASP; but even more important - especially for lower bitrates - are their technologies of suppressing noticable artifacts (e.g. "In-loop deblocking"): They do not only have "less loss", but especially also "less annoying loss".
And that is hopefully also the chance for Theora to grab its own piece of the big cake.
Except is there anything that Theora can do that isn't applicable to other more efficient codecs?
Psych tuning is great, but for all the great work done with LAME, the most basic HE AACv2 implementation would mop up the floor with it below 64 Kbps.
Good compression is a combination of psych tuning WITH the available bitstream tools.
LigH
3rd March 2010, 13:44
Unfortunately, some of the most efficient algorithms are patented (starting e.g. with the "Arithmetic Code" which has an advantage over the other integer entropy codes like Huffman; see CABAC vs. CAVLC), and therefore can't be used by projects which claim to stay patent-free.
It was a heap of fortune that the Vorbis algorithms turned out to be so efficient and convenient (if I understood them correctly, they are based on a kind of vector quantization). Like a music chart one-hit-wonder: The success of the second song release is not comparable... ;) - And so you can not expect Theora to have the same advantage over MPEG4 as Vorbis had over MP3. Video is not simply "like audio with an additional dimension". :D
Dark Shikari
3rd March 2010, 20:12
Unfortunately, some of the most efficient algorithms are patented (starting e.g. with the "Arithmetic Code" which has an advantage over the other integer entropy codes like HuffmanNo it isn't. Range coding was invented in 1979. Some specific implementations designed to be faster are patented, but range coding as a whole is not.
dapperdan
23rd March 2010, 14:12
For more on the patents on Arithmatic Coding see this post by one of the Dirac designers:
http://lwn.net/Articles/272973/
short version: the basics are too old to be patented, but many optimizations are. But many of these optimisation techniques are now so old as to be redundant. They seem to think their optimisations are pretty spiffy, based around making it easy to parallellise and were going to patent them, but then just published instead.
I guess a relevant question for this thread is to ask whether this can be transplanted into Theora in an advanced profile or new version and what kind of benefit that would provide.
kosmonaut
12th April 2010, 22:41
Looks like the situation just got more interesting.
Google to Open-source VP8 for HTML5 Video (http://newteevee.com/2010/04/12/google-to-open-source-vp8-for-html5-video)
CruNcher
14th April 2010, 19:14
Yep it's exciting to think about especially as it will be for sure directly sponsored by Google so Summer of Code this year could get really interesting if it's not just a rumor @ all, but it looks legit and in reality many expected it to happen :)
I guess everyone @ Xiph is currently Dancing on the Desks getting such a major update and support directly from Google in form of On2s Engineers vs MPEGs H.264, though most probably a lot visual tweaking has to be done before it could stand against H.264 (it's very well known how almost possessed ON2 was with the word PSNR) well especially side by side to X264. Also some Xiph guys maybe wouldn't need to imagine that the Visual quality is on par anymore, because it might be true by then who knows ;)
Beating Dark_Shikaris Psy work he done over the years on H.264 will be for sure a Adventure for On2(Google), Xiph and whoever joins by then :)
Also im pretty sure we gonna see alot of new faces appearing and the reason is simple who doesn't want to be as creative and work on a Video Technology that is supported by Google and especially a pretty new codebase that Theora didn't offered to begin with, it's crazy to think about having a Open Source free Patent alternative to MPEG with a pretty new codebase to work on for the future, new fresh ideas can emerge from that and not so limited like with theoras current base i hope :)
Think about it as Googles Project Mayo, though the main difference is no one stands above it and gives the direction to the people bellow, this is gonna create the direction actually it's up to Google how far they wanna go with this :)
Though MPEG is already far with the research on H.265 but im pretty confident that VP8 Open Sourced could drive up fast , though when you work on this you have to throw away a lot of things and completely free your mind and come up with new unpatented ideas :) that's a real research challenge in the Signal Processing field and especially Video (especially vs a such big entity of knowledge that MPEG stands for).
iwod
15th April 2010, 03:47
I am not getting it. Open Sourcing VP8 would means i could contributed to VP8 using patented software techniques and theoretically sue myself or Google for it just because i hate VP8 so much.
It would be better if RMVB opening up since they have much higher usage on the Internet.
Mr VacBob
15th April 2010, 05:05
Google's CLA (http://code.google.com/legal/individual-cla-v1.0.html) covers that.
littleD
18th April 2010, 14:16
Hmm what about decoding theora in hardware? Blog (http://code.entropywave.com/leonora/)
Results of theora playback (http://blog.mjg.im/2010/04/16/theora-on-n900.html)
MfA
18th April 2010, 23:07
I still have my doubts about how absolutely necessary b-frames are. I think video codecs are just lacking the tools to do pure forward coding right ... we need a forward only direct mode for forward coding with multiple references for instance (which extrapolates motion, like it now interpolates it for the bidirectional mode).
LigH
19th April 2010, 08:58
So far I believed that the "opening door" example is quite convincing... but you surely did more tests than me.
kosmonaut
30th April 2010, 23:05
Looks like Steve Jobs is threatening to let the other shoe drop: group organizing to enforce MPEG-LA patents against Ogg Theora (http://newteevee.com/2010/04/30/apple-may-be-gunning-for-open-source-codecs/).
If it was limited to Ogg Theora, and not the rumored royalty-free VP8 from Google, I doubt Jobs (or anybody else) would really care, so this has to be ultimately about VP8, imo. Surely Google did due diligence to determine if VP8 really could be royalty-free though?
Dark Shikari
30th April 2010, 23:19
Surely Google did due diligence to determine if VP8 really could be royalty-free though?Microsoft did that with VC-1 and look where that got them.Looks like Steve Jobs is threatening to let the other shoe drop: group organizing to enforce MPEG-LA patents against Ogg Theora (http://newteevee.com/2010/04/30/apple-may-be-gunning-for-open-source-codecs/).
If it was limited to Ogg Theora, and not the rumored royalty-free VP8 from Google, I doubt Jobs (or anybody else) would really care, so this has to be ultimately about VP8, imo. I'm pretty sure Steve Jobs is just trolling freetards. Remember, this was just sent as a short response to an email, not a big official statement. Not that there's anything wrong with a good troll, and Steve Jobs is a veritable master of it.
In short:
Odds Steve has any knowledge about such a plot: low.
Odds such a plot exists: medium.
Odds everyone is just getting trolled: high.
kosmonaut
30th April 2010, 23:27
I'm pretty sure Steve Jobs is just trolling freetards.
I suspect whether it's a trolling or not, he is going to provoke a big reaction out of it, that's for sure.
Also, while it was just one email, I don't think Jobs does anything (in public) without thinking it through.
Maybe Jobs should troll on that, practical example:
Running chromium on karmic (with non-free codec set installed) will return me theora version of the video in most cases, even where h.264 version is available, so Jobs has my support on this one (just this one). :devil:
edit: http://www.apple.com/hotnews/thoughts-on-flash/
lych_necross
1st May 2010, 07:30
I prefer the pre-surgery Steve Jobs. He seemed less trollish before he got sick. Here's what Monty Montgomery said in response:
"Thomson Multimedia made their first veiled patent threats against Vorbis almost ten years ago. MPEG-LA has been rumbling for the past few years. Maybe this time it will actually come to something, but it hasn't yet. I'll get worried when the lawyers advise me to; i.e., not yet.
The MPEG-LA has insinuated for some time that it is impossible to build any video codec without infringing on at least some of their patents. That is, they assert they have a monopoly on all digital video compression technology, period, and it is illegal to even attempt to compete with them. Of course, they've been careful not to say quite exactly that.
If Jobs's email is genuine, this is a powerful public gaffe ('All video codecs are covered by patents.') He'd be confirming MPEG's assertion in plain language anyone can understand. It would only strengthen the pushback against software patents and add to Apple's increasing PR mess. Macbooks and iPads may be pretty sweet, but creative individuals don't really like to give their business to jackbooted thugs."
tuqueque
18th May 2010, 21:02
Theora (Ptalarbvorm) Demo 9 is out!
http://people.xiph.org/~xiphmont/demo/theora/demo9.html
creamyhorror
19th May 2010, 03:10
I still can't get over the fact that Ptalarbvorm was selected from a list of sarcastic joke names made up by a random Redditor :eek:
Midzuki
19th May 2010, 05:16
I still can't get over the fact that Ptalarbvorm was selected from a list of sarcastic joke names made up by a random Redditor :eek:
The following is even worse:
Ptalarbvorm' [Tall' - ar - vorm] (the P is silent, the b is optional)
I will keep pronouncing both the P and the b in the word "Ptalarbvorm", period. :devil:
P.S.: And more importantly,
¡ http://www.mediafire.com/?a0ynzttdzzd !
Well Someone could just Fork the code an market it with some proper brand name. God knows how they continue to come up with all these AWFUL names........
Anyway.... Theora looking good? I cant believe i am saying this, it is a really great looking improvement finally.
The only problem is? Development is slow, It was nearly a year since last update, and properly take another year to get 1.2 shipped...
tuqueque
19th May 2010, 17:57
Development is slow, It was nearly a year since last update, and properly take another year to get 1.2 shipped...
I don't think so... Probably in something like 2 or 3 months we will see a first Ptalarbvorm alpha out and in something like 5 months, oficial 1.2 version could come out...
At the end of the last demo (9), there's already some very early discussion about the next iteration 1.3 codenamed Eyjafjallajökull ...err... Volcano... So I think final 1.2 is not too far away.
Apropos Steve Jobs trying to keep the iPad "clean of p*rn" and "clean of Flash" -- now YouP*rn supports HTML 5. Go figure.
I still have my doubts about how absolutely necessary b-frames are. I think video codecs are just lacking the tools to do pure forward coding right ... we need a forward only direct mode for forward coding with multiple references for instance (which extrapolates motion, like it now interpolates it for the bidirectional mode).
no b-frame because it is still iffy about the patent issues, so On2 tried to avoid that
http://blogs.sun.com/openmediacommons/resource/history.jpg
tuqueque
18th June 2010, 03:47
A first look at the development build of Ptalarbvorm for general users... Grab your ffmpeg2theora-Ptalarbvorm binaries...
http://lists.xiph.org/pipermail/theora-dev/2010-June/004164.html
Enjoy... I know I will :).
Midzuki
18th June 2010, 04:32
A first look at the development build of Ptalarbvorm for general users... Grab your ffmpeg2theora-Ptalarbvorm binaries...
http://lists.xiph.org/pipermail/theora-dev/2010-June/004164.html
Enjoy... I know I will :).
Yeah!, about time! :devil:
P.S.: :thanks:
nakTT
30th July 2010, 02:59
is it competitive now?
tuqueque
3rd August 2010, 17:45
nakTT, that's really hard to answer... Maybe for someone it is and 5 minutes later, someone else will reply saying that is crap...
I will try to give an impartial answer though... For the test I made, quality wasn't as better as I expected... There was some improvement, especially on the "dirty window" problem fixed by a better SKIP behavior (check http://people.xiph.org/~xiphmont/demo/theora/demo9.html for more info)...
I'm still waiting for a couple of improvements on this Ptalarbvorm cycle (Temporal RDO and relative chroma resolution at low bitrates) before making a final judgment... So far, is better, but not as good as I frankly expected... But There's room for improvement so I don't rush.
Midzuki
9th February 2011, 14:34
Well, the very first builds of the "ptalarbvorm-ed" :devil: ffmpeg2theora did include a usage-message, such as:
ffmpeg2theora 0.27 - Xiph.Org libtheora 1.2.0alpha 20100924 (Ptalarbvorm)
Usage: ffmpeg2theora [options] input
General output options:
etc etc etc
Now, the latest nightly builds from firefogg.org show only this:
[C:\downloads]
=>ffmpeg2theora
[C:\downloads]
=>
:mad: :mad: :mad:
P.S.:
firefogg.org/make/index.html says:
Please first install latest Firefox. Then revisit this page to install the Firefogg extension.
Me, install Firefox ?
Skrew them !! :p :D
nakTT
22nd January 2012, 07:27
Anyone know how good is theora right now? Any major update?
Dark Shikari
22nd January 2012, 07:30
There hasn't been much work on Theora in the past year because most of those involved have been quite busy with the standardization and finishing of Opus (Celt+SILK combination).
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.