ASP.NET Comment Posting Script

12 December 2012

ASP.NET Comment Posting Script is a complete professionally written script which allows you to implement advance youtube, facebook, blog style comment posting feature on your pages just by dragging user control on page and adjusting simple parameters.

It include all features which is required for a complete comment and discussion solution on page including.

  • Posting comment
  • Reply on comment
  • Vote up, vote down comment
  • Flag as spam, reporting
  • Remove comment
  • Display user profile thumb.

It support multiple style themes including

  • Youtube style
  • Facebook Style
  • Blog Style
  • Simple Style
It can be used on static pages or can be used on dynamic records like integrating with Q&A question or answer just like stackoverflow.com questions.

ASP.NET Comment Posting Script is part of all products including asp.net video starter kit.

For more detail about this script and documentation visit

http://www.mediasoftpro.com/vsk50/user-guide/asp.net-comments-posting-script.html

For SDK and Demo visit

http://www.mediasoftpro.com/sdk/

Improved Video and Audio Publishing Script in Video Sharing Script.

04 December 2012

Uploading and encoding videos and audio files from almost every video and audio format, generate highest possible quality output and make it streamable for the web is one of the most complex in web development effort. From first release 2007 we contineously working hard in highest priority on this areas and contineously improving our script to make this process fast, reliable, scalable and provide best possible results.

Until current release of video starter kit 7.1, we face tremendeous amount of challenges including.

  • Introducing new video formats and streaming concepts time to time starting journey from flash flv encoding and streaming now extended to diverse mp4, webm, m3u8 and other streaming formats with diverse approaches. 
  • Popularity of mobiles devices add more challenges for adopting strategies for better streaming approaches (html5, flash etc)
  • Time to time introducing rich user interfaces, jquery and other uploading file approaches.
  • Starting from ftp and now cloud storage and streaming become much popular source for media stoage on multiple servers.
  • And lots of other challenges time to time.

We continously working hard to tackle these challenges while introducing concepts which support almost every current standards. We sometime face tough time as addition of feature cause unstability in our product encoding phases.

Recent Changes:

In order to make it more stable and reliable we made some restrictions and addition of new features in current encoding script.

Addition includes

  • Now support chunk video and audio uploading. Allow video to split in small pieces and join it again at server level when reach. 
  • Support background processings
  • Improved sheduled publishing script.
Restriction includes
In order to make this complex process reliable we made some restrictions.
  • If direct video publishing enabled (process videos and audio files suddenly after uploading comples) then no cloud storage support available. Media files can only be store in local drives.
  • In case of direct video publishing, only background processing will be enabled directly to perform encoding in background while allow website to perform other operations. Still encoding status will be shown on page to indicate encoding happens.
  • In case of shedule publishing (unpublished videos to be published in sequence after specified time interval), cloude storage will be utilitze.
  • In shedule publishing, no background processing will be enabled. it will be normal encoding process.
To make process simpler, we removed traditional multi server video and audio management via FTP. Now ftp transfer is no longer supported. Now script completely target cloud storage.
 
Hope this article will help you understand complexity involve in this area and our implementational changes in new release. (ASP.NET Video Starter Kit 7.1)

ASP.NET Video Starter Kit 7.1 Has Been Released!

04 December 2012

Today we released more stable and improved version of asp.net video starter kit 7.1 which is a core product of all sub products (videos, audio, photos, forums, blogs, qa, groups etc).

In this release we mainly focussed on stabilizing all advance features added in version 7.0 and make it more lighter and scalable. List of main improvements done in version 7.1

  • Improved video and audio publishing logic to make it more stable, reliable and fix bugs found in previous version.
  • Upgrade twitter bootstrap with latest version.
  • Fix browse issues found while implementing twitter bootstrap.
  • Facebook wallpaper style user profile with ability for users to post on their own walls (internal contents and external link share like facebook). Can be easily extended to allow friends to post on your wall or profile.
  • Improved video and audio uploading by allowing chunk uploads.
  • Background video and audio encoding introduced.
  • Improved script for sheduled video and audio processing.
  • Removed ftp uploading (classic style) content management while extending focus completely on cloud storage and streaming.
  • Removed other useless features.
  • Clean and made code lighter.
  • First time after six years of first release, we released free version of asp.net video kit lighter edition.
  • And hundreds of more features and fix.

We appreciate your feedbacks and bug reports. This help us to improve our product more.

