Forgot your password?
typodupeerror
Communications Media Software Linux

Logitech MSN Webcam Codec Reverse-Engineered 255

Posted by timothy
from the until-lotus-won't-run dept.
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."
This discussion has been archived. No new comments can be posted.

Logitech MSN Webcam Codec Reverse-Engineered

Comments Filter:
  • Wonderful! (Score:5, Funny)

    by DarkHelmet (120004) * <mark AT seventhcycle DOT net> on Tuesday April 05, 2005 @07:30AM (#12142356) Homepage
    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!

    • Re:Wonderful! (Score:5, Interesting)

      by dmayle (200765) * on Tuesday April 05, 2005 @08:03AM (#12142492) Homepage Journal

      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)

      • Re:Wonderful! (Score:5, Informative)

        by Simon (S2) (600188) on Tuesday April 05, 2005 @08:21AM (#12142569) Homepage
        but I used to have to boot into Windows at home every weekend so that I could actually SEE my girlfriend.


        Why? GnomeMeeting [gnomemeeting.org] 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.
        • Re:Wonderful! (Score:5, Informative)

          by ilithiiri (836229) on Tuesday April 05, 2005 @08:40AM (#12142651) Homepage Journal
          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 ;)
          • it's a fork of gaim, specifically created in order to have GAIM capable of doing audio/video conversation.


            Thank you, I did not know about that. But do you know why they forked it? Was this impossible/a pain to implement as plugin?
            • Re:Wonderful! (Score:2, Informative)

              by Crasoum (618885)
              There was a post on slashdot a while ago talking about why they forked it. This [sourceforge.net] webpage is the webpage of Gaim-vv, and talks about how it is a "friendly fork whish will be backported".

              Basically they forked to experiment, and will backport once it is tweaked to working.
        • Why? GnomeMeeting [gnomemeeting.org] is compatible with Netmeeting on Windows (both use the H.323 protocoll). You can just use that.

          Yes, but it isn't MSN. The windows people are used to using MSN for their webcam conversations, which isn't going to change when some geeky geek says 'you should use netmeeting, because blah blah blah'.

          Reverse engineering is the way to go in this case, and I'm glad someone finally used his skills and took the effort to actually do that.

          I love you, Ole! (K) (L) (})

        • GnomeMeeting would work...

          However, last I knew one had to DMZ their machine in order to use any h323 protocol. Hardly seems a worthwhile trade-off.

        • Does anyone know how to use gnomemeeting in conjunction with a firewall? My last attempt to connect from Gnomemeeting to Netmeeting failed

          My understanding is that Netmeeting still chooses random ports for communication and can't adequately be configured to use a static range

      • Re:Wonderful! (Score:4, Informative)

        by dmayle (200765) * on Tuesday April 05, 2005 @08:40AM (#12142641) Homepage Journal

        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.

        • Re:Wonderful! (Score:3, Interesting)

          by Ark42 (522144)
          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.
          • Re:Wonderful! (Score:4, Informative)

            by dmayle (200765) * on Tuesday April 05, 2005 @08:54AM (#12142731) Homepage Journal
            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.
            • 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.

              So what's the problem? If it opens a random port and then uses it, it must inform the other party of which port it's chosen.. since the firewall is monitoring this traffic..

              A firewall would have to continually monitor control to keep opening/closing ports as needed.

              Ding ding ding, we have a winner. Yes, this is actually what happens
              • Ding ding ding, we have a winner.

                It's obviously possible, as the Cisco PIX does it, as mentioned above. However, H.323 is not a simple protocol, and it's not as easy to monitor for ports (like FTP, where you can use a very simple regex to search for PORT commands)

                So, yes, as I said before, it's possible but there are very few firewalls which have proper support for it.

              • FTP opens random ports too (for data transfer), and so does IRC's DCC.. it doesn't prevent either of these protocols from being easily tunnelable with a reasonably smart firewall.

                You say "tunnelable," which could imply one first builds a secure tunnel between hosts. If so, this would work, but, is beyond what the overwhelming majority of people do out there can do.

                If that's not what you mean, I assume you're not doing egress filtering, which is something any company security people worth their pay would
        • Since when is putting a box in the DMZ "a lot of effort"?


          This was meant to be funny, not informative....
      • >I used to have to boot into Windows at home every weekend so that I could actually SEE my girlfriend.

        I used to have to *shut down* Windows at home every weekend so that I could get offline and pay some attention to my GF.

        Seriously, if that was such a big inconvenience you could have ran Windows with VMWare Workstation or VirtualPC or Linux with VMWare Workstation. Aparently rebooting once a week wasn't inconvenient enough for you to find a solution.
  • 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.
    • Gnome Meeting anyone?
    • by Sodki (621717) on Tuesday April 05, 2005 @07:53AM (#12142455)
      Gnomemeeting already played very nice with Microsoft's Netmeeting, present in almost every Windows box, sound and video included.
    • Bounty! (Score:5, Interesting)

      by dsginter (104154) on Tuesday April 05, 2005 @08:14AM (#12142538)
      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 [google.com] (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).
  • So you can now finally watch your fellow linux nerds hacking their fav open source project.
  • by Pants75 (708191) on Tuesday April 05, 2005 @07:32AM (#12142368)
    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

    • by mccalli (323026) on Tuesday April 05, 2005 @07:52AM (#12142453) Homepage
      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

      • in the UK I'd (unscientifically) say that title belongs to MSN

        That holds from my admittedly somewhat limited experience too. A year or two ago, almost everyone I knew who used IM used ICQ; now the vast majority use MSN instead. I know very few people who use anything else.
  • Legality in US? (Score:4, Insightful)

    by caryw (131578) <`carywiedemann' `at' `gmail.com'> on Tuesday April 05, 2005 @07:33AM (#12142369) Homepage
    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 [novaunderground.com]
    • Re:Legality in US? (Score:4, Informative)

      by hyfe (641811) on Tuesday April 05, 2005 @07:55AM (#12142463)
      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')

      • main stream press keep their daily schedule of reporting fairly amazingly trivial and non-important 'news

        I call bullshit! The new INFOSOC compatible copyright law, made to comply with EEA, has been very well covered in the mainstream media in Norway. Just because it's not on the front page every day, ot's not equal to bad coverage. All the large papers have done several stories on the law. Like the ones here [aftenposten.no], here [www.vg.no], here [www.vg.no], here [dagbladet.no], here [dagbladet.no] and here. [aftenposten.no]
    • Re:Legality in US? (Score:3, Insightful)

      by northcat (827059)
      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?
      • Re:Legality in US? (Score:4, Insightful)

        by Duckman5 (665208) on Tuesday April 05, 2005 @10:00AM (#12143241)
        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 [slashdot.org]? 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.
  • by Anonymous Coward on Tuesday April 05, 2005 @07:34AM (#12142380)
    > 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?
  • by the_unknown_soldier (675161) on Tuesday April 05, 2005 @07:35AM (#12142385)
    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
    • 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?
  • WTF? (Score:4, Funny)

    by gowen (141411) <gwowen@gmail.com> on Tuesday April 05, 2005 @07:37AM (#12142389) Homepage Journal
    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 [wikipedia.org]
    • Re:WTF? (Score:3, Funny)

      by dos_dude (521098)
      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 u

    • In Soviet Russia Slashdot Propagandizes You!!!
      umm, I mean, uh.. wait...
  • by Pants75 (708191) on Tuesday April 05, 2005 @07:37AM (#12142394)
    It gives me comfort having no evidence that the person I'm chatting with is a trucker called Bubba.
  • by BRock97 (17460) on Tuesday April 05, 2005 @07:38AM (#12142397) Homepage
    "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......
  • by Viol8 (599362) on Tuesday April 05, 2005 @07:40AM (#12142401)
    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??
    • by Anonymous Coward
      Patents. Everyone has his own codec and patents it. Even the "open source" Dirac codec will be patented.
    • Wrong analogy. TCP is a basic framework, standards driven, written to write on most hardware. Video isn't. Most companies take existing codecs and "mold" them around their hardware to get the most out of it (move a pointer here, remove arbitrary lines of code there, etc). It's more akin to the millions of document formats out there.

      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 th
      • 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

    • 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,
  • Wait ... (Score:5, Insightful)

    by ggvaidya (747058) on Tuesday April 05, 2005 @07:41AM (#12142402) Homepage Journal
    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 [dgl.com]].

    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.
  • patents? (Score:3, Interesting)

    by dnoyeb (547705) on Tuesday April 05, 2005 @07:48AM (#12142435) Homepage Journal
    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?
    • Re:patents? (Score:5, Insightful)

      by Anonymous Coward on Tuesday April 05, 2005 @08:10AM (#12142515)
      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.

    • Reverse engineering is legal, but have they no patents or copyrights?

      Thankfully software isn't patentable in the EU (yet).
  • 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 u
    • this will help change the perception for average joes and janes that linux is indeed user friendly and works as well as ms stuff

      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?

  • by J Barnes (838165) on Tuesday April 05, 2005 @08:04AM (#12142493) Homepage
    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.
  • Over reacting? (Score:3, Insightful)

    by Chris Kamel (813292) on Tuesday April 05, 2005 @08:07AM (#12142501)
    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?
    • There are three things I boot my windows box for.

      Games (written solely for windows, I don't blame that on linux, and don't expect it to change)
      Paintshop pro (runs like crap in wine, and I find gimp difficult to use for photo repair)
      and webcam chats with the girlfriend. Talking her through netmeeting on windows so I can use gnomemeeting is a pain, so we usually switch to msn video chat as it's far simpler, especially once you involve firewalls.

      This breakthrough, which will allow me to carry on using my mai
  • ...in case this turns into another international incident like DeCSS. :P
  • "remaining from its glorious efforts"

    And I thought I was the only one that was a member of the People's Republic of GNU.
  • by Anonymous Coward
    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
  • by shplorb (24647)
    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!
  • by xirtam_work (560625) on Tuesday April 05, 2005 @10:01AM (#12143252)
    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 you just disassemble the executable into assembly, and convert that to some HLL, what you have is still derived from the original, i.e. it's still under the original copyright.

    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.

"The greatest warriors are the ones who fight for peace." -- Holly Near

Working...