Blogs & Articles

The latest news and announcements about our products and services.

ASP.NET Video Starter Kit 7.0 Has Been Released!

  • 07 July 2012

We just released 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 video starter kit solution. 

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

For more information, visit

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

  • 06 March 2012 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 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 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, 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 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 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 media handler pro, open source ffmpeg and segmenter utility.


i: media handler pro

ii: open source ffmpeg utility

iii: segmenter


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);



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 + "";

string output = media.ProcessCMD();


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 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.

Multi Language Implementation in ASP.NET Video Starter Kit

  • 01 November 2011

ASP.NET Video Starter Kit 6.0 introduced new approach for managing multiple language, culture user interface to provide ability for user to switch user interface language according to their desired region specific culture or languages settings.

Previous versions of video starter kit only support multiple culture specific resource files and admin can only set website specific culture via web.config file, so user have no ability to change language, culture with their own will.

Now using video starter kit 6.0, site administrator can

    • Enable Disable Multi Language User Interface Support
    • Manage all languages through control panel / settings / language management section.
    • Set default language
    • Add or register new language
    • Choose languages from list of country specific languages to appear on front page.
    • Advance options to filter contents based on user culture specific language settings.

If multi language option is enabled from /control panel / settings / configurations / features , list of enabled languages will be shown on front section of website. When user click on any of country flag, whole user interface of website will be translated to selected language or culture.

User language selection will be stored in cookie in order keep preserved user selected language without setting it again.

If advance language specific filter is enabled, then whole website contents will be filters for user based on user selected language or culture settings.

e.g if user choose spanish as language and if content specific option is enabled (control panel / settings / configurations / features) then only spanish related contents will be display on website for selected user.

Under new implementation you can manage unlimited number of regional languages, enable unlimited number of language support for front section.

Site administrator can create new language file by translating any of existing resource file located at /app_globalresources/ section.

We translated all resource files using Google Translator.

ASP.NET Image Handler To Resize and Preview High Quality Images in Real Time

  • 01 November 2011

In this article we will provide information and sample codes for creating image handler file in, c# or which can be used to resize image, generate highest quality output and show image preview in real time.

You can directly use image handler in image src path to process and display output on browser.

Such handler file have lots of advantages, e.g

  • Provide ability to resize image in real time and display output on browser.
  • Protect image direct path from access.
  • Add lots of other validation to protect images from anti leeching.

Image handling have some drawbacks

  • Consume resources and performance issues so should be used in cases where its needed. e.g if you provide system for user to prepare image for mobile photo, iphone, psp, high definition, and according to different screen resolutions.

Handler file can be called as

<img src="imagehandler.ashx?filename=abc.jpg"...

Code for generating image handler.

GenerateThumbnail function will be used to generate highest possible quality output based on three paramters,

lcFilename (complete path of source photo), width (output width of photo), height (output height of photo)

Code is shown below

private byte[] GenerateThumbnail(string lcFilename, int Width, int Height)

        //Image img = Image.FromStream(fStream);
        //Image thumbnailImage = img.GetThumbnailImage(Width, height),
        //      new Image.GetThumbnailImageAbort(ThumbnailCallback), IntPtr.Zero);

        Bitmap loBMP = null;
        Bitmap bmpOut = null;
            loBMP = new Bitmap(lcFilename);
            ImageFormat loFormat = loBMP.RawFormat;
            Size newSize = new Size();
            newSize.Height = Height;
            newSize.Width = Width;
            bmpOut = new Bitmap(newSize.Width, newSize.Height);
            Graphics canvas = Graphics.FromImage(bmpOut);
            canvas.SmoothingMode = SmoothingMode.AntiAlias;
            canvas.InterpolationMode = InterpolationMode.HighQualityBicubic;
            canvas.PixelOffsetMode = PixelOffsetMode.HighQuality;
            canvas.DrawImage(loBMP, new Rectangle(new Point(0, 0), newSize));
        catch (Exception ex)
        MemoryStream imageStream = new MemoryStream();
        bmpOut.Save(imageStream, System.Drawing.Imaging.ImageFormat.Jpeg);

        byte[] imageContent = new Byte[imageStream.Length];
        imageStream.Position = 0;
        imageStream.Read(imageContent, 0, (int)imageStream.Length);
        return imageContent;

GenerateThumbnail function to be called in ProcesRequest method to output resized thumb.

