Uploading Multimedia has come a long way in Drupal recently. Previously you would have probably tried to use the Audio or Video modules and be done with it. However now with CCK and Views modules and the Embed Media Modules you can have a more flexible approach.
This outline goes over some of the issues associated with Multimedia and Drupal and later chapters show us one approach to doing it with an Hands on example.
What fields to choose for your Content Type
When creating your content type for your Multimedia file there are some decisions that you need to make. How much information are you going to ask your users to enter. You can take the approach of a Video sharing site like YouTube which only asks for minimal information, as it recognises that most people really don't like to fill out forms. Or you could take an approach like the Internet Archive (Archive.org) which presents you with a huge number of fields to fill in in forms allowing you to enter as much or as little as you want. This aspect of what Metadata (Metadata is data describing the media file) to collect
If you want to look at an example for fields used for a video content type then you may want to look at a Metadata scheme used by the Transmission network - http://wiki.transmission.cc/index.php/Metadata_Workspace
Create our Content Type in CCK
The reccomended way to create your content type is in CCK. There is a chapter in this manuals about the specifics of how to do this in general. Also there is a hands on example of how to create a video content type to the Transmission specification later in this manual.
Using External Media or Uploaded Media
One of the issues that you might come across is the issue of if you should only allow people to embed media (especially audio and video) from external media sharing sites, or if you should only allow people to upload their files to your Drupal installation, or if you should allow both.
Embedded Media module
If you want to only allow external media then you will find the Embedded Media module to be very useful. It allows you to enter the URL of the page or location where the audio or video is located into a field.
There is a chapter on using Embedded Media module elsewhere in this manuals.
File uploads and Media Mover
If you want to be able to upload files to your site and make them available for download and also make them available to be viewed as a click and play / streamable format.
There are different ways that this can be done the most reccomended one currently is Media Mover. The the Media Mover module is a way of taking an uploaded file (say an avi, mp4, or wmv file) and transcoding it to a file that will stream. This may be an .flv file or an Ogg file.
Media Mover is defined on it's home page as "a set of modules which allows website administrators to easily create complex file conversion processes". It's a very complex and hairy beast. What we likely to be using it for is relatively simple compared to all the things it can do.
Media mover can be described as a big lump of code which you need to write bit of code in order for you to do what you need it to do. There are some people working to make Media Mover more user friendly as part of the forthcoming Media module, watch this space.
A hands on guide of how to convert an uploaded video file to an flv file is included elsewhere.
Creating a field to upload a video file for download is relatively easy. You can configure the CCK filefield to do this. One of the reasons for uploading files without converting them for streaming is to encourage people to subscribe to your media via a Podcast feed. And in fact there is a plugin module called Filefield Podcaster (FFPC) which helps you out by creating a podcast feed based on the files uploaded via filefield.
There is a Hands On guide of how to set this up elsewhere in this manual.
Embedding or Uploading - Streaming and Downloading and Torrenting
Ok, so what if you want to get the best of both worlds. You want the choice of being able to upload a media file, or embed it from another site. You want your users to be able to clicka and play the file and you want them to be able to click on a link to download it. You also want a Podcast feed that is valid with all the podcast players and aggregators. Also last but not least you want to be able to network your files via bittorrent as well.
This is all possible separately, see other chapters, but to do it all together may currently take quite a bit of customisation. We'll check back with a chapter soon on how to do this as a Hands On exercise.