this is my first time doing a gallery of videos using ASP.NET, I believe there are many articles on the net regarding this, but I would like to see some recommendation and d
Hi. I have uploaded a picture to show you the solution better. Now I want to tell you what does this image mean:
Upload Center: You must create upload center to upload your videos. So you need to create a user interface with upload controls. after upload, you should change video format to flash video files (Best file type is FLV). And at last step of upload files must save at specific directory ( I call it @VidDir) and you must get video a specific id (I call it @VidId). So file save at Directory/FileID
Generic Handler: This generic handler can open video (with flash video player) and create <embed>
tag (or anything else) to show videos. note: to view video this generic handler must have query string (I call it @VidId).
Flash Video Player: You must create a flash video player or use another ready versions; But its better to create your self. (Its realy easy, trust me). This video player must configure to show videos from web page query string (that I call it @VidId).
At last there must be a web page to use generic handler.
Demo here.
ANSWERS:
1.what are the tools used?
Adobe flash: To create a video player. use can use flash FLV media playback
tool for video preview. After that you can use buttons
, movieclips
, and graphics
for customizing your user interface.
Its better to use other Flash video players (e.g->Flow player).
Generic handlers: Generic handlers
are best way to picking elements. You can preview generic handlers in your ASP.NET page
.
2.how to not allow user to download a video?
You can upload videos to your App_Data
folder. To access this folder you must have server permission but generic handlers can access videos there.
3.what the difference between vimeo,dimecasts.net choice , what about other choices?
I dont know. You can take a look at Aparat persian video sharing center.
4.Streaming? You can take a look at Adobe media server family.
Dear sam you ask too many different question. I will try to give some answer to what I know.
First you need to select the way you go to show your video. One popular way is the flash. YouTube use flash.
So the tools that you can use is the one that convert the video to flash streaming file. There is all ready one from adobe. Other tools is video editing if this is what you asking for. Video editing with asp.net or with other programs like vegas video.
How to not allow a user to download a video ?, you serve this video from an ashx handler, this handler just read the video file from a protected directory and send it to the video player. The id of the file that is going to play you send the id on the page header, or from inside redirect to that page to hide it as much as you can, but expert users can find it and download it at the end. How ever you can avoid the scanning of your page by a robot that try to download them all. All this is not that easy but not that hard also. This task is a full question and a tutorial alone, and as I say I think that is near impossible to avoid at the end the user not get your video if he won it to.
Other way to protect your video is to scramble the streaming header, and then on your flash player decode it again back. That way even if they get them ,they can not play it anywhere.
About the streaming, adobe give a streaming server http://www.adobe.com/products/flashmediaserver/ but for small video files the flash player combinate with the flash video file can do almost the same work.
flash video player, I think that there are some if you google it, one of them is the flowplayer http://flowplayer.org/
You need to know to programming also flash and probably make communication with the video flash and your pages using Javascript, and modify the player to your needs. All of that its not an easy task, but there are many resources and tutorial that can help you.
So start with the flash video on google.
I would opt for using Silverlight. It has Digital Rights Management and Microsoft has some great tools for you like Expression Blend and Encoder.
For the streaming part you could use IIS smooth streaming.
From tag "asp.net" I'm assuming that you deal with Microsoft technologies. Our team in the past had estimation project around selling video content, so you problem is close to it.
The base idea is usage of Microsoft Windows Media Services 9 Series( for brief overview look at http://www.microsoft.com/windows/windowsmedia/howto/articles/webserver.aspx ). So this answer #1. The most difficult question is #2. Because you can just reduce possibility to download, but to watch video user needs have some frames at client side. That is why content always can be intercepted. Following list is my recommendations how to reduce risks:
Question #3 relates to format war. Vimeo, youtube and many others use FLV format to provide video. In theory client-side player of vimeo can play without problem video from youtube and vice verse. The benefit of it is crossplatforming - Linux, Mac, Windows users can recognize this format and play it. On other hand usage of WMV (windows media) potentially can be restricted (in real I have never seen any problem). But usage of Microsoft formats are more secured since usage of Digital Rights Management tags embedded to content.
Answer on #4, #5 you can find in article above.