Transmitting a video stream through a microcontroller's wifi
I understand that it's a lot to transmit, but let's focus on how to
  interface the arduino with the camera


Arduinos are not suited for video streaming at all. Here are some of the reasons: 


At their best, they can only do 20 MIPS
Don't have nearly enough ram
They're only an 8bit processor
The don't come close to having enough bandwidth to stream video
They have a limited flash memory
The Arduino programming language is not efficient


For those reasons and more, Arduinos and other 8bit MCU's are not able to accomplish what you want. A 32bit ARM processor would be better suited to the task and still very cheap.

Nevertheless here is your answer

If you MUST use an Arduino, the best you could probably accomplish is streaming jpeg at a slow rate. You can add a TTL camera to an Arduino so the Arduino is able to take a picture (there are camera shields that can connect a camera to an Arduino.) The max baud rate on an Arduino is 115200bps (I think) so after a picture is taken it could be saved to a SD card and/or sent via an wireless SD network shield. There is also a Eye-Fi unit that is a SD card that has a built in wireless network. 

Keep in mind that this will not be video streaming, at the best it will be streaming a couple low quality pictures a second.




  Remote monitoring using the Eye-Fi wireless SD card and Adafruit Data
  Logging Shield for Arduino. The Eye-Fi card is a tiny wireless memory
  card. It stores photos and fits inside a camera just like a regular SD
  card, but also has built-in WiFi transceiver that can upload images to
  your computer, smartphone or to various photo-sharing sites. Can the
  Eye-Fi card work in an Arduino SD card adapter? You bet! Adding a TTL
  Serial JPEG camera, together with some minimal prep work, we can then
  create a self-contained wireless monitoring camera with motion-sensing
  capabilities.
  HOWTO Make an Internet of Things Camera


This is what I recommend

The easiest way to stream media from a MCU would be to use a MCU that can run an embedded OS, like the Raspberry Pi. Basically the Raspberry Pi is just like a computer running linux with usb ports etc. And it has the processing power and memory to stream video in real time. 

So for your project, you should use a USB camera, like a web cam, and a USB wireless networking adapter (since the RP only has wired network by default.) The OS will handle the networking side of things, all you need to do is to stream the USB video to the network and there is plenty of software and tutorials for that.

They even have a OS specifically made for doing this called XBMC. See How to turn your Raspberry Pi into an XBMC media centre. There is a good amount of documentation on how to stream video from a unit like that, take a look at Streaming Your Webcam w/ Raspberry Pi. 

For the software, I personally have used Media Tomb (a UPnP MediaServer) and it works very good. So a search for raspberry pi mediatomb streaming video or raspberry pi media server would probably get you set and going.