ASP.NET Youtube Clone Free Version Released

02 December 2012

We just released free version of asp.net video sharing & youtube clone script today under open source LGPL license.

It is a complete script with all basic and advance features which allow you to created highly profitable social media sharing web site in asp.net.

You can download free version from https://aspnetyoutubeclone.codeplex.com/

It includes almost all features available in pro version with some advance feature limitations. you can see detail about these limitation on http://www.mediasoftpro.com/video-sharing-script.html

For help and discussion you can use the following forum.

http://www.mediasoftpro.com/forum/39/asp.net-video-starter-kit-amp-youtube-clone.aspx

We can provide additional installation service by one time fees.

We appreciate your feedbacks for releasing more free products soon.

You can get more free scription from http://www.mediasoftpro.com/aspnet-free-scripts/

ASP.NET Video Starter Kit 7.0 Video Encoding Process.

13 July 2012

ASP.NET Video Starter Kit 7.0 completely replaced video or audio publishing script with more reliable and advance encoding script based on newly developed video uploader and publisher engine.

New media encoding script allow you to set multi format (flv, mp4, webm, ogv), multi level (360p, 480p, 720p) youtube style video publishing mechanism by setting different settings within single encoding setting file.

Now you can easily setup your encoding routine to process source video to variety of ways including

  • convert source video to mp4 format,
  • convert source video to mp4, mp3 audio format.
  • convert source video to mp4, webm format
  • convert source video to mp4 (360p), mp4 (480p) format
  • convert source video to mp4 (360p), webm (480p) format
  • and more with your own way.

