Apart from the various modules already suggested in the other answers, I think you might also want to look at the Scald: Media Management made easy module, which is more and more considered as an alternative to the Media module.
Here is a quote about the Scald module (from its project page):
... a popular and flexible way to handle media in Drupal.
Scald can handle images, video, audio, tweets and even Flash files. Scald works with YouTube, Vimeo, Soundcloud and other many other providers. You can see a full list on the scald provider's page, you can also read our FAQ.
For end-users Scald is a great option because you can use Scald with popular editing tools such as CKEditor, and with Plupload for multiple file uploads. Scald also has a very user-friendly media library, based on Views.
For developers, one of the best things about Scald is that it treats all files as full-blown fieldable entities.
And yes, it also has quite some Community Documentation.