Hacker News new | ask | show | jobs
by prebrov 3193 days ago
CloudFlare is entering a very crowded space. With YouTube and Facebook owning an overwhelming majority of video hosting market, what’s left is shared between Brightcove, The Platform, Ooyala, Bitmovin, Vimeo, Vidyard, Wistia and a whole ton of smaller players and in-house solutions (ffmpeg -> _any cdn_ -> video.js).

Surely, this piece of the pie is not as big as many had hoped for, but there’s definitely more than a 1000 companies that think their video content is worth a better platform than YouTube or Facebook, however they define “better”.

What’s the deal with ‘lossless compression’? I feel like they use the term very differently from how the industry uses it.

Multiple resolutions, adaptive bitrates, dynamic packaging for different versions of HLS/DASH/Smooth are pretty much a must-have for any video solution these days, free or paid.

It’s amusing to hear an argument that CDNs are hampering adoption of better video compression from a CDN company. However, while Akamai surely would love to bill for more bytes per minute of video, no one is asking them. They just distribute whatever and however many bytes origin server has for them (give or take some convenience features around it).

CDNs are scrambling to provide compelling features to increase stickiness, usually with limited success when it comes to video. Bandwidth-heavy customers do want to take advantage of rapidly commoditising technology and falling prices and are pushing for multi-CDN strategy.

Using correct terminology and customising stock Bitdash player would have helped at the start of such ambitious endeavour. Good luck to CloudFlare and congrats to Bitmovin.

4 comments

Disclosure: OP works at Brightcove
Nah, but was until not very long ago.

Thanks, I contemplated whether I should disclose it, but given that I have currently have no stakes in the game, decided it's unnecessary.

Out of interest: why is a JS player required for video? Is it just to make more browsers compatible, the video more hackable for annotations/ads, or is there something else?

Edit: And a related question: would Cloudflare Stream work without the JS player using a regular video-tag?

More reliable & easier to use API, extendable support for other codecs/streams, customizable UI, customizable playback, plugin ecosystem, tracking
> Edit: And a related question: would Cloudflare Stream work without the JS player using a regular video-tag?

Depends on the browser. This is the primary reason why people actually use a JS player that wraps around video tag. The other reasons are to accommodate business logic (i. e. overlay on top of the video, pre-roll, thumbnail, etc.) and better UX.

The latter reason I get, but looking at video-tag compatibility on https://caniuse.com/#feat=video shouldn't just offering h264 as the baseline and the higher resolution formats in source-tags (https://caniuse.com/#search=source) cover almost any browser?
Yes but that is just the baseline. You want HEVC / VP9 for browsers which can play that, you want 5.1 audio for home theaters, you want adaptive streaming when the support is available, and so on. You don't want just the minimum for _all_ of your clients. You want some code that tailors the experience based on client capability. That's what the JS player handles.
Adaptive streaming sure, but can you not handle the different audio combinations using source-tags? And HEVC/VP9 with h264 fallback I would imagine is the primary use case they (WHATWG?) were thinking of supporting when creating the source tag.
Technically you could have a single URL that returns any manifest based on user-agent or whatever player info is available in the GET request.

But yeah, JS players make life a whole lot easier by providing a single API for customisation, handling media source extensions and a bunch of other stuff.

I do not like the player in post - it stops me using Safari's PiP feature.
How does it? THere's nothing specifically incompatible between PiP and post-video overlay.
Ok. Turns out there's a button for that. Usually (i.e. in youtube) I right click twice and get option to pip it.
It is required for adaptive bitrate streaming in browsers that do not support HLS (all browsers except Safari and Chrome on Android only).
Both.
The lossless compression example is, I think, taking about image compression.

Other CDNs charge for bandwidth so why would they offer their customers an easy to use 'optimize images' feature, it'll just lose them money. Cloudflare can offer it because making your images smaller saves them money.

This will be an interesting option for anyone who publishes videos but speed, integration complexity and pricing are going to be key.

I'm pondering using standard CDNs for serving bandwidth intensive payloads, but I have some doubts whether this is a right technical decision. I did not find any general purpose CDN that would explicitly encourage the use of their product for large files nor a CDN that would disclose any information how large payloads are handled by their infrastructure.

The primary use case for CDN is latency reduction for serving small files (CSS, JS, images) and such traffic has different characteristic and requires different optimizations than high-throughput traffic. I worry how long large files are going to be cached by CDN PoPs. PoPs can't certainly cache everything forever and they can be more eager to remove large files and in such case CDN will be reducing performance by adding an additional HTTP level hop to the origin server (and likely a few IP level hops). My other worry is that PoPs can deploy DoS detection heuristic that are tuned for standard web pages and a bandwidth intensive page may trigger the rules and have the traffic throttled. Such throttling is something that I've occasionally observed while testing CloudFlare with large files, but I'm not sure what was the cause, CloudFlare monitoring tools did not report anything unusual.

Most CDNs started by offering video, not necessarily latency reduction but a ton of bandwidth. Many of them allow you to upload videos directly.

Check out cachefly.com for instance.