Theora Codec Ported to Java
fons writes "These guys have ported the Theora codec to Java. This means that ANY Java-capable browser can now be used to watch video streams on the net (clients don't have to download a player!). You can watch a demo showing some boring guys sitting in the office. At least the music is ok :) On their site you can find a link to an interesting interview with the
boss, and it looks like more cool stuff is coming soon."
Cb..
Now I can watch porn everywhere!
11 1101 1011111 0100 000 110 1011111 0101 10 01 1011111 101 1 011 1011111 0 1111 11 111 1011111 101
Was linking to a video feed from slashdot's front page a mistake?
Given all these reports that Java code can be made almost as quick as c/c++ (especially when number crunching), if not faster, why hasn't this happened before?
;)
Is it just that bit hackers are more comfortable in c?
I would there would be a big benefit to having decoders/endcoders in java. On that note it would be nice if there were one defacto decoder/encode instead of ffmpg, jpegtools, transcode etc.
Sorry for the ramblings, I guess everyone likes to re-invent the wheel
This guy has been working on an mpeg-4 and mpeg-1 Java player for several years and has said that it will be released within the month. The demos on thsi site, although basic, look promising. His Mpeg-4 video can apparently go full screen given enough cpu. The good bit? it's going open source.
That is just an API that allows you to access and control a native QuickTime installation through Java. It's not a QuickTime player written in Java. Quite different.
Yes I am.
- - Sha la la la . . .
For Real and Apple to reimplement and promote their own codecs the same way. Well, if we really want it - because Theora really does well.
The demo on Firefox w/ XP professional (i'm at work) keylocked the machine (eg, press caps lock, no light) and it appeared completely frozen until a couple three-finger-salutes woke the machine up enough to use the Back button to get out of the page.
I didn't hear any audio, but the video quality was wonderful. I'd love to dump Real et al. for this sort of thing--streaming media servers just tend to suck (anybody who's installed RealServer on a unix box will likely agree with me).
Moreover, if you have any sort of secure web application that has streaming video, you can just stick this in rather than trying to wrap the same security concept around two different application servers. That alone is Very Cool.
"[T]he single essential element on which all discoveries will be dependent is human freedom." -- Barry Goldwater
yep, the volume is pretty low thou
If my answers frighten you, stop asking scary questions.
Makes me curious - at this point, apparently, what Theora most needs is optimization of the code to make it work faster.
How optimized is this Java port of the codec, and will it be possible to compile it to 'native' code using GCJ for maximum performance?
Hacker Public Radio is our Friend
BTW, I did not realize that mine was the usual FP!!
Cb..
For some reason it seems to load faster than realplayer, quicktime or windows media player.
.Net apps like RSS Bandit! Its actually a real option for anyone wanting to stream video.
/.
I am using Java 5 RC which for me GUI program feel faster than
Also, please note I do feel dirty calling it Java 5...
And nice work putting a video stream on the front page! Thats nice and considerate
You can see an mpeg4 video demo here. The in-page JavaScripting seems broken, but the video and audio is good.
Don't discount the business value of these open formats - for a hardware or tools vendor it is one less license to pay.
Clients still have to download the player, it's just that the player is now in a form which is downloaded with less effort.
[
This site (playerless-streaming.org), reviews all fo the different options for this sort of technology.
Yeah I saw that but figured it's way too late over there for them to be working. They even said they'd try and leave music on at night :)
-- taking over the world, we are.
I used to work at that place during the dot com explosion, and they had some pretty neat Java-based video stuff that ran very nicely even on modems. They even ended up making the broadcast software Java-based so that they didn't need to install software anywhere. Of course, the downturn took it's toll and I think it's run out of some person's house now or something.
There is a difference between "insightful" and "inciteful" other than spelling.
Since there's a port to Java, is there anybody willing to port to .NET or Mono?
XMMS. http://www.xmms.org/
It's free software, you can get the C or C++ source code right from their website.
http://www.theora.org/
Just by chance, did you change your USER_AGENT string somehow ? If it is set to MSIE or something else than Mozilla/Gecko, Java will crash. This is a know bug of SUNs JDK :((
So you think with Flash you will be able to develop new codecs like this without updating flash plugin in your computer? You are confusing things badly dude..
the people using activex are either:
1. microsoft
2. retarded
3. all of the above
the people using flash are either:
1. 14 years old
2. incredibly annoying
3. advertisers
I just tried it in both Firefox and IE. It looks great (sounds good too) and it loads really quickly! I hope sites start switching to this rather than using real media or WMV streams for windows media player.
Really? A url would be nice dude - not that I don't trust you but it kinda seems to defeat the point a bit - as well as the story - surely this isn't just Quicktime and IS actually Theora?
Seems to work pretty well on OS X 10.3.5 and Safari. This is a good idea and could really help Theora gain acceptance.
of cpu/cpu usage do you have? It chokes pretty badly on my B/W G3-400.
Comment removed based on user account deletion
This is what I did to install Java actually. Oh well, I installed the 1.5 (rc) as suggested by another poster, and it's working now. Thanks for the help!
Make sure the java plugin is a symlink, NOT an actual file. Whenever I have the java plugin as a file (i.e. I use cp and instead of copying the symlink, it translates the symlink and puts the actual file in there), every java applet in firefox will crash firefox. I have to recreate the symlink (or use the cp switch so it doesn't translate the symlink, I forget what the switch is). Try it out. I'm on mandrake 10 and on my system the location to symlink to is: /usr/java/j2re1.4.2_04/plugin/i386/ns610-gcc32/lib javaplugin_oji.so
so, just use ln -s to do your work for ya, hopefully you can find libjavaplugin_oji.so :)
soo.. you've been able to watch theora streams with some player that has the decoder written in flash? yeaah.. sure.
I wish this would have been around and in use around the spaceshipone flight, wouldn't have had to jump around through hoops getting new mediaplayer and new new realplayers.. could just have pointed at some page and it would have *just worked*, no messing around with players or codecs.
besides, this isn't a java 'feature', a feature of java is that you can actually write something like this - just try to get even near in actionscript!
world was created 5 seconds before this post as it is.
The guys at BannedMusic.org are using a similar system to make it simple to use BitTorrent. This combination of technologies could be the kick in the butt that Open Source needs to reach the mainstream.
.torrent files to begin downloading. And they'll be able to use other sites that require BitTorrent.
A quote:
The best solution seemed to be a simple modification of BitTorrent: an installer that runs BitTorrent and begins download of an included torrent file. Windows users can click on the "Easy Download" button on an album's download page to get a 3mb executable. When they launch this executable it installs BitTorrent (which happens very quickly in the background) and immediately begins downloading the album they were seeking. After they've used the "easy download" once, they can simply click on the
What if Digg added local news and a Slashdot inspired comment karma system? ---
http://houndwire.com
I wish I could think of something interesting to say, but I'm just too blown away to say anything. Absolutely amazing.
Now we only need an ActiveX plugin which will automatically download and install JRE on one's computer, and it will Just Work!
we've put up another mirror at http://194.78.112.13:8080/cortado/index.html The main site is pulling about 55Mbit/sec and is saturating at 2403 peak clients, it's still alive and kicking though :) enjoy! the fluendo team.
Comment removed based on user account deletion
what is that dude doing to the giant penguin doll... that's just wrong...
and there he went and knocked the camera off its mount. sweet!
MORTAR COMBAT!
Flash has video with a wider range of support browser wise (java disabled...) then java. So thats a viable arguement.
This is way old news about the interview with the CEO over at osnews.com. The Java port was the minor story. The real story was about their work with Theora in streaming projects.
Yea, I wrote my OS in action script. It's pretty much the best programming language out there. And I mastered it in like a week, it's pretty awesome. My middle school teacher is prolly the only person who knows more, but he is the one that taught me.
Reinvented really.
4 /0 9/10/2053245&tid=108&tid=97&tid=95&tid =1
The Livecam server we developed in 1995 and dominated the adult industry already did all this and supported more viewers with better quality.
We supported Motion JPEG or H.236 in 1999 with GSM audio, with 20Kbps to 70 Kbps streams.
I just love it when someone else come out with it all over again and everyone thinks it's new.
----Original Message-----
From: James S
Sent: Friday, September 10, 2004 5:18 PM
To: sokol@videotechnology.com
Cc: Jesse Monroy
Subject: Hey These guys just invented the Java player we created in 1999
Check this out. It's our player.
http://developers.slashdot.org/article.pl?sid=0
James
I am always doing that which I can not do, in order that I may learn how to do it. - Pablo Picasso
Yeh I was still hearing the sound too, I had to close all Java applications and Firefox to get it too stop. By any chance are you using Java 5 RC1? It has the semi VM sharing in it (on windows at least you can open up a bunch of Java applications and you'll only see one java.exe in the task manager ), I wonder if that has something to do with the sound not stopping?
Lots of people have built Java applet video players. Fluendo isn't claiming to be the first; they're claiming to have the first Theora Java player.
No really, QuickTime for Java is just a JNI wrapper around regular QuickTime. Notice how QT4J is only for Mac and Windows. JMF can read some QuickTime files, though.
Do you have the source to your software available for all to use, free of charge? No? Didn't think so.
These guys aren't claiming to have invented a java media player, they simply ported an open source codec to a different platform. And they're doing it for free, for anyone to benefit.
everyday is another shooter.
just feel lucky you have java in debian, I dont :/ just the way I dont have KDE 3.3 and the newest X.org .. so much for cutting edge testing sarge :/
Go grab those torrents.
What's really interesting is to see such serious DSPing work so well in Java. Which doesn't have a very good reputation for this sort of thing. I wish I knew how much improvement comes from improved Java VM, and how much is just because everybody's running 1 ghz systems.
The villian, his boss, rips off the codec and has him killed.
This technical detail was probably the most interesting part of an otherwise thoroughly mediocre movie.
BTW, I kind of had the impression that his codec generated some sort of code. That code is then transmitted to the client and executed, and is ouput is the set of pixels seen on the screen.
The world will not get better through technology. We must seek to be better people.
Just for interests' sake, that technique (code that creates the pixels) does exist, but isn't in common use any more. Back in the days of dos games, when performance was critical, self-drawing sprites were used - the code would output some executable code that would drop the sprite into video memory. Since it was moving direct values into memory, instead of reading memory and writing back, it was faster. However, as I said, the technique isn't used any more, because it's just too troublesome for what is now a minimal performance gain.
-ReK
md5sum -c reality.md5
reality: FAILED
md5sum: WARNING: 1 of 1 computed checksum did NOT match
UT 2004 and Doom 3 both use OGG Vorbis to do their music. Well between these two engines, you are talking a lot of games. A very large number of games start by licensing either the current Epic or iD engine since they are so solid.
These two alone will provide a big boost for Vorbis in the gaming world.
I belive there are quite a few security issues with older versions of Fire*.
HAND.
Precompiling does offer advantages, at least at this point:
1) More efficient binary code. Seriously, if you think you can make Java generate more efficient code than the Intel C compiler in a general purpose situation, you be my guest but you are going to lose. Intel has an extremely efficient compiler for the precompiled world and in general precompiled stuff, even on just an ok compiler, is faster than JIT.
2) Access to native resources. Java abstracts everything by necessity to pull cross platform compatibility. Fine, but there is a reason for things like DirectDraw, ASIO, OpenGL, etc to exist. For video, using DirectDraw is a major performance boost. You can do it C++, you can't do it in Java.
Now neither of these are things that are necessiary perminant truths. It is, in theory, possible to make a JIT compiler generate as or more efficient code to a precomiler. It is also possible, in theory, to modify Java such that it can directly access accelerated OS features.
However the theoritical future has nothing to do with now. At this point, precomiled code is more efficient (in some cases quite a lot) and Java does not provide access to accelerated features. There is a REASON that Doom 3, UT 2004, etc are written in a language that precomiles to native code. Both seek to be cross platform (and UT 2004 is to an amazing extent) however Java is NOT the right tool for them at this time.
So while I certianly think something like this is cool and valuable, and am glad to see it implemented, don't think that it'll be as fast or efficient as a native player compiled with ICC.
some boring guys sitting in the office
Like, whaddaya expect from Java programmers? Jeez!
(I do Java programming so I know.)
I hadn't the slightest objection to his spending his time planning massacres for the bourgeoisie... (P.G. Wodehouse)
14 year old incredibly annoying advertisers. That explains a lot about the web.
Analogies don't equal equalities, they are merely somewhat analogous.
a plugin... OTHER THAN JAVA!
Most new PCs ship with Sun's VM pre-installed (Dell do this), so no need to install anything.
What VM version? The Java console should say; I recommend either the latest 1.4.2 release, or the 1.5.0 beta (RC2).
don't ask, I have a split personality
Yes, the applet does use JOrbis.
I kind of had the impression that his codec generated some sort of code. That code is then transmitted to the client and executed, and is ouput is the set of pixels seen on the screen
:)
I seem to remember the creator of Vorbis (Monty) writing once that he wanted to make an audio codec exactly like that but that there wasn't enough time. The priority was to get a working codec out there, which later became Vorbis.
I can't seem to find anything about it on Google so it's possible I imagined it
the people using flash are either:
1. 14 years old
2. incredibly annoying
3. advertisers
The only site I know that uses flash properly.
example
Comment removed based on user account deletion
Keep in mind I'm only using Intel Celery flavored PIII coppermine], with an average load of ~5% CPU utilization for the GUI.
My impressions? It couldn't keep audio, yet alone video going smoothly at 100% CPU utilization. This is with JRE 1.4, as another poster said, perhaps (hopefully) this would be better with version 1.5.
I would hope that they can get this to work on much lesser hardware, because IMO the embedded market is what Java is slowly headed towards. Remeber, Java was originally designed to run on embedded hardware, when Sun realized the embedded market just wasn't there yet, the decided to unleash Java on the internet. This is a very cool technology indeed. No codecs to worry about, no media player to install...just an OS with JRE installed.
As another poster said it seemed to use pretty low CPU utilization under Linux. 30% on a 1.2ghz processor and my lowly 566mhz Coppermine Celeron can't keep up at all? Is the 1.2ghz processor that much faster? It shouldn't be even 200% faster than the PIII (well, better FSB helps I guess)
Just some thoughts from the sidelines...
zosX
zosxavius photography
Now they are watching Shrek 2, but I only hear the sound, no video. Quality is quite good. It must be an illigal download btw...
Java applets have been around for some time now. The number of remote system exploits has been *extremely* low in the last few years. (Not that the total number of exploits has been very high.) In fact the vast majority of Java expolits through an applet has been social engineering (a Java window popped up that looked like a system dialog) rather than technical exploitation.
Basically in order to install spyware with Java, you have to set up a web page (accountability), get people to come to your page, find a bug in a particular browser/VM combination that allows remote access to the file system AND allows native code to be executed.
As it stands today, I have never heard of an actual case of a web site installing spyware on a system via a Java applet. Of course this isn't to say that it could never happen. Anything could happen. But the fact that I have never yet heard of it happening in the ten years that Java has been released versus the number of spyware installs via ActiveX speaks volumes to me.
- I don't need to go outside, my CRT tan'll do me just fine.
I'm getting audio on XP home.
-- "Quis custodiet ipsos custodes?" -- Juvenal
I'm getting about 30-40% CPU usage (of 200% for this dual proc Mac), with stuttering performance (though that may be due to bandwidth limitations on their mirror). Safari, 10.3.5, 1GB RAM, 2x2GHz G5. Plus there are no video controls for pause, whatever, but this is a live stream, so I'm not sure there are supposed to be in this mode. A big meh from me...
"I like systems, their application excepted", George Sand (French)
...there has been some cases where it's been possible, but that was using the horribly out-of-date MS JVM and even that's now been patched.
I am NaN
are overflows. I believe a XUL vulnerability was recently discovered (Revealed? I seem to recall something about it having been known about for ages, just not publicly) which would leave you vulnerable regardless of W^X, stack prot., whatever else you have. Welcome to the wonderful world of a turing complete UI language.
HAND.
The Theora Java thing is an implementation of Theora in Java, the Quicktime Java thing is simply a wrapper round the standard Quicktime stuff.
I think you were at cross-purposes there.
404 Not Found: No such file or resource as '.sig'
Well, if you want to get technical...
All data on a computer is a "program" of one sort or another. I mean, an HTML document is a "program" that a web browser runs. It's just that the web browser limits the instruction set that the HTML document can use. Same can be said for a JPEG or a Word doc. At the other end of the scale, even direct "executable" files tend to run on some idealized virtual machine that looks like x86 CISC, but is really more like a RISC machine under the hood. OpenGL itself is a virtual machine that hides the specifics of graphics card implementations. You get the idea.
All data formats fall somewhere on the continuum between passive data and active programs. The way we decide what to call it is usually based on the scope of the instruction set used by the program, and what virtual machine is required to run it. It all depends on your perspective.
"In a 32-bit world, you're a 2-bit user. You've got your own newsgroup, alt.total.loser." -Weird Al
Hey Publishing in JAVA is practicaly Open Source since the code decompiles back to very clean source with original variable names and everything so most JAVA players are derivative works. See Mocha or JAD for decompilers.
BTW I am assembling a list of all Java streams systems
I am always doing that which I can not do, in order that I may learn how to do it. - Pablo Picasso