Deliver an uninterrupted video streaming experience

Use ImageKit's easy-to-implement Adaptive Bitrate Streaming to build a great viewing experience for your users.

Get ready for streaming in seconds, not months

URL-based parameters to generate DASH or HLS streaming manifests in near real-time that work with any video player. No extensive pipelines or cloud configurations needed to get started.

HLS
DASH
<html>
<head>
  <link href="https://unpkg.com/video.js/dist/video-js.css" rel="stylesheet">
</head>

<!-- 
  Original video URL is https://ik.imagekit.io/ikmedia/sample-video.mp4
  We need to append /ik-master.m3u8?tr=sr-240_360_480_720 to generate HLS manifest and four variants at differernt resolutions i.e. 240p, 360p, 480p and 720p.
  Read more about it from the docs https://docs.imagekit.io/features/video-transformation/adaptive-bitrate-streaming
-->
<body>
  <video-js id="example-video" class="vjs-default-skin" controls>
    <source 
        src="https://ik.imagekit.io/ikmedia/sample-video.mp4/ik-master.m3u8?tr=sr-240_360_480_720"
        type="application/x-mpegURL">
    </source>
  </video-js>

  <script src="https://unpkg.com/video.js/dist/video.js"></script>
  <script src="https://unpkg.com/videojs-contrib-quality-levels@2.1.0/dist/videojs-contrib-quality-levels.js"></script>
  <script src="https://unpkg.com/videojs-http-source-selector/dist/videojs-http-source-selector.js"></script>

  <script>
    var options = {
      plugins: {
        httpSourceSelector:
        {
          default: 'auto'
        }
      }
    };
    var player = videojs('example-video', options);
    player.httpSourceSelector();
  </script>
</body>
</html>
<html>
<head>
  <link href="https://unpkg.com/video.js/dist/video-js.css" rel="stylesheet">
</head>

<!-- 
  Original video URL is https://ik.imagekit.io/ikmedia/sample-video.mp4
  We need to append /ik-master.mpd?tr=sr-240_360_480_720 to generate DASH manifest and four variants at differernt resolutions i.e. 240p, 360p, 480p and 720p.
  Read more about it from the docs https://docs.imagekit.io/features/video-transformation/adaptive-bitrate-streaming
-->
<body>
  <video-js id="example-video" class="vjs-default-skin" controls>
    <source 
        src="https://ik.imagekit.io/ikmedia/sample-video.mp4/ik-master.mpd?tr=sr-240_360_480_720"
        type="application/dash+xml">
    </source>
  </video-js>

  <script src="https://unpkg.com/video.js/dist/video.js"></script>
  <script src="https://unpkg.com/videojs-contrib-quality-levels@2.1.0/dist/videojs-contrib-quality-levels.js"></script>
  <script src="https://unpkg.com/videojs-http-source-selector/dist/videojs-http-source-selector.js"></script>

  <script>
    var options = {
      plugins: {
        httpSourceSelector:
        {
          default: 'auto'
        }
      }
    };
    var player = videojs('example-video', options);
    player.httpSourceSelector();
  </script>
</body>
</html>

Smooth streaming over varied connection speeds

Leverage Adaptive Bitrate Streaming with your video player to adjust the streaming quality depending on the user's network bandwidth and other constraints.

URL-based ABS implementation from a single source video

Skip the tedious setup involving processing pipelines and webhooks. Host your video on ImageKit or your own storage, and use ImageKit's URL parameters to generate all the necessary variants and manifests.