Quantcast
Channel: Nginx Forum - How to...
Viewing all articles
Browse latest Browse all 4759

hls live streaming for custom data format

$
0
0
Hi all,

I wonder could you help me resolve an issue that I can't find any information on. I'm trying to understand if it's possible to use HLS servers such as nginx / nginx plus to provide 'live streaming' for a custom data format. I want to deploy HLS to enable a publisher - subscriber model using HTTP, and HLS is a perfect fit in every way apart from it's bias towards audio / video formats such as h.264 and acc-lc.

I am writing the clients for both publishers and subscribers and could consider wrapping my data in (a simple) audio / video format such that it appears to nginx as expected, but internally the data is non-video. However, I need to understand how the stream segmenter works first. e.g. If I used the segmentor with duration of say 30 seconds, how does the segmentor determine the appropriate point in the upcoming data stream to make an 'incision'. Is there a generic stream format that I could adapt my data to ?

e.g. A format similar to HTTP Chunked Encoding which is a simple sequence of chunks containing a size and data component would be ideal for me :

<number of bytes in chunk>
BYTES....
<number of bytes in chunk>
BYTES....

I'm aware that Chunked Encoding is generally not used for segmentation on HLS but mention it as it's an ideal format for my use case.

My data it's is low-rate (circa 5KBps) however unlike audio it is not a series of tiny samples, but a series of data structures which cannot easily be sliced at a granularity below 5 seconds. Additionally it is variable bit rate so a simple size based segmentation will not work well.

For full context, ideally I'd like to deploy on EC2 and serve subscribers directly from Cloudfront / S3.

Any help on this would be much appreciated as I can't find evidence of using HLS outside of audio/video streams.

Viewing all articles
Browse latest Browse all 4759

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>