HLS Video on Demand streaming

First of all, let’s explain shortly what HLS is.

HTTP Live Streaming (also known as HLS) is an HTTP-based media streaming communications protocol implemented by Apple. Since it requires only standard HTTP transactions, HTTP Live Streaming is capable of traversing any firewall or proxy server that lets through standard HTTP traffic, unlike UDP-based protocols such as RTP. This also allows content to be delivered over widely available CDNs. In a few words, HLS works by breaking the overall stream into a sequence of small HTTP-based file downloads. At the start of the streaming session, the client downloads an extended M3U (m3u8) playlist containing the metadata for the various sub-streams (called TS files) which are available. You can read more about HLS Architecture on Apple Developer website.

Continue reading HLS Video on Demand streaming

Cassandra cannot parse ‘my_key’ as hex bytes

If you have “cannot parse ‘whatever_my_key’ as hex bytes” when you try to query Cassandra for some data, as in example below:

get ServerLog['my_key'] limit 10;
org.apache.cassandra.db.marshal.MarshalException: cannot parse 'my_key' as hex bytes

then you must set the client-side encoding with assume command:

assume ServerLog keys as utf8;