Skip to content

Software Requirements Specification version 1

Techfix edited this page Jul 24, 2012 · 10 revisions

This will serve as the spec for the first version of the app.

Introduction

Purpose

  1. To create a HTML5 mobile phone application.
  2. To provide a project where developers at different levels (from Junior to Senior) can collaborate.
  3. To give inexperienced developers a chance to learn and grow.

Features (Will add the list here as we decide on them)

Jupiter Broadcasting Podcast Live Streaming

Problem: The protocol choice - HTTP Live Streaming (HLS) protocol vs. Real Time Streaming Protocol (RTSP).

This choice is very important, as each streaming protocol affects how well this application will get the rich content from Jupiter Broadcasting live. HLS uses HTTP which is great for us, since HTML5 also uses HTTP. HTTP is supported by all browser clients and most platform APIs. So the development for HLS is - for the time being - simpler than RTSP. Unlike HTTP Live Streaming, RTSP is not stateless, which means that it doesn't have include all the information during every request. This results in less bandwidth wastage and is important in situations where bandwidth is precious such as mobile data networks. RTSP is the more efficient choice.

The cost of HLS is that it simply uses more bandwidth, where as the cost if RTSP is that you need a plug-in to utilize it. RTSP is not supported by all browsers or HTML5 wrappers. HLS is only support by just about all APIs. However this depends on the method of streaming as some extra coding is needed.

Solution

For the time being we should implement HLS for the moment and then later look into RTSP, especially for the video side.

Problem: Where are the streaming sources?

Solution (Audio)

Solution (Video)

Jupiter Broadcasting Podcast Recorded Streaming

** Description ** Live Show Reminder ** Description **