Now media settings can't be updated from control panel -> settings -> configuration -> media section, still you can set video extensions, etc from here. Now you can set different levelvideo encoding and settings via separate file. example shown below.

 public static MediaHandler ReturnMediaSettings(int itag)
{
     MediaHandler media = new MediaHandler();
     string RootPath = HttpContext.Current.Server.MapPath(HttpContext.Current.Request.ApplicationPath);
     string presetpath = RootPath + "\\ffmpeg\\presets\\libx264-baseline.ffpreset";
     switch (itag)
     {
             case 0: // 240p flv video settings
                     media.Width = 400;
                     media.Height = 240;
                     media.Video_Bitrate = 256;
                     media.Audio_SamplingRate = 22050;
                     media.Audio_Bitrate = 64;
                     media.OutputExtension = ".flv";
                     media.Force = "flv";
                     break;
             case 1: // 360p flv video settings
                     media.Width = 640;
                     media.Height = 360;
                     media.Video_Bitrate = 500;
                     media.Audio_SamplingRate = 44100;
                     media.Audio_Bitrate = 128;
                     media.OutputExtension = ".flv";
                     media.VCodec = "libx264";
                     media.Parameters = " -fpre \"" + presetpath + "\"";
                     break;
             case 2: // 480p flv video settings
                     media.Width = 854;
                     media.Height = 480;
                     media.Video_Bitrate = 1000;
                     media.Audio_SamplingRate = 44100;
                     media.Audio_Bitrate = 128;
                     media.OutputExtension = ".flv";
                     media.VCodec = "libx264";
                     media.Parameters = " -fpre \"" + presetpath + "\"";
                     break;
              case 3: // 720p flv video settings
                    media.Width = 1280;
                    media.Height = 720;
                    media.Video_Bitrate = 2000;
                    media.Audio_SamplingRate = 44100;
                    media.Audio_Bitrate = 128;
                    media.OutputExtension = ".flv";
                    media.VCodec = "libx264";
                    media.Parameters = " -fpre \"" + presetpath + "\"";
                    break;
               case 4: // 240p mp4 video encoding
                    media.Width = 400;
                    media.Height = 240;
                    media.Video_Bitrate = 256;
                    media.Audio_SamplingRate = 44100;
                    media.Audio_Bitrate = 128;
                    media.OutputExtension = ".mp4";
                    media.VCodec = "libx264";
                    media.Parameters = " -fpre \"" + presetpath + "\"";
                    break;
              case 5: // 360p mp4 video encoding
                    media.Width = 640;
                    media.Height = 380;
                    media.Video_Bitrate = 500;
                    media.Audio_SamplingRate = 44100;
                    media.Audio_Bitrate = 128;
                    media.OutputExtension = ".mp4";
                    media.VCodec = "libx264";
                    media.Parameters = " -fpre \"" + presetpath + "\"";
                    break;
              case 6: // 480p mp4 video encoding
                    media.Width = 854;
                    media.Height = 480;
                    media.Video_Bitrate = 1000;
                    media.Audio_SamplingRate = 44100;
                    media.Audio_Bitrate = 128;
                    media.OutputExtension = ".mp4";
                    media.VCodec = "libx264";
                    media.Parameters = " -fpre \"" + presetpath + "\"";
                   break;
              case 7: // 720p mp4 video encoding
                   media.Width = 1280;
                   media.Height = 720;
media.Video_Bitrate = 2200;
media.Audio_SamplingRate = 44100;
media.Audio_Bitrate = 96;
media.OutputExtension = ".mp4";
media.VCodec = "libx264";
media.Parameters = " -fpre \"" + presetpath + "\"";
break;
case 8: // 1080p mp4 video encoding
media.Width = 1920;
media.Height = 1080;
media.Video_Bitrate = 2900;
media.Audio_SamplingRate = 44100;
media.Audio_Bitrate = 152;
media.OutputExtension = ".mp4";
media.VCodec = "libx264";
media.Parameters = " -fpre \"" + presetpath + "\"";
break;
case 9: // 240p webm video encoding
media.Width = 400;
media.Height = 240;
media.Video_Bitrate = 256;
media.Audio_SamplingRate = 44100;
media.Audio_Bitrate = 128;
media.OutputExtension = ".webm";
media.VCodec = "libx264";
presetpath = RootPath + "\\ffmpeg\\presets\\libvpx-360p.ffpreset";
media.VCodec = "libvpx";
media.ACodec = "libvorbis";
media.Parameters = "-f webm -aspect 4:3 -fpre \"" + presetpath + "\"";
break;
case 10: // 360p webm video encoding
media.Width = 640;
media.Height = 380;
media.Video_Bitrate = 500;
media.Audio_SamplingRate = 44100;
media.Audio_Bitrate = 128;
media.OutputExtension = ".webm";
media.VCodec = "libx264";
presetpath = RootPath + "\\ffmpeg\\presets\\libvpx-360p.ffpreset";
media.VCodec = "libvpx";
media.ACodec = "libvorbis";
media.Parameters = "-f webm -aspect 4:3 -fpre \"" + presetpath + "\"";
break;
case 11: // 480p webm video encoding
media.Width = 854;
media.Height = 480;
media.Video_Bitrate = 1000;
media.Audio_SamplingRate = 44100;
media.Audio_Bitrate = 192;
media.OutputExtension = ".webm";
media.VCodec = "libx264";
presetpath = RootPath + "\\ffmpeg\\presets\\libvpx-360p.ffpreset";
media.VCodec = "libvpx";
media.ACodec = "libvorbis";
media.Parameters = "-f webm -aspect 4:3 -fpre \"" + presetpath + "\"";
break;
case 12: // 720p webm video encoding
media.Width = 1280;
media.Height = 720;
media.Video_Bitrate = 2200;
media.Audio_SamplingRate = 44100;
media.Audio_Bitrate = 192;
media.OutputExtension = ".webm";
media.VCodec = "libx264";
presetpath = RootPath + "\\ffmpeg\\presets\\libvpx-360p.ffpreset";
media.VCodec = "libvpx";
media.ACodec = "libvorbis";
media.Parameters = "-f webm -aspect 4:3 -fpre \"" + presetpath + "\"";
break;
case 13: // 1080p webm video encoding
media.Width = 1920;
media.Height = 1080;
media.Video_Bitrate = 2900;
media.Audio_SamplingRate = 44100;
media.Audio_Bitrate = 192;
media.OutputExtension = ".webm";
media.VCodec = "libx264";
presetpath = RootPath + "\\ffmpeg\\presets\\libvpx-360p.ffpreset";
media.VCodec = "libvpx";
media.ACodec = "libvorbis";
media.Parameters = "-f webm -aspect 4:3 -fpre \"" + presetpath + "\"";
break;
case 14: // mp3 audio encoding
media.DisableVideo = true;
media.Channel = 2;
media.Audio_SamplingRate = 4800;
media.Audio_Bitrate = 192;
media.OutputExtension = ".mp3";
break;
}
return media;
}

You can add more options and update existing options based on your encoding settings.

How to enable encoding based on your selected settings?

