You will have to be a bit more specific as to how low-level you want to go. Also different cameras have different capabilities: some stream, some do MJPEG (Motion JPEG), requiring different levels of complexity to decode and record.
So:
Hardware requirements
1. Do you want to build your own microcontroller board and develop your own software?
2. Do you want to work at the chip level or would the use of interface boards be within your requirements.
3. Have you worked with open source software (modify, build, install)?
Software requirements
1. Do you need libraries to interface or is part of the learning actually writing the code to drive the interfaces.
2. Do you want to use an operating system, like Linux, or develop without an operating system?
Experience
1. What is your experience with electronics: design, build, test, program boards.
2. What is your software development experience? Have you developed for micro controllers with and/or without operating systems.
3. Have you written software interfacing at the chip level?
4. Have you written controller software interfacing with libraries?
5. Do you have the facilities (scope, digital multimeter etc) to debug hardware and software?
You will be working with 2 interfaces that are very timing dependent. Even the Raspberry Pi still battles with flash writing and fails every so often if the SD card is not a perfect match for the software.
Some Microchip PICs have inbuilt support for USB and flash and free libraries to drive them, but I have never used them and don't know how reliable they are. However, since I have not needed them, I am not 100% sure, but don't believe they have interface hardware/software for video streaming or compression/decompression.