subscription – How to make a video streaming site?

For opening and running a site like Youtube or Manyvids, where videos to play (H264 (MPEG-4 AVC) video) are laid out in table format, except where only one provider or uploader of videos is in charge (the video host), and user accounts are subscribers to that one streamer, what programming languages and background expertise is required to create and run such a site?

The main activities to learn are:

  • Managing and self-hosting a database of videos that are behind a paid subscription
    log-in access
  • Accepting payments from and managing a database of paid subscribers, who choose their usernames
    and passwords

Could someone refer any good tutorials on creating subscription-based video streaming sites?