NilefyMK1
— kbps
bitrate
—
VMAF
PSNR-Y
—
ADM2
—
VMAF over time — measured per frame, both rungs
More clips

Integration

Only one step in your pipeline changes.

NilefyMK1 runs in two places: your transcode tier and your player. What moves between them is a standard AV1 stream in a standard container, which means nothing at the edge has to know we exist. Your origin, CDN and cache rules carry on as they are.

1
Encode
Mezzanine in, ladder out. It runs as a batch job next to the transcodes you already have, and what comes out is a real AV1 stream in a real container. Your QC and archive tooling handles it exactly as it handles any other AV1, with nothing new to install and nothing to special-case.
2
Deliver
Plain HTTP with byte ranges, and that is the whole of it. There is no packaging stage to add, and no manifest to generate, sign or invalidate every time you reprocess a title. Edge config and cache keys stay as they are.
3
Play
The player-side module speaks the interface your player already uses: same properties, same standard events. Your chrome, your QoE beacons and your session analytics bind to it without changes. Nothing to install, and it reaches the devices your catalogue has to reach, iPhone included.
4
Control
Playback is licensed per session, against a token you issue. Scope it to a pilot, a slice of the catalogue, or a date range. Revoke it and playback stops at the next session.
<!-- Web binding -->
<script type="module" src="https://cdn.nilefy.com/mk1/player.js"></script>

<nilefy-player controls></nilefy-player>

// Your ladder. Your existing handlers, unchanged.
player.source = ladder;
player.addEventListener('timeupdate', beacon);
player.addEventListener('waiting',    qoe.rebuffer);

Every number on this page came from a measurement, not a model: per-frame VMAF against the mezzanine, both rungs, published for every title including the ones that are hard to encode. A pilot runs on your masters, your CDN and your dashboards. Standing it up is a short piece of engineering, not a roadmap item.

The player

Or start from our player.

Not every team wants to own a player. We build one, and you are welcome to start from it rather than from nothing.

It runs where your audience is. Not just on a good phone on a good connection. It plays on the cheapest Android handset on the market, and it stays smooth there.

It reads the connection it actually has. Delivery follows the link in front of it rather than a fixed guess about what the viewer's network is doing.

Invite

Send someone straight in.

They get a single-use link that opens the demo with nothing to type. No request, no approval - you are the approval.

Try it on something of yours.

Nothing on this page is as useful as a title you already know. Send us a mezzanine and we will send back the ladder and the per frame numbers, measured exactly the way everything above was measured.

Shared in confidence for evaluation. Not for redistribution.