Logitech MSN Webcam Codec Reverse-Engineered 255
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."
Wonderful! (Score:5, Funny)
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)
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)
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)
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
Re:Wonderful! (Score:2)
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)
Basically they forked to experiment, and will backport once it is tweaked to working.
Re:Wonderful! (Score:2)
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) (})
Re:Wonderful! (Score:2)
However, last I knew one had to DMZ their machine in order to use any h323 protocol. Hardly seems a worthwhile trade-off.
Re:Wonderful! (Score:2)
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)
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)
Re:Wonderful! (Score:4, Informative)
Re:Wonderful! (Score:2)
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
Re:Wonderful! (Score:2)
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.
Re:Wonderful! (Score:2)
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
Re:Wonderful! (Score:2)
This was meant to be funny, not informative....
Re:Wonderful! (Score:2)
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.
video conf between windows and Linux ??? (Score:2, Interesting)
Re:video conf between windows and Linux ??? (Score:3, Informative)
Re:video conf between windows and Linux ??? (Score:2)
Besides, its cold in my garden at the moment.
Re:video conf between windows and Linux ??? (Score:5, Informative)
Bounty! (Score:5, Interesting)
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).
Look! It's a nerd! (Score:2, Funny)
Look! It's a Windows user! (Score:5, Funny)
Fault Tolerance... (Score:2)
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.)
Re:Look! It's a Windows user! (Score:2, Interesting)
Re:Look! It's a nerd! (Score:2)
Reverse Engineered From The Disassembly (Score:5, Interesting)
Nice, gotta give the guy props for that.
That is not a trivial undertaking at all.
I tip my hat to ya.
Pete
Re:Reverse Engineered From The Disassembly (Score:5, Insightful)
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
Re:Reverse Engineered From The Disassembly (Score:2)
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.
Re:Reverse Engineered From The Disassembly (Score:5, Insightful)
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?
Re:Reverse Engineered From The Disassembly (Score:2, Insightful)
Re:Reverse Engineered From The Disassembly (Score:4, Informative)
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.
Re:Reverse Engineered From The Disassembly (Score:2)
Reverse engineering for interoperability is legal in the US too, even under the DMCA, as you point out. One of the problems we've been having is that courts are not only respecting the click-through EULAs, they have been enforcing them even when certain clauses in the EULAs remove actions protected by law, like reverse engineering for interoperability.
For example, look at the 30 Sept 04 finding in the Bnetd case. This case is the most recent that I know of (or have looked at),
Re:Reverse Engineered From The Disassembly (Score:2)
That was in the US, was it not? In Europe, the opposite is true: EULA conditions which are not available to the customer prior to the sale are not enforcable.
Further, while acknowledging certain "fair use" rights, he determined that you can sign away those rights under a EULA, as well as any rights you have under the First Sale doctrine, including reselling your personal copy
Re:Reverse Engineered From The Disassembly (Score:2)
However, in Bnetd, the end user had agreed to the EULA by clicking "OK", and the judge therefore found ALL of the terms of the EULA binding, even those prohibiting reverse engineering (protected under cop
Re:Reverse Engineered From The Disassembly (Score:2)
What makes all this so interesting is that in the face of amazing precedent that wo
Re:Reverse Engineered From The Disassembly (Score:2)
What? Because they are guaranteed a certain amount of revenue under capitalism? Wrong.
Multiplayer games are usually sold at a price about equal to the subscription price included with the game (so the game is "free"). All of the money is in the server subscriptions.
So what? Companies are rewarded/punished for their decisions in the marketplace. If they want to sell it at a loss then that is their decision. Next you'll say it is illegal
Re:Reverse Engineered From The Disassembly (Score:2)
Farsight == legally tainted; don't touch it (Score:2)
Re:Reverse Engineered From The Disassembly (Score:2, Informative)
Reverse engineering is a good thing.
Re:Reverse Engineered From The Disassembly (Score:2)
1. Some people study the BIOS, writes everything he finds out about it
2. Some other people, with no history of reverse engineering anything or having any kind of history with IBM (that includes not even using one of their PCs) make their own BIOS based on the research in step 1
3. Profit!
I doubt this project followed these steps. Oh well; someone el
Re:Reverse Engineered From The Disassembly (Score:2)
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.
There's a big difference between reverse engineering, learning from the assembly and crafting your code vs. reverse engineering and basically using the assembly in your source. Look at his code.
2. How exactly is your "new framework" going to interact with existing (closed) systems? Or
Re:Reverse Engineered From The Disassembly (Score:2)
I guess some people do, otherwise noone would've written the reasonably large amount of code designed specifically for interacting with Microsoft's software (and yes, there is a lot).
There's a big difference with hardware reverse-engineering: I own it. I bought the hardware, it's on my machine
Umm, and that's different how to "I own it, I bought the software, it's on my machine"?
Sorry, but I don't see a significant di
Re:Reverse Engineered From The Disassembly (Score:2)
You never own commercial software. That's the difference. Philosophy aside, all commercial software comes with licenses. The license for the MSN stuff specifically prohibits against this. Whether you think that's "wrong" or "right" is irrelevant: the law says what the law says.
Re:Reverse Engineered From The Disassembly (Score:2)
That's funny... I went and downloaded the tarball for shits and giggles and looked at the source... And lo and behold all I see is C... Care to point to which file/function he's using Microsoft assembly in? I don't see it.
No, most people view Microsoft's tact vs. Mac as "embracing and extending". Copy the usable
Re:Reverse Engineered From The Disassembly (Score:2)
The developer is not at "fault" in creating a proprietary version of their software. It's the reverse-engineer's "fault" to screw around with it. This isn't hardware: you're given a license to look but not touch. Whether you think that's "wrong" or "right" is irrevelant: the guy broke the EULA a
Decompiling is NOT reverse engineering (Score:2)
Yes, please, don't be a retard. Heaven knows there are enough of them already.
Legality in US? (Score:4, Insightful)
--
NoVA Underground: Where Northern Virginia comes out to play [novaunderground.com]
Re:Legality in US? (Score:4, Informative)
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')
Re:Legality in US? (Score:2)
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)
Re:Legality in US? (Score:4, Insightful)
Re:Legality in US? (Score:2, Interesting)
Re:Legality in US? (Score:2)
The question isn't if the actual author will be sued in the US. It's if somebody in the US did the same thing, would they have their asses sued?
Why not use ichat/AIM's video protocol? (Score:5, Interesting)
> 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?
Re:Why not use ichat/AIM's video protocol? (Score:2, Informative)
Re:Why not use ichat/AIM's video protocol? (Score:2, Insightful)
>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.
Re:Why not use ichat/AIM's video protocol? (Score:2)
Re:Why not use ichat/AIM's video protocol? (Score:2)
Re:Why not use ichat/AIM's video protocol? (Score:3, Informative)
Sure, until MSN 7 comes out of beta (Score:4, Insightful)
That is until MSN 7 includes a new codec or in other ways blocks this implementation
Re:Sure, until MSN 7 comes out of beta (Score:2, Insightful)
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?
Re:Sure, until MSN 7 comes out of beta (Score:2, Interesting)
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.
WTF? (Score:4, Funny)
Re:WTF? (Score:3, Funny)
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
One better... (Score:2)
I don't want it! (Score:4, Funny)
Please Explain The "glorious efforts" uote.... (Score:3, Insightful)
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......
Just how many video codecs do we need? (Score:5, Interesting)
Re:Just how many video codecs do we need? (Score:3, Informative)
Re:Just how many video codecs do we need? (Score:5, Informative)
Re:Just how many video codecs do we need? (Score:2)
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
Re:Just how many video codecs do we need? (Score:3, Insightful)
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
Re:Just how many video codecs do we need? (Score:2)
Exactly. And, quite frankly, I have a lot more respect for the clean route. Intelligent people code from scratch -- unintelligent steal from others.
Re:Just how many video codecs do we need? (Score:2)
-1: Inane
So you're one of those intelligent people that writes their own sort functions? Forget about using standard libraries, write your own libraries, because that is what intelligent people do. Want to learn calculus? Come up with it on your own. Don't learn from other people, that's what unintelligent people do!
Re:Just how many video codecs do we need? (Score:2, Interesting)
Wait ... (Score:5, Insightful)
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)
Re:patents? (Score:5, Insightful)
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.
Re:patents? (Score:2)
Thankfully software isn't patentable in the EU (yet).
one of the very important stumbling block removed (Score:2, Insightful)
Re:one of the very important stumbling block remov (Score:2)
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?
All professional VTC is open source anyway...??? (Score:4, Insightful)
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)
Don't u think that's a little over reacting to call a video codec for videoconferencing, one of the most noticeable software gaps?
Re:Over reacting? (Score:2)
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
Time to download and archive the code... (Score:2)
Hail the King! (Score:2)
And I thought I was the only one that was a member of the People's Republic of GNU.
Glory be unto us! (Score:2, Funny)
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.
USB Webcams on Linux, a nightmare... (Score:2, Informative)
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
Umm... (Score:2)
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!
Bring this to Mac OS X please! (Score:3)
I long for the day I can use iChat Av to chat to Yahoo, AIM and MSN users.
Re:Bring this to Mac OS X please! (Score:2)
Where have you seen that? That's news to me...
Disassembly is derived work and not yet free (Score:2)
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.
Re:Just great. (Score:5, Informative)
Re:Trillian? (Score:2)
Re:Trillian? (Score:2)
Re:Credit where credit is due. (Score:3, Informative)
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.
Re:Credit where credit is due. (Score:2, Informative)
Re:Credit where credit is due. (Score:2)
I hadn't seen that 1.2.x release.
I stand corrected.