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

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

  3. 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 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? """
    2. 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?

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

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

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

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

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

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

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

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

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

  13. 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
  14. 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!

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

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