Skip to content

Face to face meeting Nov 21 2014 San Francisco

Torbjörn Einarsson edited this page Oct 19, 2015 · 1 revision

Meeting notes

Present: Jeff, Emmanuel, Kirk, Chris, Casey, Justin, Frank, Cristian, Anders, Steve, Jeroen, Dan, Tim, Will, Michael, Tobias,

  • Develop a Production player as well as a Reference player
    • -Define functional scope (DASH264?) and performance goals for Production player
    • JW- performant framework, Speed of loading, file size, easy to integrate, single min load, want HLS v4 + CENC, multiple audio, multiple captions, .low latency 5s. Not important bells and whistles, not WebM, MC audio, WebM.
    • Core features:
      • Profile support - ondemand, live
      • Adressing - SegementTimeline, SegementBase, and SegmentTemplate, SegmentList
      • Captions & Subtitles, out-of-band WebVTT, Smpte-TT, 608/708
      • DRM - Playready, Widevine, Primetime DRM, Marlin, Clearkey,
      • Multitrack audio, video,
      • Buffer optimzation for switch up.
      • DVR - scrub relative + absolute
      • Trick mode
      • File-size: target 50k
    • Non-core
      • WebM - should build a min file.
      • Smooth
      • Chromecast
    • -Plugin/extension architecture - how to add support for features so that basic player doesn't carry baggage
  • Project source clean-up - organize root, split out dash.js code from player code. Add sample players and derivative players.
  • src/dash
  • src/streaming
  • src/lib
  • dist/ holds minified files
  • build/grunt
  • build/test
  • build/reports
  • build/jsdoc
  • docs/release-notes
  • samples/ folders for each player, use gettingstarted, have samples-index.html
  • samples/dash-if-reference-player
  • contrib/
  • readme.md
  • license
  • contributing.md
  • Workflow issues
    • Try not to use 3rd party source unless necessary - please review libraries to ensure we have the min include.
    • How to support multi-period - current problems, potential solutions, multi-videoElement approach.
    • Current problem - codec switch between period, timescale periods, creat new video element,
    • approach, examine codec string, if different in prefix then allow period to end before starting processing new period.
    • Why have EventBus as well as Publish/Subscribe ?
    • Pub/Sub observable pattern, EventBus could carry info in payload.
    • need event names in single place
    • External and internal events
    • Need clean location for developers to discover events on MediaPlayer
    • CommonJS npm pattern won out in JS land. Dijon is not currently updated?
  • Castlabs – demo new features they have developed
  • Project issues
    • LIve playback mode: Rule set for live is not the rule set for VOD. Separate rule for low and stable.
      • Low latency: 2 segments, more conservative switch up
      • Stable mode: 4 segments,
    • Parallel request: today must add rule, two max.
    • Fragment abandonment - especially for startup,
    • Startup: time init segments, get hint. , guess on that startThroughput
    • Custom header propagation via event, similar to emsg.
    • Can we process segments before completing download of the entire segment?
    • Support preload attribute - if you have autoplay off,
      • auto/metadata - load manifest, init and some buffer
      • none - do not load anything. Wait until play is called.
    • Bug management –triage, big pull requests. Process, procedure?
    • AllDigital - to help with triage resource. Every 48hrs correctly classifed,
    • Using CommonJS, npm, and browserify for dependency management and modularization. Why are we using Dijon? Dan will investigate.
    • Can we use object.defineProperty for getters/setters on MediaPlayer? yes, could implement.
    • CLA automation. Two projects, host on , ask if MOT can host.
    • Documentation - JSdocs + usage examples JSDocs integration is in place. make a requirement that JSDocs must eb in place for new contributions. Hints throughout code are encouraged. Architecture page. Remove Q references in docs. How to write a new rule.
    • Support page - use StackOverflow #dash.js, keep dashjs@googlegroups.com place. Dan to make channel on IRC.
    • Unit tests and automated build. Also human QA before large releases? Switching behavior testing? Local playback testing via node. make tests a requirement. travis integrated. MOT has lets publicize, pulls from /dev/
    • IE header problem, try on Win10, if not then hook up browser eng and server eng MS/Akam.
    • http://msopentech-dash-js-development.azurewebsites.net
  • Hiring a developer for DASH IF projects: Digital Primates interested.
  • Strategy for adoption - what can do to make dash.js user-friendly and widely adopted.
  • How know who uses - builtwith.com . Could indentify the library and version. X-dash.js-version. Host common minified versions and document , write plugins in contrib. Faster than HLS. Measure and prove. Wordpress template.
  • Key benefits over HLS - low latency, CENC/EME , m-track-audio/video/captions/period, ads., works in !safari , HTML5 support,HbbTV broadcast, promise of playback everywhere. ,
  • JW - roadmap - make public. Wiki + milestones. Goal is quarterly releases.
  • [meeting closed]

Requested agenda items

Please add items you would like to discuss to this list:

  • Project source clean-up - organize root, split out dash.js code from player code. Add sample players and derivative players.
  • Develop a Production player as well as a Reference player
  • Define functional scope (DASH264?) and performance goals for Production player
  • Plugin/extension architecture - how to add support for features so that basic player doesn't carry baggage
  • How to support multi-period - current problems, potential solutions, multi-videoElement approach.
  • Castlabs - show us new features they have developed.
  • Documentation - JSdocs + usage examples
  • CLA automation.
  • Bug management - who can triage, order and manage opened issues?
  • Hiring a developer for DASH IF projects
  • Strategy for adoption - what can do to make dash.js user-friendly and widely adopted.
  • Using CommonJS, npm, and browserify for dependency management and modularization
  • Bug management - big pull requests. Process, procedure?
  • Unit tests and automated build. Also human QA before large releases? Switching behavior testing? Local playback testing via node.
  • Why have EventBus as well as Publish/Subscribe ?
  • Hiring a developer for DASH IF

###Logistics

The meeting will take place from 10h00 - 17h00 on Friday 21st November at

Akamai - 6th floor 799 Market Street San Francisco tel: 415-638-4100

We're adjacent to the Powell St BART station. The nearest parking is at 5th & Mission parking lot.

You will need to sign-in as a visitor in the building entrance in order to get up to the 6th floor. You are welcome to come up any time from 09h00 onwards to get settled. We'll have light breakfast snacks between 9-10, and a catered working lunch between 12h30 - 13h30. We'll stop at 17h00, take a beer/wine break until 18h00 and then head out for a group dinner. Dress is casual.

Any questions, contact Will on the dashjs@googlegroups.com list.

Clone this wiki locally