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 different point of view :
what are the tools used?
how to not allow user to download a video?
what the difference between vimeo,dimecasts.net choice , what about other choices?
Streaming?
any valuable information will be appreciated.
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.
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:
Use "Stream without downloading" (see article above for details) or broadcast
Manage stream content with Digital Rights Management
Use authentication of users that watch video and provide unique URL for them to disallow special tool of downloading to intercept results.
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.
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.
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.
Related
I have JWPlayer for Wordpress from ilghera. I use it for my website and i'm publishing video content in my site. This plugin that i use from ilghera gives me the option to add different qualities for a video but they only work manually.
I want my users to open the video just like a youtube video and video itself changes the quality due to users internet connection speed.
Can anyone help me? And whats the price for such a software etc.
The behavior/technology you described is adaptive bitrate (ABR), which uses real-time bandwidth data to switch between higher and lower resolutions of a video.
In order to take advantage of ABR, you must use a video format that supports it, such as HLS (files with .m3u8 extension) or MPEG-Dash (.mpd). You can see an example stream here.
If one of these streams is configured, JW Player will handle ABR and resolution switching automatically. If you are using JW Player's platform technology (i.e. Dashboard), and upload a video, HLS conversions are provided for you.
I've converted my mp4 file to m3u8. Created a playlist same as https://docs.peer5.com/guides/production-ready-hls-vod/ in this link shows. But when i try to play it on http://stream-tester.jwplayer.com it gave me 232011 error code.
Update**
I've solved the problem. Ffmpeg was working fine but only problem was jwplayer and hlsplayer.net were given me the same error which is cross domain access denied. So opened the apache and gave this command :
Header set Access-Control-Allow-Origin "*"
It worked!
I am doing project which i need every random time I want to capture images from client side and send to server side.
My question is what are simple choice for access web cam image from client browser
i know only
flash
Silver light
regarding this two if any simple way to access web cam images please provide
I have used jpegcam ,Javascript and Flash library that allows you to enable your users to submit Webcam snapshots to your server in JPEG format.From this link you can get instruction how to use it.you need to download files and add it to your project.But the server side code given here is php based,for c# take look at this link i have posted the answer there.
Hope this help you.
i need to add video streaming capabilities to drupal. I need this functions:
Some users must be able to create
content with video inside it. It must
be easy, the best idea would be
adding a new content type (rich
media) and then the user can choose
to either upload a video from his pc
or choose a video that has been
already uploaded
Registered user must
have the possibility to upload videos
that are viewed by a moderator before
publishing them
All video must stay on my server (privacy reasons and so on), what i'm asking is: is there any drupal modules that any of you has used that does such things?
for streaming video from my server do i need some special "video streaming server"?
i'v checked flowplayer as stated in this question, but i don't get if i need to setup some extras on the server or not.
EDIT - in case, has anyone tried to use Kaltura?
In the end i used the video module with the flowplayer module. Simple and very easy.
I built a WebTV Module on top of NaviCast Streaming API. I used flowplayer for playback. I also setup adStreamer plugin with flowplayer.
NaviCast is a paid service and gives you a desktop application to manage your videos.
I really recommend MediaFront. It is pretty much stand-alone (needs HTML5), and has a tutorial video. It is the only streaming solution that worked for me.
I have a piece of my site being built for me that works like this... when you click a song, the song loads in the player and plays it.
I'm being told by the guy who's developing it for me that Asp.Net does not support 320kbps files, so that's why the player isn't working. This seemed a little ridiculous so I did some research on it and couldn't find anything that says so:
http://msdn.microsoft.com/en-us/library/cc189080%28VS.95%29.aspx
He found this on that page:
24 bit audio will return silence.
But that's under the WMA section, not the MP3 section, I can't even tell if they're 24 bit or not anyways... The only info I have is that the songs are 320kbps and they're all .mp3 files. I can provide more info if you tell me where to look. Please let me know why he would be saying that these files can't be streamed... he says he's tried 128kbps and it worked, but that these are incompatible.
Thanks,
Matt
I'm being told by the guy who's
developing it for me that Asp.Net does
not support 320kbps files, so that's
why the player isn't working.
You're right, he's wrong. That page is irrelevant.
Asp.net doesn't care -- doesn't know! -- what's inside the file. If the connection doesn't overtax the available bandwidth, you're fine.
Assuming you're using a static file and not a dynamic one, ASP.NET will never even see it. All references to static files are handled by IIS, without involving the ASP.NET runtime.
However, by default static files aren't streamed. Instead, they are sent at the maximum speed that the connection will support. If you want true streaming, you will need to add an appropriate plug-in to IIS, or use something like Windows Media Server.
Imagine you have a large number of video files stored on a server, and a Flex app which lets users play those videos they have access to. How can you best set this up? Wouldn't the Flex app just be sent the name of the video to play... in which case couldn't someone else write another flex app if they knew the file names? Can Flex play videos hosted on other sites? Is there some clever piece on the server I'm missing, which sits between the Flex video player and the files?
Ask users to log-in with a username and password - you can use OpenID if you want.
Update:
Set the crossdomain.xml of your server in such a way that only Flash movies from your domain can access content from there.
You can write a server-side script (in PHP or something else) that serves the file only if your user is allowed to see it (how to determine that you'll have to come up with yourself). This is a bit of a performance hit, although not so much if you use PHP's readfile().
Can Flex play videos hosted on other sites?
Your crossdomain.xml can control this. e.g. myvideoserver.com/crossdomain.xml would contain entries based on who you want to grant access to, like myflexserver.com. Then just ripping off your main flex application wouldn't give them access to your video files.