You can just pass setting id as string or array list to media encoder class which is responsible for publishing videos. e.g if you want to allow script to encode 360p mp4 encoding, just add the following script in video uploader file.

ArrayList itags = new ArrayList();
itags.Add("5");encoder.iTags = itags;

e.g if you want to encode 360p mp4 video and mp3 audio file for listing audio as alternative source. do the following settings.

ArrayList itags = new ArrayList();
itags.Add("5");itags.Add("14");encoder.iTags = itags;

Once updated, rest of videos will be published based on your settings.

You can enable cloud storage to store published videos and audio files to cloud (builtin amazon s3 supported), you need to setup, enable cloud storage from control panel -> settings -> configurations -> cloud setting section  inorder to perform storage properly.

encoder.EnableCloudStorage = true;

You can delete source video after publishing by using the followng setting

 encoder.DeleteSource = true;

Hope this guide will help you to implement best possible approach for encoding high quality videos and audio files  via asp.net video starter kit 7.0 applicatioin.

ASP.NET Image Crawler Script.

11 July 2012

ASP.NET Photo or Image Crawler Script is buitin part of asp.net video starter kit or asp.net photo sharing script, which is small image crawler script allow you to fetch images from any third party websites, download images, prepare images (generate mid or small thumbs), store images on your server or cloud storage, create photo albums and create blog posts from generated photos automatically in one step.

Main Features:

 

  • Crawl and fetch photos from almost every type of website or page which include photos.
  • Allow option to create new album or add fetched photos in existing album
  • Allow option to create blog post from list of fetched photos.
  • Allow options to choose category, tags and other information for fetched photos, albums and blog posts.
  • Allow options to review and select best fetched photos and delete remaining.
  • Allow options to globally set photo caption or individually update photo title, tags, categories, description.

Script can be more extended to crawl and fetch photos from whole website. It can be extended to generate image search engine for crawling complete websites, fetch photo information, generate thumbs and store photo index information to allow users to search indexed photos.

It allows flexibility to add hundreds of thousands of photos within few days which normally takes months or years of effort.

Script can be used for lots more purposes.

Demo on Youtube

\r\n

Recommended to use such crawler for fetching normal, non copyright or your own materials.

ASP.NET Facebook Style Groups & Community Script.

10 July 2012

ASP.NET Video Starter Kit introduced advance facebook style groups and community management script which allows developer to build their own professional community portal or integrate community feature in existing asp.net website.

It include all features required to build professional facebook style complete community or group portal.

There are hundreds of feature available, main feature includes

    • Allow users to create group and manage groups.
    • Allow users to manage group contents.
    • Allow users to invite other members.
    • Join or leave groups.
    • Search within group contents.
    • Professional facebook style content sharing within group.
    • Allow flexibility to add almost every type of content within group.
    • Allow administrators to manage all groups, group members and contents.
    • Advance mail communication between group members, authors and admins.
    • and lots of more features.

 

For more detail visit group detail section. http://www.mediasoftpro.com/asp.net-group-portal.html

Watch Facebook Style Content Sharing Demo on Youtube.

Professional Photo Uploader in ASP.NET Video Starter Kit 7.0

08 July 2012

ASP.NET Video Starter Kit 7.0 introduced advance professional photo uploader with ability to upload multiple photos at once, generate medium thumb, small thumb for different previews, store photos on local or cloud storage and photo information in database and generate professional photo album preview.

List of core features available in asp.net video starter kit 7.0 photo uploader.

  • Support upload multiple photos at once.
  • Generate mid thumb and small thumb for blog or listing preview.
  • Store photos locally or on cloud storage, amazon s3 builtin supported.
  • Allow updating muliple photo information in facebook style.
  • Allow creating album, storing photos in new album or existing albums.
  • Allow uploading photos to groups.
  • Allow generating facebook style photo uploading activity.
  • And lots more.

Video Demo

Advance Video Uploader With Progress Bar in ASP.NET Video Starter Kit 7.0

08 July 2012

ASP.NET Video Starter Kit 7.0 introduced advance video uploader which is more faster, lighter, reliable and have ability to process multiple videos at once. 

