Objective

To design a instrumented video player which can provide the metric data of multimedia capabilities during playback

Summary

This specification is for capturing metrics data generated by instrumented player. This instrumented player will be based on the gstreamer.

Rationale

At present, multimedia developer are not being able to capture capabilities of codec. They have to depend on more manual ways to get the metrics data. This tool will help them to get metrics data in easy manner and it will be used uniformly by all multimedia developer

User Stories

  • User has played the unknown video file using GST pipeline and wants the information of that file such as bitrate, resolution and fps etc.
  • User has played the video file, but he wants to confirm whether it has displayed all frames or not ?
  • User has integrated the codec into linaro and he played the video using that codec. Now he wants to see the performance of codec.
  • User wants to improve the particular codec and after improvement want to check whether it has improved or not ?

Assumptions

  • Any development platform based on ARM
  • Development platform is able to boot with Linaro kernel and rootfs
  • Gst-omx and gst-tools must be installed inside linaro rootfs
  • Xserver must be up and running over linaro rootfs
  • Some freely available s/w codecs must be installed inside linaro rootfs
  • Video playback is working with gst-launch over Linaro rootfs

Metrics data

Instrumented Player/Recorder Data

  • Current/average FPS
  • Drop rate of frames
  • Current resolution of file
  • Actual FPS of file
  • Bit rate of file
  • Decoder speed

Design

  • If some instrumented player already exist, that can also be used as base for capturing the metric data
  • Some feature can be explored in GST pipeline to extract the desired metrics data
  • Variable in gstreamer framework can be made global(if required) in order to extract data through some tools dynamically
  • Changes can be made in gstreamer in order to get the desired parameters
  • Instrumented player should be able to measure the decoding speed of decoder
  • Data will be captured during playback of video to display
  • Data can be captured during mem2mem video decoding also
  • Metrics data will be provided to Metrics Application for annotation with system data

Implementation

  • Instrumented player will be GUI based tool to play the file in one window and all the metrics parameter will be displayed in second window
  • FPSdisplaysink bad plugin element provides current and average FPS in overlay/text format
  • FPSdisplaysink element will be extended further for instrumentation player to get complete metrics data
  • Modification may be required in available displaysink plugins in order to get the FPS and droprate at system level
  • Instrumented player will be independent application using gstreamer pipeline to get desired metrics data
  • Metrics data format generated by instrumentation player will be made in compliance with system Metrics application

Test/Demo Plan

  • Video stream will be played using gst-launch in background
  • Gst-tools and gst-omx will be used for video playback(mem2mem and mem2display)
  • Instrumented player will capture the player/recorder metric data
  • Instrumented player will measure the decoding speed of codec during video playback

WorkingGroups/Middleware/Multimedia/Specs/1105/MultimediaValidateFreeTestContent (last modified 2011-05-12 11:16:54)