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

11 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 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
  2. 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. 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?

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

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

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

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