The following core features available in new video uploader.

 

  • Completely rewritten from scratch to upload and publish videos more fastly and reliably.
  • Use newly written professional video processing, thumb grabbing and information parsing script with ability to support multi format (mp4, wmv, flv, webm, ogv, mp3 etc), multi level (360p, 480p etc) publishing at once from single video. more detail
  • Support storing videos locally or on cloud storage. Builtin support for amazone s3.
  • Support streaming videos directly from cloud, builtin support for amazon cloudfront streaming (adobe flash streaming server supported)
  • Support ability to grab multiple thumbs from single video.
  • Support upading information of multiple uploaded video in facebook, youtube style.
  • Support creating albums and upload videos in newly created album or existing album.
  • Support uploading videos to groups directly.
  • Generate professional video uploading facebook style activity post. display in user public profile.
  • and lots of more features.

Youtube Video Preview.

ASP.NET Video Starter Kit 7.0 Has Been Released!

07 July 2012

We just released asp.net video starter kit after more than year of effort to make it lighter, faster and more scalable.

We have added lots of new features, addition of new core sections and added hundreds of improvements in almost every section, module or features within asp.net video starter kit solution. 

It is now fully compatible with next generation user interface development tools (Jquery + Twitter Bootstrap)

For more information, visit http://www.mediasoftpro.com/video-starter-kit/7.0/whats-new.html

Group Related Categories in Single Unit - ASP.NET Category Listing Script.

06 March 2012

Asp.net category listing script allows developer to create professional category listings, separate listing for different types of content (click here for detail) and provide ability to group related categories into single units within each type of content.

There are situations where you need to group related categories into single unit even for same type of contents. e.g you need to split car photo categories into smaller unites with related behaviours like

Auto Maker (Honda, Toyota, Lexus, Porsche, BMW, Mercedes etc)

Vehicle Style (Convertible, Coupe, Sedan, SUV)

Vehicle Types (Hybrid, Diesel, Budget, Luxury, Racing, Police)

Auto Shows (Geneva, Paris, New York etc)

Enthusiast (Antique Cars, Exotic Cars etc)

Under above example all categories belong to same category types (photos) or (auto photos) but internally they have differences. This will create confusing category listing if you not split these various category listing into single units which have similarities.

So asp.net category listing script will simplify this by introducing property mode. Using mode property you can

  •  Assign unique mode to each category while adding
  • Load categories and generate listing based on selected type and mode.

How To Create Modes

Under category management, site administrator can add and assign unique id to each mode within drop down listing. Sample modes shown below.

<asp:ListItem Text="Normal" Value="0" Selected="True"></asp:ListItem>

<asp:ListItem Text="Auto Maker" Value="1"></asp:ListItem>

<asp:ListItem Text="Vehicle Style" Value="2"></asp:ListItem>

<asp:ListItem Text="Vehicle Types" Value="3"></asp:ListItem>

<asp:ListItem Text="Auto Shows" Value="2"></asp:ListItem>

How to Filter Records Based on Type and Mode

By setting two lines of code for asp.net category listing user control you can filter category listings based on type and mode. Examples are below

cat.Type = 0; // e.g represent photos
cat.Mode = 1; // represent auto maker
cat.Title = "Auto Maker";

Example 2:
cat.Type = 0; // e.g represent photos
cat.Mode = 2; // represent vehicle style
cat.Title = "Vehicle Style";

Example 3:

cat.Type = 0; // e.g represent photos
cat.Mode = 3; // represent vehicle type
cat.Title = "Vehicle Type";

Example 4:
cat.Type = 0; // e.g represent photos
cat.Mode = 4; // represent auto show
cat.Title = "Auto Shows";

Hope this article will help you understand importance of using property "Mode" and "Type" togather for filtering and grouping category listings in useful manner.

Manage Categories for Different Type of Content.

06 March 2012

ASP.NET Category Listing Script support creating category listing for almost every type of needs. (simple listing, navigation links and menus, advance directory listings).

There are scenarios where you need to manage categories separately for different contents. e.g you need to create separate category listing for photos, videos, classified, forums, blogs etc.

In order to manage categories separetly for different types of contents, asp.net category listing script provide a property "Type" through which you can

  • Create new type (register it within type dropdown in category management and assign unique id e.g 0 -> videos)
  • Create directory and assign type e.g for video category (0 -> videos)
  • At time of generating script, use type=0 to load only those categories assigned with value (Type=0 -> videos)

You can create list of types and add these types in dropdowns in order to allow administrator to add categories and assign category with correct type in order to load it in correct section.

Example List of Types

