Slashdot Mirror


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."

55 of 255 comments (clear)

  1. Wonderful! by DarkHelmet · · Score: 5, Funny
    Yup... just as I thought.

    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
    1. Re:Wonderful! by dmayle · · Score: 5, Interesting

      access to young 18+ sluts on webcam

      Yeah, sure, that's funnay and all, but for anyone with friends, significant others, family distant from them, this is a godsend. 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.

      You see, I live in France, while my now-ex lived in the U.S. On the upside, I'm now dating a French girl, but I'd still like to be able to see my mother, and my sister and brother-in-law. This way, I don't have to boot into Windows at all... (And even when if I ever have to, I'd prefer GAIM on Windows any day over MSN, which is so limiting)

    2. Re:Wonderful! by Simon+(S2) · · Score: 4, Informative
      but I used to have to boot into Windows at home every weekend so that I could actually SEE my girlfriend.


      Why? GnomeMeeting is compatible with Netmeeting on Windows (both use the H.323 protocoll). You can just use that.

      Anyway, it would be grat if this project would be somehow implemented by gaim.
      --
      I just don't trust anything that bleeds for five days and doesn't die.
    3. Re:Wonderful! by dmayle · · Score: 3, Informative

      GnomeMeeting is compatible with Netmeeting on Windows

      Maybe, but H.323 (the network protocol *meeting uses) doesn't pass through firewalls without an awful lot of effort. It can pass through a Cisco PIX (en expensive, but very good professional firewall), but I don't know a single consumer grade firewall that can pass H.323, which means that at least one of the ends must be unfirewalled (or using firewall software only). In that case, whoever is unfirewalled needs to be the receiver of the call. It's very limiting, and doesn't suit many needs.

    4. Re:Wonderful! by ilithiiri · · Score: 5, Informative
      Anyway, it would be grat if this project would be somehow implemented by gaim.


      gaim-vv is the answer: it's a fork of gaim, specifically created in order to have GAIM capable of doing audio/video conversation.

      It relies on external libraries, so the topic's related to the (hopefully near) advances in gaim-vv to support msn and other protocols: as of yesterday you were only able to see other people's webcams from a yahoo! account.

      I hope that things will change, now ;)
      --
      If anyone can hear me, slap some sense into me But you turn your head, and I end up talking to myself
    5. Re:Wonderful! by Ark42 · · Score: 2, Interesting

      Really? My 2wire firewall/router/wireless/dsl combo I got for free from SBC has a single checkbox, to allow H.323. It seems to do some smart state checking with TCP port 1720 and allows TCP port 1503 as well, just like the FTP server checkbox does some smart state checking with TCP port 21 so it can open up other ports as needed.

    6. Re:Wonderful! by dmayle · · Score: 3, Informative

      That may work on one side, and maybe it is a full implementation, but H.323 opens up random ports greater than 20,000, and then communicates this over the control channel. A firewall would have to continually monitor control to keep opening/closing ports as needed.

  2. video conf between windows and Linux ??? by cacrus · · Score: 2, Interesting

    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.

    1. Re:video conf between windows and Linux ??? by BiggerIsBetter · · Score: 2, Informative

      Gnome Meeting anyone?

      --
      Forget thrust, drag, lift and weight. Airplanes fly because of money.
    2. Re:video conf between windows and Linux ??? by Sodki · · Score: 5, Informative

      Gnomemeeting already played very nice with Microsoft's Netmeeting, present in almost every Windows box, sound and video included.

    3. Re:video conf between windows and Linux ??? by LiquidCoooled · · Score: 2

      there is NO way I am going to wear one of those silly hats just to chat to my buddies.

      Besides, its cold in my garden at the moment.

      --
      liqbase :: faster than paper
  3. Look! It's a nerd! by Thijs+van+As · · Score: 2, Funny

    So you can now finally watch your fellow linux nerds hacking their fav open source project.

  4. Reverse Engineered From The Disassembly by Pants75 · · Score: 5, Interesting
    So for fun, and challenge, I reverse-engineered the original implementation by studying the massive amount of assembly code involved, and after a lot of hard work I ended up with this implementation in C.

    Nice, gotta give the guy props for that.

    That is not a trivial undertaking at all.

    I tip my hat to ya.

    Pete

    1. Re:Reverse Engineered From The Disassembly by mccalli · · Score: 5, Insightful
      Also, the fact he has a C implementation will hopefully imply portability between architectures, not just OSes.

      Linux isn't the only OS without an MSN video client, OS X/PPC could do with one too. As nice as iChat is, unless everyone you know is on the AIM network you're somewhat limited. I understand AIM is the largest IM network in the US, however in the UK I'd (unscientifically) say that title belongs to MSN.

      I'm fully aware that having a C implementation doesn't necessarily mean portability (endianess, 64 vs 32 bit etc.), but it certainly helps.

      Cheers,
      Ian

    2. Re:Reverse Engineered From The Disassembly by FireFury03 · · Score: 5, Insightful

      I call troll...

      A less trivial (and possibly more legal) undertaking would have been to code a new framework from scratch

      1. There is no legal problem here - it's completely legal to reverse engineer for interoperability.
      2. How exactly is your "new framework" going to interact with existing (closed) systems? Or are you expecting the likes of Microsoft to implement a new open protocol so they can interact with the FOSS community?

      we complain that MS "embraces and extends" all the time -- how is this any different?

      Microsoft does "embrace and extend" on well defined open protocols and screws everyone over because of their market position (which basically forces everyone else to adopt their extensions). This is simply "embracing" (not extending) a propriatory system so we can interoperate with it - no protocols are being broken here.

      I much prefer *actual* open source projects. Not open source derived from disassembly of closed source.

      Like it or not, when interacting with propriatory systems you have to reverse engineer them because the propriators are sure as hell not going to give you the specs. The same is true of hardware drivers, etc. (an aweful lot of the hardware drivers in Linux were reverse engineered by looking at how the Windows drivers interacted with the hardware). How would you suggest doing it?

    3. Re:Reverse Engineered From The Disassembly by 1ucius · · Score: 2, Insightful

      There might be a legal issue if he disassembled the code...because most license agreements explicitly forbid disassembly, a court may say he used improper means to get the necessary information. That is, even though reverse engineering is legal, you can't violate other obligations. A reverse engineering effort that relied on 'cleverly inspecting packets' would be much better legal ground.

    4. Re:Reverse Engineered From The Disassembly by FireFury03 · · Score: 3, Informative

      There might be a legal issue if he disassembled the code...because most license agreements explicitly forbid disassembly, a court may say he used improper means to get the necessary information. That is, even though reverse engineering is legal, you can't violate other obligations.

      Most licences prohibit "reverse engineering" too - it's just not enforcable since the local laws explicitly allow reverse engineering. Of course IANAL so I can't tell you if the lagal "reverse engineering for interoperability purposes" also include disassembly. I would think it did.

    5. Re:Reverse Engineered From The Disassembly by OnlineAlias · · Score: 2, Informative

      Compaq reverse engineered the I386 architecture and that is how non IBM PC's (clones) were born. Yep, that monster gaming machine you are sitting in front of is a product of reverse engineering.

      Reverse engineering is a good thing.

  5. Legality in US? by caryw · · Score: 3, Insightful

    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

    1. Re:Legality in US? by turbofisk · · Score: 2, Interesting

      Which doesn't really answer his question.... I'd be surpriced if anyone gets sued for this in the US though... The work hasn't been done in the US, so no harm done? It can't be illegal to *use* reverse engeneered software, right?

    2. Re:Legality in US? by hyfe · · Score: 3, Informative
      Norwegian law would be the ones in question here, and it still sane.

      We're currently debating wether to implement the new copyright etc laws though. (and be 'we' I mean fringe left and some computer scientists complaining, while the main stream press keep their daily schedule of reporting fairly amazingly trivial and non-important 'news')

      --
      "" How about taking the safety labels off everything, and let the stupidity-problem solve itself? """
    3. Re:Legality in US? by northcat · · Score: 3, Insightful

      This was done in Norway. It has nothing to do with USA. Your question is as relevant here as asking how legal this is in any other country of the world. Why USA?

    4. Re:Legality in US? by Duckman5 · · Score: 3, Insightful

      This quetion is very relevant. Perhaps some of us here in the US might be interested in using this and the vast majority of slashdot readership is located in the US? Just because something was created in a country where it was legal does not mean that it can be used in a country where it is not legal. I mean, we've all seen how well DeCSS went over here in the US.

  6. Why not use ichat/AIM's video protocol? by Anonymous Coward · · Score: 5, Interesting

    > 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?

    1. Re:Why not use ichat/AIM's video protocol? by Anonymous Coward · · Score: 2, Informative

      Does implementing iChat's video protocol magically make it work with Microsoft's software?

    2. Re:Why not use ichat/AIM's video protocol? by Anonymous Coward · · Score: 3, Informative

      For god's sake read the damn article. This is NOT a webcam driver. It is a codec for Mimic V2.x. Which MSN Messenger uses for sending video between PCs.

    3. Re:Why not use ichat/AIM's video protocol? by Compile+'em+all · · Score: 2, Insightful

      >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.

      Well, It is not about chasing Windows.
      Love it or not, MS has 90% of the market and if they didn't decide to use Open standards (ichat/AIMs, Jabber)
      then the only way to communicate with those 90% is reverse-engineering MS stuff.

  7. Sure, until MSN 7 comes out of beta by the_unknown_soldier · · Score: 4, Insightful

    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

    1. Re:Sure, until MSN 7 comes out of beta by 0x461FAB0BD7D2 · · Score: 2, Insightful

      How are they going to block a codec? Perhaps they could fudge the codec a bit, but that would break compatibility with MSN Messenger 6, frustrating their own customers. In any case, the differences in assembly code between MSN7 and MSN6 would be seen quite quickly, and the revelant changes could be made to libmimic.

      Perhaps they could ban non-MSN clients, but that hasn't worked too well in the past.

      I don't think MSN would try something like that. After all, they're all about interoperability right?

    2. Re:Sure, until MSN 7 comes out of beta by 0x461FAB0BD7D2 · · Score: 2, Interesting

      Perhaps, but it's not a good strategy. They did it recently with forcing people to upgrade to MSN6.

      If they continue forcing users to upgrade all the time, they would lose users to other services, like Jabber, ICQ, AOL and YahooIM, due to frustration.

      ICQ's networks still work with older versions of the client. I'm currently using 2003b.

  8. WTF? by gowen · · Score: 4, Funny
    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
    Is it just me, or has slashdot started to sound more an more like TASS did in the mid-80s
    --
    Athletic Scholarships to universities make as much sense as academic scholarships to sports teams.
    1. Re:WTF? by dos_dude · · Score: 3, Funny

      Tonight, the federation of the FOSS (farmers operating socialist software) announced that it has fullfilled its five-year plan to produce high quality socialist software that is better than the imperialist's product.

      Since the late 90s, the imperialists have been using "web cams" to form monopolies, rage wars, and perform other counter-revolutionary crimes.

      With the liberation of the MSN protocol, another battle in the fight against the imperialist pigs was gloriously won. The revolutionary forces may now use the imperialist's network to spread hype and FUD, and to cooperatively work on the liberation of even more imperialistic protocols in a very efficient manner.

      Together with the presentation techniques that the FOSS has liberated from the counter-revolutinary Power Point application, the MSN web-cam protocol will give the revolutionary forces the means of production that our great leaders chose to include in their plans five years ago.

  9. I don't want it! by Pants75 · · Score: 4, Funny

    It gives me comfort having no evidence that the person I'm chatting with is a trucker called Bubba.

  10. Please Explain The "glorious efforts" uote.... by BRock97 · · Score: 2, Insightful

    "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.....
  11. Just how many video codecs do we need? by Viol8 · · Score: 4, Interesting

    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??

    1. Re:Just how many video codecs do we need? by Anonymous Coward · · Score: 3, Informative

      Patents. Everyone has his own codec and patents it. Even the "open source" Dirac codec will be patented.

    2. Re:Just how many video codecs do we need? by aldoman · · Score: 4, Informative

      The reason it will be patented is that if they don't, some other company can just go ahead and patent the same thing, and the only way to rectify it is a long and hard court case which will cost lots and lots of $$$.

    3. Re:Just how many video codecs do we need? by lurch_mojoff · · Score: 3, Insightful
      That said, this is NOT The right to go about this (disassemblying closed source, creating open source from it). It's the same shit DivX got in trouble with early on, and they're lucky to have survived. I give much more praise to guys who can write this stuff totally from scratch.
      Not to troll or anything, but just how can one write from scratch something, he doesn't have knowledge of? Consult Miss Cleo? Do you really think if there was a detilled how_to_implement_mimic guide, this guy, Ole André Vadla Ravnås, would go to such extremes as to ponder over a buch of Assembly code and try to create a working C program out of it?! Such a feat is worth the praise.
    4. Re:Just how many video codecs do we need? by hhghghghh · · Score: 2, Interesting

      WHat the hell is wrong with mpeg anyway?? Which MPEG? MPEG-1? MPEG-2? MPEG-4? Most of these are pretty high bandwidth, even at crappy webcam resolutions, and aren't tailored to lots of data-errors (crappy cable internet bandwidth) or streaming in any way. Even the MPEG people think so. That's why there's now MPEG-4 part 10 for low-bandwidth streaming. MPEG-4 part 10/AVC/H.264 is a likely candidate for all these sorts of applications (wrapped in 3gpp protocols for instance), but it's rather cpu-intensive, and you don't want to use 99% cpu for your crappy webcam. In Microsoft's case of course, the goal is to keep people from using non-Microsoft msn messenger clients; particularly seeing as Microsoft had already standardized on H.263 in NetMeeting (which, like windows messenger, comes with Windows XP's default install). Though admittedly, NetMeeting's use of H.323 makes it unsuitable for most home-users who are behind NAT boxes or funky firewalls; but nothing would keep you from using H.263 over SIP - SIP, which is also supported by windows (not msn) messenger. Microsoft replacing windows messenger and NetMeeting with msn messenger is basically a big push towards proprietary standards over open standards.

  12. Wait ... by ggvaidya · · Score: 5, Insightful

    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.

  13. patents? by dnoyeb · · Score: 2, Interesting

    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?

    1. Re:patents? by Anonymous Coward · · Score: 5, Insightful

      Er. Hence the storm of european software patents! - they _aren't_ currently enforceable in most european countries, but the patent office has been granting the patents anyway. Right now, mimic or whatever it's called is likely 100% legal in europe.

      And just to make another point, to those who say FOSS is "just playing catchup" or "always copying" or whatever: Many early Webcam-style applications were BSD-licensed, things like VIC/RAT from the MBONE suite. If it weren't for the installed base of proprietary users, this package would be unnecessary. This is why Microsoft is usually careful not to care too much about "piracy" (and why you shouldn't "pirate" software even if you disagree with copyright...): network effects which dominate the computing market establish lock-in of their proprietary tools.

  14. one of the very important stumbling block removed by krayfx · · Score: 2, Insightful

    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

  15. Re:Just great. by Alexis+Boulva · · Score: 5, Informative

    This site has links to sites with linux drivers for several Logitech webcams... It's thanks to this site that I got my "QuickCam Messenger" working in linux... IMO it's running better in linux... But no big surprise, there, eh...

  16. All professional VTC is open source anyway...??? by J+Barnes · · Score: 4, Insightful

    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.

  17. Over reacting? by Chris+Kamel · · Score: 3, Insightful

    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
  18. Look! It's a Windows user! by ImaLamer · · Score: 4, Funny

    No, it's more like: now you can watch windows users re-install in real time!

    1. Re:Look! It's a Windows user! by mo^ · · Score: 2, Interesting

      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?

      --
      bah!*@%!
  19. Bounty! by dsginter · · Score: 4, Interesting

    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
  20. Re:Credit where credit is due. by orasio · · Score: 2, Informative

    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.

  21. Glory be unto us! by Anonymous Coward · · Score: 2, Funny

    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.

  22. USB Webcams on Linux, a nightmare... by vhogemann · · Score: 2, Informative

    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
  23. Re:Credit where credit is due. by Alexis+Boulva · · Score: 2, Informative

    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...

  24. Bring this to Mac OS X please! by xirtam_work · · Score: 2

    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.

  25. When do we get webcam drivers? by lennier · · Score: 2, Informative

    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