I tried to integrate Gallery2 and its bridge into our community site... but mostl have problems uploading to the gallery... so I went on searching other option... and finally settled with datsogallery. It's simple yet powerful to give a decent gallery where people can easily upload the pictures.
See its website:
datsogallery.fr
Except for video stuff, datsogallery has all other things on your list with addition that you can also show the pics with lightbox.
Unfortunately the developer site is in russian or whatever it is which I don't understand... But the component and its modules are in english... or there are translations to other languages as well.