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
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.
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.
> 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?
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."
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.
By allowing more people to move away from Windows and to Linux.
Beings aspergers AND pulling chicks... I enjoy the challenge!
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?
Much the same way bitching about medicore driver support on slashdot does.
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
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
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.
Dumbass.
Gnomemeeting already worked.
Gaim-vv already worked.
The videoconferencing was already available.
The issue here was _interoperability_ with MSN using friends, where Microsoft played as an obstacle, now removed.
"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.
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
are you on drugs?
linux right now supports MORE hardware out of the box than Windows XP.
yup, you heard me. if I install mandrake 10.1 it's ready to go. windows xp I have to download drivers for the devices... oh and that scanner, where is that scanner's driver...
linux just works, quit your blatent lying.
It sure sounds better than "Linux is better, and that's why it won't let you video chat with MSN users.".
From the looks of things, Gaim-vv can only -receive- Yahoo webcam broadcasts. At the moment, it can't receive anything else, nor can it broadcast a cam stream.
I'd like to see this library integrated with Gaim-vv asap. It only makes sense, after all. That way, I'll be able to video chat with my Windows-only, Official-MSN-client-only friends without too much trouble.
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?
Umm, let me correct you there: gaim-vv and msn videoconferencing no longer work as of the latest gaim-vv release, for which the changelog notes that it will be using Farsight for msn webcam/videoconferencing...
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
You are right.
I hadn't seen that 1.2.x release.
I stand corrected.
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...
First off, I'd like to say that I use Windows, Linux (since 94) and Solaris (5 years) equally.
Linux supports more hardware out of the box than Windows XP? Depends. Are you using a 6 CD distribution vs an old copy of WinXP (1 CD) that doesn't have any service packs?
2 weeks ago, a co-worker decided to try Linux at home. Even went out and bought a new machine. Guess what? 4 *new* distributions and couldn't get Linux working. Why? His motherboard is too new and is still not supported. Linux won't even work. Popped Windows XP in and worked like a charm.
So much for linux 'just working'. I love linux for what it does (server), but as a desktop for the everyday Joe, it's still not there yet.
It's better to burn out than to fade away
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.
First off, I use Windows for work and entertainment, I love linux and what it stands for, dont get me wrong.
/etc, various settings and applications.
I have alot of beefs with Linux and I just wont use it for anything other then some type of server.
Linux doesn't just "work", unless your using console only...for a server, etc..
X is a pain to set up and having to recompile kernels constantly to try and get your hardware working is not fun.
Here's what I experience when installing Windows:
1) Install CD (only 1)
2) Check out windows update
3) Visit Nvidia or ATI for the latest drivers.
4) Download my favourite programs, pretty much just firefox, media player classic, winamp and bittorrent.
5) Spend 1hour "securing" the box via mmc, etc..
6) Install any apps/games I plan on using.
7) Done in less then 5 hours.
Now lets see for linux:
1) Download a distro (anywhere from 1 to 6 CDS)
2) Burn all the discs (anywhere from 1 to 6 CDS)
3) Install the distro (already several hours have passed)
4) Run linux for the first boot, spend hours tweaking
5) Try to compile the kernel of the day and cross my fingers that the compile doesn't crap out.
6) Reboot after a successful compile and pray the system still boots/works.
7) Spend hours trying to get X to work properly.
8) Spend hours configuring whatever window manager/destop environment I choose.
9) Install some other applications that werent on the 1 to 6 distro CDS
10) Play the missing required dependency game when trying to install misc. applications.
11) etc.. etc..
It can take me days to get a fresh linux install to how I want it, and I've used linux for ~8 years. Windows takes me a couple hours.
And windows hardware detection "just works", I dont need to recompile any "kernels" or play around with a bunch of text based config files. It just works!
I use linux for servers, thats what its good for, I use windows for desktop, thats what its good for.
I long for the day when Linux will be worth my time on the desktop/workstation end. Note: it really does depend what distribution you use. I find Mandrake has the best hardware detection, but its become bloated as hell. I prefer slackware for the non bloating, at the expensive of having to tweak everything by hand.
I am not a troll or flamer, I like linux, it just has a LOOOOOOONG way to go usability wise.
>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.