Click here to Skip to main content
15,867,686 members
Articles / Web Development / HTML5
Article

Stream Video Files to Any Device with LEADOOLS Media Streaming

11 Aug 2015CPOL4 min read 19K   1  
The LEADTOOLS Media Streaming Server SDK provides developers with a framework to quickly and easily build professional audio/video multimedia streaming applications for playback on any device

This article is in the Product Showcase section for our sponsors at CodeProject. These articles are intended to provide you with information on products and services that we consider useful and of value to developers.

Introduction

Clients have high expectations for video streaming playback, and the responsibility of a positive user experience is almost completely in the server's court. Even in the case of a poor or fluctuating connection, clients expect to have continuous playback without stuttering or long buffering pauses. Furthermore, viewers expect to view the same video on all of their devices. This is no small order for content providers.

A plethora of complicated multimedia tasks await the content provider: convert files to the format requested by the client, adaptively scale the quality based on the client's current connection speed, managing multiple clients watching different videos, and the actual streaming itself.

The LEADTOOLS Media Streaming Server SDK provides developers with a framework to quickly and easily build professional audio/video multimedia streaming applications for playback on any device. This advanced technology takes any file or repository and converts it on the fly to a variety of formats and industry-standard protocols including Flash, Apple HTTP Live Streaming, Microsoft Smooth Streaming, RTSP and HTML5. With this high-level component, very little coding is required and dynamic media streaming can be implemented at a fraction of the cost of other proprietary methods.

Key Features of the Media Streaming Server SDK

  • High-level Media Streaming Server framework with minimal coding required
  • Place any audio/video media file on the server and stream to any client
    • Adobe Flash RTMP — for any web browser that has Adobe Flash installed
    • Adobe HTTP Dynamic Streaming (HDS) — for most web browsers that have Adobe Flash installed
    • Apple HTTP Live Streaming (HLS) — for Apple iPad / iPhone and Android devices
    • MPEG-DASH — for most web browsers that have Adobe Flash installed
    • Microsoft Smooth Streaming (SSF) — for web browsers with Microsoft Silverlight installed
    • RTSP/RTP — for web browsers with the Apple QuickTime or VLC RTSP plugin installed or any application that supports RTSP
    • RTSP/RTP (MPEG-2 transport) — for web browsers with Apple QuickTime or VLC RTSP plugin installed or any application that supports RTSP
    • RTSP/RTP over HTTP — for web browsers with Apple QuickTime or VLC RTSP plugin installed or any application that supports RTSP
    • HTML5 Video — for most web browsers with HTML5 support (PC and mobile devices)
  • Automatically convert videos on the fly from a single base format to minimize recompression
  • Configure server settings programmatically or with XML files
  • Supports custom, application-defined properties and settings
  • Monitor and manage connected users
  • Flexible filters and demultiplexers allow for continuous streaming with changing formats
  • Stream high-quality videos at Full HD 1080p resolution
  • Broadcast audio/video content compressed with LEADTOOLS' industry-leading compression technology

Setting up the Server

Just how easy is it to set up a professional-quality media streaming server that enables playback on any device? With LEADTOOLS, all it takes is three lines of code to get the job done.

Leadtools.MediaStreaming.Server _server = new Leadtools.MediaStreaming.Server();
_server.ImportConfigFile("%ltmsConfigFolder%\\LeadtoolsMediaStreamingServer.xml");
_server.Start();

Using the Media Streaming Server could hardly be any easier. Developers can place this code into a service application, register the required DLLs and call it a day, which demonstrates just how powerful and programmer-friendly LEADTOOLS' new framework really is.

Practically, of course, administrators will want a GUI to manage the server, enable logging, view connected clients, etc., and LEADTOOLS doesn't leave them hanging. In addition to the high-level components and demos built around the rich Media Streaming features, LEADTOOLS provides the Server Manager demo to provide an intuitive interface for starting, stopping and configuring the server. Default settings enable all formats and their required MIME types, and can be pared down to whatever formats developers and administrators choose to support.

Image 1

Client-side Playback

One of the most beautiful aspects of the LEADTOOLS Media Streaming Server is that nothing needs to be done by the client. Many devices can play videos streamed from the server natively or in their browser with a plugin such as Flash or Silverlight. The playback example pages shipped with the SDK also include the URL needed for playing back in native clients (e.g. rtsp://mediaserverdemo.leadtools.com:80/vod/sample.mp4/qt.sdp).

When a client connects to the server, the Media Streaming SDK uses the client's device type, browser and connection properties to choose the best format, compression and bitrate which provides an optimal playback experience for the user. If changes or problems occur with the connection, the Media Streaming Server will adapt and maintain continuous playback and strive to serve the best possible quality.

Image 2

Image 3

Conclusion

Meeting the high expectations and demands of video streaming viewers is a tough challenge due to the number of available devices, browser, formats and connections. However, any software developer or server administrator can use the LEADTOOLS Media Streaming Server SDK to rapidly and cost-effectively implement a professional-grade streaming server with support for all of today's most popular streaming formats and adaptive quality scaling.

Download the Full Media Streaming Server Example

You can download the fully functional demo which includes the features discussed above. To run this example you will need the following:

  • LEADTOOLS free 60 day evaluation
  • Visual Studio 2008 or later
  • Browse to the LEADTOOLS Examples folder (e.g. C:\LEADTOOLS Multimedia 19\Examples\) where you can find example projects for this and many more technologies in LEADTOOLS

Support

Need help getting this sample up and going? Contact our support team for free technical support! For pricing or licensing questions, you can contact our sales team (sales@leadtools.com) or call us at 704-332-5532.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Help desk / Support LEAD Technologies, Inc.
United States United States
Since 1990, LEAD has established itself as the world's leading provider of software development toolkits for document, medical, multimedia, raster and vector imaging. LEAD's flagship product, LEADTOOLS, holds the top position in every major country throughout the world and boasts a healthy, diverse customer base and strong list of corporate partners including some of the largest and most influential organizations from around the globe. For more information, contact sales@leadtools.com or support@leadtools.com.
This is a Organisation (No members)


Comments and Discussions

 
-- There are no messages in this forum --