if (File.Exists(strPath))

     ht = new Hashtable();
     //FileStream fInfo = new FileStream(strPath, FileMode.Open);
     byte[] bFile;
     bFile = GenerateThumbnail(strPath, width, height);
     ht.Add(this.ImageID, bFile);

Byte[] arrImg = (byte[])ht[this.ImageID];
context.Response.ContentType = "image/jpeg";

Hope this code will help you generate image handler with highest possible image output.


User Role Based Permission in ASP.NET Video Starter Kit.

  • 01 November 2011

New advance role based permission system has been introduced for users in video starter kit 6.0. Via role based management site administrator can provide different levels of permission to certain users or default registered users.

Site administrators can create unlimited role based permission settings and assign any role based settings to default users. If there is no role based settings set, then all user will be free to use all website resources without any validation.

The following types of permissions can be set in each settings.

    • Permission to upload videos
    • Permission to upload audio files
    • Permission to upload photos
    • Permission to create galleries
    • Permission to post blog posts
    • Permission to create groups


Site administrators can manage permissions via

Control Panel / Settings / User Role Based Permissions Section

Site administrator can create permissio settings and assign any permission settings for default users (user who register directly via registeration process or using facebook login)

Site administrator can give specific permission settings to any user through member management section.

In this way site administrator can control which type of users to give which type of permissions while using website.


ASP.NET Video Starter Kit 6.0 Has Been Released

  • 01 November 2011

ASP.NET Video Starter Kit & Youtube Clone 6.0 has been release with addition of more advance features, introducing new sections, updates hundreds of existing features, more infrastructure changes, restructured configuration section and provide sdk to developers to make customization of solution easy fastly and reliably.

What's New in ASP.NET Video Starter Kit 6.0

SDK Section

New Configuration Management

Live Demo

Live Theme Previews

We appreciate customer feedbacks to introduce and build more powerful products in future.


HTTP Pseudo-Streaming in ASP.NET Video Starter Kit

  • 27 March 2011

Both MP4 and FLV videos can be played back with a mechanism called HTTP \r\nPseudostreaming. This mechanism allows your viewers to seek to not-yet \r\ndownloaded parts of a video. YouTube is an example site that offers this\r\n functionality.

Previously we implement HTTP Pseudostreaming concept based on server \r\nside scripting. Such a script have lots of disadvantages such a script \r\nconsumes a lot of resources, has security implications and can only be \r\nused with FLV files mostly.

Now we encourage user to implement proper HTTP Pseudostreaming through \r\ntheir webserver rather than using any script. HTTP Pseudostreaming does \r\nnot work by default on any webserver. A serverside module is needed to \r\nenable it.

The most popular module is H264 Streaming Module which allow user  to \r\nimplement Http Pseudo streaming for mp4 videos through IIS web server.
How to Setup?

IIS 6 Instructions
IIS 7 Instructions

Once module is enabled, it will stream mp4 videos properly through JW \r\nPlayer as already implemented in ASP.NET Video Starter Kit.

Youtube DATA API in ASP.NET Video Starter Kit

  • 27 March 2011

Youtube Data API lets you incorporate YouTube functionality into your own application or website. The Data API allows a program to perform many of the operations available on the YouTube website. It is possible to search for videos, retrieve standard feeds, and see related content.
ASP.NET Video Starter Kit 5.5 introduce fetching videos from youtube based on various search terms and targeted categories using Youtube Data API.
You can  use video starter kit portal as a mini youtube website to retrieve millions of videos uploaded daily to your own website and manage it with your own way. This will make your website healthy, data rich which can increase your visitors from search engines tremendeously in result you will create great earning opportunity.
Which type of Youtube Data API features supported by ASP.NET Video Starter Kit?
Currently viideo starter kit using features related to fetching videos from youtube. Main feature includes.

  • Fetch videos based on youtube categories e.g (Science & Technology)
  • Fetch videos based on search terms. work on all categories or selected category.
  • Fetch videos based on filters e.g today, this week, this month, all time added videos
  • Fetch videos based on orders e.g published, relevance, top rated, most viewed etc
  • Manage videos in different website custom categories with your own way.
  • Validate videos periodically to delete or disable all videos which is removed from youtube.
  • Automatic fetching supported, to fetch videos based on custom selection continuously after specified time interval.
  • Advance video tag processing engine allow you to process each and every\r\n youtube video tags in a scalable, create search suggestions and add it \r\nin tag clouding after admin review.
  • Allow admin to choose best videos as featured videos to show it on special sections and high priority in related video listing.
  • Allow admin to create blog posts from choosen videos, which can be shared accross twitter or facebook accounts.