e.g in asp.net video starter kit the following type list is used mainly.


  • Type -> 0 for Video Categories
  • Type -> 1 for Group Categories
  • Type -> 2 for User Channels
  • Type -> 4 for Abuse Types
  • Type -> 5 for Photos / Galleries
  • Type -> 6 for Blogs / Articles
  • Type -> 7 for Audio Files

Register Types

You can easily add types in Type Drop Down under manage categories, process categories section in control panel. Sample drop down listing as shown below.
 
<asp:ListItem Text="General" Value="3"></asp:ListItem>
<asp:ListItem Text="Videos" Value="0"></asp:ListItem>
<asp:ListItem Text="Channels" Value="2"></asp:ListItem>
<asp:ListItem Text="Abuse Types" Value="4"></asp:ListItem>
<asp:ListItem Text="Classified" Value="13"></asp:ListItem>
 

Create Category

e.g if you want to create new video category, click on "add category" link and choose type "videos" from dropdown. This will create and assign category with type "videos"
 

Loading Type Video Categories

If you want to load categories of type video. e.g video type -> 0 you need to use the following one line of code while using asp.net category listing user control.

Categories1.Type = 0;
Hope this article will help you understand managing categories for different contents.

iPhone HTTP Streaming using ASP.NET, C# and VB.NET

02 February 2012

With iPhone OS 3 update came the ability to do live streaming. There are a few types of streaming and each requires a certain encoding and segmentation. In this example i am building stream using asp.net media handler pro, open source ffmpeg and segmenter utility.

Requirements

i: asp.net media handler pro

ii: open source ffmpeg utility

iii: segmenter

Steps

Publish video to iphone device

Supported Settings For Iphone

The supported bitrates for streaming are: 100 Kbps to 1.6 Mbps

The suggested bitrates for streaming are*: Low – 96 Kbps video, 64 Kbps audio

Medium – 256 Kbps video, 64 Kbps audio

High – 800 Kbps video, 64 Kbps audio

The iPhone screen size is: 480×320

Suggested ffmpeg command for encoding iphone video

ffmpeg -i <in file> -f mpegts -acodec libmp3lame -ar 48000 -ab 64k -s 320×240 -vcodec libx264 -b 96k -flags +loop -cmp +chroma -partitions +parti4x4+partp8x8+partb8x8 -subq 5 -trellis 1 -refs 1 -coder 0 -me_range 16 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -bt 200k -maxrate 96k -bufsize 96k -rc_eq 'blurCplx^(1-qComp)' -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -level 30 -aspect 320:240 -g 30 -async 2 <output file>

 

Segment Video For Http Streaming

Now you have a complete video but you don't want to toss the entire thing up or you wouldn't be reading about HTTP streaming. What you need is a way to segment the video stream into smaller chunks. You can download Apple's segmenter 

Publishing Iphone .TS Video and Making Playlist Segment via ASP.NET Media Handler Pro

Below sample code will help you to publish .ts (video/MP2T) video and create .m3u8 (application/x-mpegURL) segments via segmenter tool.

MediaHandler media = new MediaHandler();

string RootPath = Server.MapPath(Request.ApplicationPath);

media.FFMPEGPath = RootPath + "\\\\ffmpeg\\\\ffmpeg.exe";

media.InputPath = RootPath + "\\\\contents\\\\hls";

media.OutputPath = RootPath + "\\\\contents\\\\hls";

media.FileName = "a.wmv";

media.OutputFileName = "a";

media.OutputExtension = ".ts";

media.Parameters = "-f mpegts -acodec libmp3lame -ar 48000 -ab 64k -vcodec libx264 -b 96k -flags +loop -cmp +chroma -partitions +parti4x4+partp8x8+partb8x8 -subq 5 -trellis 1 -refs 1 -coder 0 -me_range 16 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -bt 200k -maxrate 96k -bufsize 96k -rc_eq 'blurCplx^(1-qComp)' -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -level 30 -aspect 320:240 -g 30 -async 2 -s 320x240";

VideoInfo info = media.Process();

if (info.ErrorCode > 0)

{

    Response.Write("Error Occured: " + info.ErrorCode);

    return;

}

media.ServicePath = RootPath + "\\\\segmenter\\\\segmenter.exe";

string ts_filename = "\\"" + media.OutputPath + "\\\\a.ts\\"";

string m3u8_filename = "\\"" + media.OutputPath + "\\\\stream.m3u8\\"";

string prefix = "\\"" + media.OutputPath + "\\\\stream\\"";

