Logitech MSN Webcam Codec Reverse-Engineered
Alexis Boulva writes "Tonight, Ole André Vadla Ravnås of the Farsight project (LGPL), which 'is an audio/video conferencing framework specifically designed for Instant Messengers' for the GNU Linux operating system, finished coding a release candidate of libmimic, 'an open source video encoding/decoding library for Mimic V2.x-encoded content (fourCC: ML20), which is the encoding used by MSN Messenger
for webcam conversations.' Ole, on the libmimic site, remarks that 'It should be noted that reverse-engineering for interoperability is 100%
legal here in Norway (and in most European countries).' Looks like the Free/Open Source Software movement is very close to closing up one of the most noticeable software gaps remaining from its glorious efforts."
The only thing preventing the free / open-source community from reaching fruition is access to young 18+ sluts on webcam.
Thank you Ole André! You've given us geeks accessibility to the last 5% of the Internet's perversity that we couldn't access before.
God, I love you, man! I knew this glorious day would come!
/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i
OMG Firefox is teh exploitoitable!!!!!
Can't wait to see video conf between windows and linux platforms . Until now a lil is achieved by Skype , which makes it possivble for linux and windows users tohaev voice chat . period. nothings else.
Good! now I don't have to boot into Windows to cam whore. I just need to get the cam working with Linux now. ;)
Kudos, general.
i like to grabaulsa
I Qwn u all. First post. OOhh yes.
So you can now finally watch your fellow linux nerds hacking their fav open source project.
Nice, gotta give the guy props for that.
That is not a trivial undertaking at all.
I tip my hat to ya.
Pete
What is the current status of legality of reverse-engineering of software in the US? I know that hardware reverse-engineering has stood up in court time and time again, but software is a different story. Especially with a powerful plaintiff such as Microsoft.
--
NoVA Underground: Where Northern Virginia comes out to play
Someone needs to get this in Kopete for KDE 4.
yeah but i bet you that this really sucks
> Looks like the Free/Open Source Software movement is very
> close to closing up one of the most noticeable software gaps
> remaining from its glorious efforts
Why not use ichat/AIMs video protocol. It's a fully open standard, described completely on Apple's developer site. All there ready to go.
Or is it more important to chase what Windows does, rather than what Works?
Wikipedia has a webcam feature. You can view my WikiCam here
Looks like the Free/Open Source Software movement is very close to closing up one of the most noticeable software gaps remaining from its glorious efforts."
That is until MSN 7 includes a new codec or in other ways blocks this implementation
Athletic Scholarships to universities make as much sense as academic scholarships to sports teams.
It gives me comfort having no evidence that the person I'm chatting with is a trucker called Bubba.
Looks like the Free/Open Source Software movement is very close to closing up one of the most noticeable software gaps remaining from its glorious efforts. I'm sorry. How does disassembling a program address mediocre driver support?
"Looks like the Free/Open Source Software movement is very close to closing up one of the most noticeable software gaps remaining from its glorious efforts."
Could someone please explain to me what in the hell this line means? It could be that it is only 6:30 in the morning, but the way I read this line, it makes it out that the FOSS is responsible for the causing gap that they just closed. Anyone else? I would have thought Microsoft is responsible, but maybe I am missing something here......
Bryan R.
The price of freedom is eternal vigilance, or $12.50 as seen on eBay.....
This is getting crazy , why do software companies and open source developers keep spewing out endless video codecs. We don't keep seeing alternatives to TCP popping up every week, why is video so different? WHat the hell is wrong with mpeg anyway??
Until MSN changes the protocol again. Timothy's byline is imho the most insightful part of the document: it's an extract from an ancient quote that goes, "DOS isn't done until Lotus won't run". [ref].
MSN's frequent "we won't let you run messenger because we need to install crucial updates for which you need to be administrator" errors is why I use Yahoo these days, but I can see how the videocam feature would be helpful to people - and how easy it would be for MSN to change it's protocols around.
Of course, GAIM had the same problem with Yahoo messenger, and they just fought them tooth-and-nail. What I'm saying is, unless somebody really puts their muscle behind this, MSN will just keep screwing around with them.
Reverse engineering is legal, but have they no patents or copyrights? Usually they slip in some meaningless junk so they can patent it and/or copyright it. And I think most contries do have some form of patents?
HAHAHAHAHAHAHAHAHA. Sorry, that's just funny.
i say its most important, because this will help desktop users use the linux box for regular home usage. i used to find this an impediment. being able to use the webcam will help me move to linux completely for communication purposes. this has been the case for many people. for the average home user - not being able to access the webcam is a major impediment, i hope all the open-source communication sfwares, use the same! this will help change the perception for average joes and janes that linux is indeed user friendly and works as well as ms stuff
Now where is the Linux driver for the QuickCam Pro USB (dark focus ring), so that I can actually, you know, use Mimic?
Umm, how else do you reverse engineer if not from ASM. (software anyway)
If you can't read ASM then your chances of reverse engineering any IA32 program are slim to none.
Study it for a bit, it is really not as hard as you think. The quality of dissemblers has gotten to the point where they can easily show you the outside calls, params, and windows hooks.
Don't glorify it just because you can't program in anything but C++ and Java.
Real men can program ASM!
While this is a good thing we really ought to be pushing everyone towards XMPP - its just the right way to do instant messaging (peer to peer and not all on one server).
Is there Video support in the XMPP protocol ? Or a proposed extension ?
MSN Messenger is pretty unreliable with cams in my experiance, hopefully this breakthrough will allow more Win32 MSN clients as well as Linux ones. I wonder how long it will be till aMSN adds webcam support now...
90% of all video conferencing done in the professional world is based on open standards already, H.323 and H.264 are much more viable options then a propriotary microsoft product.
If linux and other GNU/GPL/open source projects are to routinely tout the viability of open source standards, why not simply use the existing and tested open sources already in use in the vast majority of VTC solutions?
Unless it's a bunch of linux users that want to taunt microsoft fans on MSN.
:::: the insomniac's digest
People can laugh and make camwhore references but at the end of the day, a large majority of windows users use it primarily for chat. With another major step towards a client that matches msn messenger in usability and functionality, I'm sure a lot more people will begin to be converted.
Looks like the Free/Open Source Software movement is very close to closing up one of the most noticeable software gaps remaining from its glorious efforts.
Don't u think that's a little over reacting to call a video codec for videoconferencing, one of the most noticeable software gaps?
The following statement is true
The preceding statement is false
Hopefully the Cereliun Studios folks are aware of this and will finally implement MSN Messenger webcam to Trillian. It's the only thing that's been missing from Trillian.
It's better to burn out than to fade away
Seems to me the Free/Open Source movement only achieved this goal by ripping off Microsoft.
No, it's more like: now you can watch windows users re-install in real time!
Get your Unix fortune now!
I hate to piggyback on your post but I wanted this to be seen.
I am currently working for a company that spends prohibitive amounts of money on videoconferencing. Not because they are stupid but rather because there are no "enterprise" quality videoconferencing products out there at an affordable price. By "enterprise" quality, I mean that the device needs to have the following:
1) PTZ Camera (PTZ = pan, tilt, zoom)
2) Complete control from remote control (including PTZ)
3) H.320, H.323 and SIP
4) Massive profit
Currently, we are paying about $50,000 USD for a dual plasma installation. While I realize that the 42" plasmas are a reasonable portion of the cost ($10,000), the rest is just a PC with a camera and some software. We don't even do any advanced multi-party capabilities - just connect to a bridge and let it do the work. It would be real nice if some bright spark would enter this market and offer something at a reasonable price (but still at huge profit).
More
this is so irconic
100% legal in Norway?
.sig somwhere
We're obviously going to have to nip this terrorism in the bud. Actually, kudos to our new Norwegian overlords...
In the unintended consequences of moronic special interest legislation department, is this the first tech breakthrough we can point at and say "Congrats DMCA, you have definitively moved progress out of the US!"?
--
OP
I had a
...in case this turns into another international incident like DeCSS. :P
All I know about Bush is I had a good job when Clinton was president.
"remaining from its glorious efforts"
And I thought I was the only one that was a member of the People's Republic of GNU.
Unstable Apps: Our Android Apps Don't Suck
Looks like the Free/Open Source Software movement is very close to closing up one of the most noticeable software gaps remaining from its glorious efforts.
Wonderful! The war on proprietary software is going well. I'm looking for a press release, does anyone know where I can contact the Open Source Ministry of Truth? Hmmm... I seem to be there.
American company (MS or any other. AOL, etc.) comes up with a service and wants to provide said service on its own terms, its own protocols, its own clients. Foreign company gleefully ignores American laws and reverse engineers American company's protocol, and you guys cheer?
What is so wrong with a company wanting to provide something on its own terms?? Your choice is to just not buy it, not to steal...er..reverse engineer it.
*Everything* is not community property you know. And you wonder why so many mainstream people look at you guys as leftist fruitcakes.
What we really need is a well defined stardart for usb video interfaces!!
Why do USB MassStorage and USB HID are standartized protocols and USB Video isn't!? I just can't understand that.
Right now is a very difficult task indentify a Linux-compatible USB Webcam... most use a combination of two chips, the CCD sensor and the USB interface. Linux must have drivers for both chips, and some combinations don't work. Worse, some manufactures mix different combinatios of those chips under one webcam model, so you can't know for sure if one model is really supported.
A real mess...
---- You know how some doctors have the Messiah complex - they need to save the world? You've got the "Rubik's" complex
Hey,
Check out the Farsight project. First step is to support all known protocols and codecs, including H264 wich the new iChat. Second step is to define our own open source protocol, based on open source codecs such as Theora.
Laterz
It sure sounds better than "Linux is better, and that's why it won't let you video chat with MSN users.".
Yeah, it's great now that non-ms programs can do video conferencing with the ms program.
But really, am I the only one that thinks that MSN's video conferencing quality is just absolutely friggen' shithouse?
Even on a 10mbit connection the frame-rate, image size and quality sucks balls!
Joe and Jane might be forgiven for asking that since this is simply a reverse-engineered MSN codec, what are you giving them that they don't already have?
Reverse engineering is understanding the behavior without looking at the innards, strictly from observing its behavior under different conditions. You could compare decompiling to learning the DNA of a critter and reverse engineering to making that critter do various things and observing what happens.
Yes, please, don't be a retard. Heaven knows there are enough of them already.
Infuriate left and right
Thanks for continuing to copy everything that closed source does. It goes to show that open source has no more innovation left. And to top it all off, theres a good bit of time wasting while doing it. I would definitely never switch to any OS that was made up of copied software.
The reason it will be patented is that if they don't, some other company can just go ahead and patent the same thing
Not necessarily. If an inventor refrains from filing for a patent but rather publishes an invention before somebody else applies for a patent, then nobody gets the patent.
I just hope this gets integrated into Adium or Fire on Mac OS X. The official MSN client sucks at the moment and MS are talking about dropping support for it entirely.
I long for the day I can use iChat Av to chat to Yahoo, AIM and MSN users.
if kenya was to physically urinate all over Norway (This is a fairly rare occurance though) as well as metaphorically then the orange dotted line on the right would indicate the most probable trajectory to ensure a good coverage
As such, as Farsight is said to have been based on disassembly, anything that touches it will become tainted and contaminated with infringement. The best the OSS videoconferencing community can do is lock it in a clean room and keep anyone who has seen the disassembly or any code derived from it away from any codebase they want to legally distribute.
Ok, you got me.
But really, wouldn't you keep a spare computer around if you had to use Windows?
(I should note, I always have my Windows jokes modded down because of my 'handle' it seems. I'm not trolling! I actually use Windows often.)
Get your Unix fortune now!
Get your Unix fortune now!
n/t
"Linux now supports all Vidcon's in the one program." Would be a lovely catch line to my mates who currently use YIM, AIM, MSN (and one uses iChat) just to VIM to their friends. I personally think Linux should be about the choice, and the more choice the better it is!
I ate your fish.
But this is a start: someone can look at this code and write a detailed spec about the Mimic stream. (Something like Apple's iChat spec.) Then someone else takes this spec and re-implements it.
This is a time-honoured method in the world of software.
Unlimited growth == Cancer.
90% of all video conferencing done in the professional world is based on open standards already, H.323 and H.264 are much more viable options then a propriotary microsoft product.
75% of statistics are made up on the spot, including this one.
Have some research to backup your claim?
...of course it costs me $19.95/month ;-)
jfwy!
H.323 is very limited; can't go through NAT, needs random open high ports, uses lots of other protocols to actually work. I don't know about H.264 but if it's even 1/10th as restrictive then it's not really suitable for the unwashed masses.
Whereas this....they click on msn (which opens automatically), click someones name then click on the camera icon and it all works regardless of what their network connection is.
OK over simplified but I think you get the general idea.
GnomeMeeting already supports H.323. So open source developers could just retire, having already "solved the problem", or they could move on, building software that interoperates with common IM systems.
I'm not a Window's hater, but I was very proud of running *just* Linux for more than 4 years (and not using the other OS for anything). Last week, I HAD to install it again, since I'm studying at the USA and I wanted to do the videoconference with my parents who are in Bolivia. I cannot wait to erase that software from my computer again, and have just Linux again.
There are a lot of inaccuracies in various posts I've seen. Instead of replying to each one, I just thought I'd write a single one. Which will get modded into oblivion, but oh well...
MSN Messenger uses the same codecs that comes with Windows Messenger. Windows Messenger ships with Windows XP. I'm not aware of any downlevel support for video on any OS other than XP/2003.
The DLLs used are DXMRTP.DLL and RTCDLL.DLL. DXMRTP contains the video codecs and RTCDLL is a signaling stack that does SDP negotiations. MSN Messenger (last I knew) used this for its video, as did AIM. AOL was prohibited from making its own audio/video components as per the special provisions put forth by the FTC during the AOL/Time Warner merger. So they used the audio/video that comes with XP.
DXMRTP.DLL contains two video codecs: H.263 and H.261. Of course, there is no reason to use H.261 if H.263 is available, which it is.
In brief, MSN and AIM both use H.263 for video. This is not "embracing and extending" -- this is pure H.263, just like NetMeeting uses H.263 for its video support.
why not simply use the existing and tested open sources already in use in the vast majority of VTC solutions?
Simple. Because non-windows users want to be interoperable with large numbers of windows users. Remember interoperability? Any claim to windows being sold in a free, competitive market is nonsense if interroperability is impossible.
---
I'm not worried about the use of DRM. I'm worried about the abuse.
Yes, this is all wonderful and amazing that we have Linux software for videoconferencing but...
How do we actually use the stuff when it's near to impossible to get any off-the-shelf webcam to actually have driver support in Linux?
Seriously, this is one FAQ I really wish was in huge bold typeface on the sites for GnomeMeeting and similar projects:
WHERE DO I GET HARDWARE THAT WILL LET ME USE THIS PROGRAM?
What kind of cameras are the people who hack on these chat clients using, how expensive are they, are they still on the market, can you get them in Australia and New Zealand, what Linux distribution do you need to be running to have out-of-the-box hardware support without compiling from source, etc.
There's the Qbik list, but it's pretty cryptic and not always up to date, and I've not yet got a simple straight list of 'these models of cameras work with GnomeMeeting, go buy them'. Why is this so hard? Why can't it be in the software FAQ? It's the number one question on every potential user's mind, surely.
You are not a brain: http://books.google.com/books?id=2oV61CeDx-YC
Reverse engineering is understanding the behavior without looking at the innards, strictly from observing its behavior under different conditions.
No, it's not. Reverse engineering, as it's most commonly used, and as it's always been used, means nothing more and nothing less than "Finding out how the thing works."
Any and every method used to do that is a form of reverse-engineering. Decompilation is such a method. It is not the only method.
The word you are actually looking for is clean-room. "Clean-room" reverse-engineering is that which is done without looking at the other's code. Or, in a less strict sense it means reimplementing something without the person writing the new implementation having seen the code of the old one. This is usually done by having one person reverse-engineer the software (by whatever method) and write a full specification, from which the implementer can work. That way, you have documentation showing that any similarities between the implementations are purely coincidental.
Yes, please, don't be a retard. Heaven knows there are enough of them already.
Perhaps you should stop flaming people over words until you actually know what they mean yourself?
Its all too true.
All you dreams come true: We are a small S/W house (9 employees) and use a web conferencing product from http://www.wiredred.com/ which gives VoIP, video, textchat, docshare, whiteboarding, co-browse, desktop & region sharing and remote control (remote control is a bit clunky compared to dedicated remote control packages-but who cares?). And, we pay a fixed fee for 5 concurrent users 24/7 service "all you can eat" - any 5, anywhere, anytime. Links to any screen and webcam and even the pro audio / video stuff. SIP connectivity later this year, included in price. Only downside is that there's no linux version but then again the VideoConf guys dont do linux either. hope it helps you collaborate!
Or perhaps a bunch of linux users that want to use webcam video with the MSN using friends? Just maybe...
H.323 isn't open. If you spend however many thousands of dollars the ITU wants for all the specs, you still can't redistribute them. And codecs are one of the worst patent minefields in the industry.
>I use Linux every day at work, and at home, but >I used to have to boot into Windows at home >every weekend so that I could actually SEE my >girlfriend.
... if you have to boot Windows to SEE your girlfriend ... man, maybe you need a new girlfriend :)
Well, this should give you a clue
I interviewed Ole André today, for the Norwegian software news site Programmer.no. In the interview, he clears up some confusion about videoconferences vs. webcams, and tells us about how it was done. The interview is available as an English translation and the original in Norwegian.
This geek claims to have two (count 'em, 2!) girlfriends - one in the US and the other in France.
Isnt over-bundling of software the reason MS got sued in the first place and one of the many points thrown against them by MS disparagers?
No. Microsoft was sued because they forced vendors to supply their browser, and prohibited them from supplying competing browsers. Vendors who installed Netscape were threatened to have their licenses to ship Windows revoked.
It was never an issue of over-bundling, but an issue of extortion.