You can add allowed video extension thru the backend. If you go to Administration >> Settings >> Advanced >> Libraries >> Videos you'll see an 'allowed file extensions' option. You can add there additional video types you'd like to serve.
Keep in mind that the default video player is based on Silverlight, so it can only playback Silverlight supported extensions
. Slavo Ingilizov posted a blog
back in January showing how you can use an HTML5 player instead of the default Silverlight one.
As for Youtube or any other external source - if its a one of situation, just copy/paste the embed code in a content-block. If you prefer to be a tad more flexible, you can build your own user-control or module to build out the embed-code...