How to enable Youtube DATA API in ASP.NET Video Starter Kit?
You need to perform the following steps in order to enable youtube data api on video starter kit solution.

  • Register Youtube API developer key at
  • Put registered developer key and name of website under control panel / configuration / youtube sdk / section.
  • Put username in order to assign all fetch videos with website user.
  • Go to video/Default.aspx and replace current video player with youtube customized player located at modules/ytplayer.ascx
  • Go to video/Default.aspx.cs or .vb file and adjust ytPlayer.ascx properties and comment default player properties. e.g player1.Embed_Script = _script;
  • That's it, go to control panel / youtube sdk section and start fetching videos from youtube.

ASP.NET Video Starter Kit 5.5 has been released.

  • 27 March 2011

We have released ASP.NET Video Starter Kit ver 5.5 today with lots of new features, improved existing codes and make it more reliable and scalable at high level of load and data.

ASP.NET Video Starter Kit include lots of new features, the main important feature is integrating Youtube DATA SDK to fetch millions of videos from youtube and manage it with your own way.
Now admin can enable youtube engine to start fetching videos based on their interest from youtube by keeping their own website active and full of content. Videos can be fetch based on youtube categories and search terms with filtering option based on today, this week, this month or all time videos.
Live example of how you can manage videos, increase your website traffic and increase your earning chances.
Other feature includes
  1. Implement JW Player 5.5 with HTML 5 Support. We recommend using mp4 videos as output type to play it properly on HTML 5 enabled devices such as ipad.
  2. Improved tag processing if reach to millions.
  3. Now implemented powerful and advance url rewriting in case of IIS 7 as webserver.
  4. Improved blog posting script.
  5. Improved lots of sections, fix bugs reported by customers.
We appreciate sharing feedbacks and reporting bugs. This help us to improve our products and better serve u in future.

ASP.NET Video Starter Kit Packages Reviewed.

  • 27 March 2011
These packages have been cancelled - now user can get every package with unlimited usage license

From last three years we provide video starter kit packages based on feature differences to customers. Which create not only problem to us while maintaining different copies but also for customers while upgrading some features.

Now we reviewed and re-designed video starter kit packages based on license like other does.
ASP.NET Video Starter Kit packages now available in three categories with same features but different in scope.
  • ASP.NET Video Starter Kit - (single website)
  • ASP.NET Video Starter Kit Advance Edition - (single server)
  • ASP.NET Video Starter Kit Unlimited Edition - (no limit)
Note: All packages have same source / features but there is limitation in scope. e.g single website license version will only work on single website. It may work on multiple websites but any time all websites will be down. So in order to use on multiple websites or servers u need to get proper package.
Customer can purchase any package from purchase section of website.

Create and Customize Video Starter Kit Themes & Design

  • 25 October 2010

Video Starter Kit include more than twenty professional looking themes and provide flexibility to create your own themes or customize existing theme or change complete look and feel in just few minutes.

Video Starter Kit be default light weight JQUERY UI compatible design and themes. You can use JQUER UI Theme Roller to create any level of theme and embed it within Video Starter Kit solution just by following few steps.

Just follow easy steps to create your own them using JQUERY UI Theme Roller.

  • Go to , choose template and start edition template by choosing your own color scheme and styles.
  • Once theme created download complete bundle to your computer.
  • Unzip downloaded theme and jquery script zip file.
  • Under Video Starter Kit solution, create new theme, copy files from any of existing theme, paste copied files into newly created theme.
  • Now open unzipped downloaded custom theme folder, go to jquery-ui-1.7.3.custom\\css\\custom-theme folder and copy images folder.
  • Paste all files within images folder into newly created Video Starter Kit theme images folder.
  • Go to jquery-ui-1.7.3.custom\\css\\custom-theme and open jquery-ui-1.7.3.custom.css theme css class, copy all class until .ui-widget-shadow {---}... class.
  • Open newly created theme \\app_themes\\newthem\\jquery-ui.css file and replace all css files with copied css files except ui-dialog {...} classes at the end.
  • Setup theme in web.config file
  • This will update jquery ui theme within your Video Starter Kit template.
  • Rest for layout customization, just open app_themes\\newtheme\\layout.css file and adjust color schemes for text, links, headers, navigations, backgrounds according to your custom color.
  • run your website your will see totally changed look and feel.

Play with layout.css file, you can change complete look and feel of Video Starter Kit in few minutes.

If you face problem report it to us with detail.