media.Parameters = ts_filename + " 10 " + prefix + " " + m3u8_filename + " http://www.example.com/";

string output = media.ProcessCMD();

Response.Write(output);

This code will generate output .ts video with .m3u8 and segment playlist.

Add Mimetype

In order to stream .ts and .m3u8 format files properly you must add the following two mimetypes

.m3u8 application/x-mpegURL

.ts video/MP2T

 

Test Streaming

The video is encoded for the iPhone, segmented for streaming, and the server is configured. The only thing left to do is test the stream and the fastest way to do that is to use the new HTML5 video tag.

<video width='150' height='150' src="stream-128k.m3u8" />

Generating Google and Yahoo Sitemaps in ASP.NET Video Starter Kit.

03 November 2011

ASP.NET Video Starter Kit support both google sitemap and yahoo ror sitemap generator and yahoo ror sitemap generator for posting dynamic content listing urls to google, yahoo, bing and other search engines.

These sitemaps helps your website contents to be fastly crawled and index by google, yahoo, bing and other search engines and in result with organic visitors increase (visitors comes through search results)

List of sitemaps supported by asp.net video starter kit 6.0

  •  Category Urls (for submitting category urls to search engines)
  • Tag Urls (for submitting tag cloud urls to search engines)
  • Video & Audio Urls ( for submitting videos and audio file urls to search engines)
  • Photo Urls (for submitting photo urls to search engines)
  • Gallery Urls (for submitting gallery urls)
  • Blog Urls (for submitting blog urls)
  • Forum Urls (for submiting forum urls)
  • Forum Topic Urls (for submitting forum topic urls)

 

Both Google and Yahoo sitemaps supported for content types mentioned above.

All sitemap files located at /sitemaps/ folder.

You can register these sitemaps through webmaster tools e.g Google Webmaster Tool, Yahoo Webmaster Tool, etc

Each sitemap can generate upto 50,000 Urls (maximum restriction of search engines), if your website records exceeds 50,000 records for specific section e.g videos you can generate another sitemap for next 50,000 records by passing pagenumber.

You can submit different types of content sitemap by using "type" querystring e.g

    • category_urls.asxh?type=0 // represent video categories
    • category_urls.asxh?type=1 // represent photo categories

Free and Paid Membership in ASP.NET Video Starter Kit 6.0

02 November 2011

ASP.NET Video Starter Kit version 6.0 introduced new level of membership management. Now site administrator can allocate resources, restrict account usage for free members and allow paid members to enhance their account usages and credits by purchasing paid packages.

Now site administrator can

    • Enable, Disable Resource Allocation and Membership Process
    • Create unlimited number of free and paid packages
    • Assign any free package with free user
    • Free user can upgrade their membership by purchasing any of available paid package.
    • Paypal integration of payment
    • Payment history will be generated for user under purchase history section and for site administrator.
    • User account resources will be upgraded according to package purchased.

 

Enable Package Management:

It can be enabled from control panel -> settings -> configurations -> features -> display packages

Manage Packages:

Packages can be managed through control panel -> settings -> package management section

Site administrator can add unlimited number of free and paid packages and can update package information any time.

Features Available in Each Package:

In each package site administrator can manage

 

    • Package Name
    • Package Description
    • Price
    • Credits (available credits to be used for purchasing premium contents)
    • No of uploaded videos (maximum allocation for uploading videos)
    • No of uploaded audio files (maximum allocation for uploading audio files)
    • No of photo galleries (maximum photo galleries to be allowed to create)
    • No of uploaded photos (maximum number of photos to be allowed)
    • No of blog posts (maximum number of blog posts allowed)
    • Space Video (maximum number of space allocated for videos in MB)
    • Space Audio (maximum number of space allocated for audio files in MB)
    • Space Photo (maximum number of space allocated for photo storage)
    • Package Type (free or paid package)

 

Site admin can assign any of free package to normal users. At time of registeration user account will be update with assign package information. so user will be restricted to use account with package limitation.

If membership package is disabled, free user have unlimited access to user and upload contents without any limitations.

Package Purchasing:

Free or paid user can upgrade their account usage any time by selecting any paid package from list of available packages. Once purchased, their account remained usage stats will be upgraded.

If user try to upload video and there is no sufficient balance avaialble to upload videos, then sript will automatically redirect user to purchase package section.

Payment Options:

User can purchased any package through paypal.