Background of ProblemVideo on Demand and live streaming are typical application of a multimedia streaming. In unstable bandwidth conditions, quality of viewing experience suffers showing typical symptom of start-up delay, buffering, jitters etc. Client server architecture based protocols such as adaptive streaming is designed to tackle such issues.
- Adaptive bit rate specifies adoption table for encoding with the content before pushing on the network through appropriate mechanism such as Content Distribution Network or open web. Content author / aggregator and product manufacturer decide on the DRM.
Adaptive Bit Rate (ABR) deployment: Device developmentProduct manufacturers are increasingly relying on their semiconductor vendor for platform software. Software delivery for video streaming is often done by semiconductor vendor. ABR deployment is requested by operator & content provider. Need is fulfilled by system integrators, network equipment provider and product manufacturer.
Steps for enablement of video streaming on media device
What components are required to enable ABR on a product?
Below components are integrated for enabling ABR on a product.
- Media Player Media player is delivered by semiconductor vendor along with firmware. DASH interacts with media player through APIs. These APIs are used to feed reconstructed audio, video content from ABR stack to media player. In case of TS file format, the media player shall have inbuilt capability to playback MPEG2TS file format. In the case of fMP4 file format, product designer can either choose to transmux fMP4 into TS by using Bento4 like stack or make use of FFMPEG like stack to demux and playback.
- Network Layer ABR stack communicates with http network using these interfaces. ABR makes use of libcurl & libxml2 usually provided by the platform vendor. Libcurl & libxml2 needs to be integrated if it is not available in platform. It can be typically couple of weeks of work for experts.
- OS Layer ABR utilizes system resources through this interface. These are platform port APIs.
- DRM interface ABR does not specify any DRM and provides only signalling information in manifest file. Signalling information is sent from ABR stack to DRM client / framework using these interfaces. Decision on DRM is typically made early in product design cycle in conjunction with content providers. DRM must be delivered by the vendor by the time ABR stack integration starts.
- Is there any need to extend the Media Player APIs? Media player is expected to support Play, Pause, and Stop functionality as minimum requirement. API extension can be requested to support other features like forward, rewind & seek if product functionality requires those. Media player requirements shall be clear during product requirement phase.
How does ABR fit into system software architecture?
ABR libraries are integrated with media player, network and OS layer in platform. In software architecture scheme, ABR communicates with media player in upward direction and downward with OS layer, DRM.
Static and dynamic memory requirements are finalized based on supported file format for streaming & playback.
- What is the memory requirement to enable ABR on media device? Dynamic memory requirement is forecasted on the basis of feature to support. For example, seek feature may call for additional memory for stream download. Typical dynamic memory allocation for need would range between 2-4 MB. Static memory requirement for integrating ABR in a product is around 275-300 Kb.
- What are the options to source demux for fMP4 file format? All popular platforms support playback of MPEG TS file format using platform demux. (Semiconductor vendor to be contacted if demux support for MPEG TS is not available) Commercial version of bento 4 or any open source stack can be used for playback of fMP4. Some semiconductor vendors provide FFMPEG support for playback of fMP4. Options of licensing 3rd part commercial version versus open source stack can be evaluated as per commercial & design norms of the product manufacturers.
- What are the server requirements? ABR uses HTTP infrastructure. It does not impose any additional requirement on the server.
- Which DRM can be supported with ABR? ABR does not specify any DRM instead provides only signalling information about DRM. DRM signalling information can be used to identify the DRM and to integrate with the DRM framework. Decision on DRM vendor is done during finalization of content provider. Product designers would need to license the same DRM from the vendor. Licensing agreements and sourcing is finalized during the project planning phase.
- How much time to plan for validation to achieve production? Product validation of ABR enabled device is planned during the product requirement phase. Validation will include testing for mandatory functional requirements, attributes in manifest file of ABR and product use cases. Additional requirements like interoperability or certification are finalized during product requirement phase. Validation and product maturity cycle will typically require lead time of 3-4 months. Test set up & test specs are planned in accordance to this time scale and product launch schedule. Validation setup will require preparation for tooling to create test streams, customizing bandwidth shapers to simulate field scenarios, tool for creating manifest file, server setup, quality of service requirements, DRM server (if content is protected).
What is the test and server set up for product validation?
Typical test set up validation of ABR enabled product consist of
- HTTP server to serve streams
- DRM authentication server
- Network connectivity on the device
- Bandwidth shapers to simulate bandwidth fluctuations
- Tools for stream creation
- Tools for manifest file creation
- Test tools for product specific requirement like certifications & interoperability
- Multiple server set up for interoperability
What are Critical To Quality Parameters?
Key quality parameters for product launch are
- Smooth Playability of streams in bandwidth conditions prevailing in target region
- Switching performance of network adaptation logic under fluctuating network conditions
- Quality of service in lowest bandwidth conditions
- Certification tests if any
- Is there any test for interoperability and certification? Interoperability and certification tests are planned if specified by product management. These requirements are not specified by MPEG. For example product may call for compliance to HbbTV , TNT, DASH 264 certification which are not specified in DASH specification.