Upload a recording once. It plays well on every connection.
plycdn encodes each video at several qualities, makes a poster and a scrubbing strip, and streams it through links only your backend can sign. A keyboard-operable player for Angular and React is included, and video is included in every plan.
- 2160pnot chosen
- 1440pencoded
- 1080pencoded
- 720pencoded
- 480pencoded
- 360pencoded
- 240pencoded
Example library. You choose the qualities.
Adaptive streaming, without a pipeline to run.
Choose the qualities for a library, from 240p to 2160p, and every upload is encoded to match. The player starts at the best quality the viewer's connection allows and moves up or down as it changes.
- Never encoded above the original: a 720p recording gets 240p to 720p.
- A video starts playing as soon as its lowest quality is ready.
- Portrait video keeps its orientation, and you can offer a download for each viewer.
- uploadedThe recording is safe and queued for encoding.
- playableThe lowest quality is ready and playback can begin.
- readyEvery chosen quality, the poster and the scrubbing strip are done.
Videos are private and reached only through links your backend signs, with your own rules about who may watch.
A player your users can operate and your auditors can check.
Quality and speed menus, a scrubbing strip over the seek bar, full screen, and a memory of where each viewer stopped. Everything works from the keyboard and is announced to screen readers.
- Speed from 0.5x to 2x, and the number keys jump through the video.
- Links renew themselves, so a four-hour lecture plays through without a break.
- Labels and theme are yours to set, including other languages for the controls.
<PlycdnProvider config={{ baseUrl: "/api/plycdn/v1" }}>
<PlycdnPlayer
libraryId={lesson.libraryId}
videoId={lesson.videoId}
onStatus={setStatus}
/>
</PlycdnProvider>Captions and subtitles in the player.
When a video carries caption tracks, the player lists them in its captions menu and the C key steps through them. Viewers choose a language, or turn captions off.
- Each track is listed by name.
- For a video with no tracks, the button says so rather than disappearing.
Illustrative tracks.
Know when each video is ready.
Your backend receives a signed notification when a video is playable, when it is fully ready and if it fails, so there is nothing to poll. Every delivery attempt is visible, and you can send a test or redeliver.
POST https://your-app.example/hooks/plycdn signature: … video ready: libraryId, videoId
Signed, so you can verify it came from us. Illustrative.
Streaming and search side by side
Video is stored and streamed on its own. Register a recording with search as well and its speech and on-screen text become findable, each result carrying the moment it was said.
Video is included in every plan. Encoding is counted in minutes of video, from ₹0.60 per minute, in Mumbai, India. Storage and delivery are priced separately.
Stream your first course.
Tell us how many hours of video you have and who watches. We set up a library and you measure it on your own content.