Extension:TimedMediaHandler/2018-2019 work

Current rough plans for the 2018-2019 season's work on TimedMediaHandler:

Immediate (Q1)Edit

Feature track

  • subtitle API with lax runtime conversion from SRT to VTT
    • finish old subtitle API patch updated with new conversion engine
  • deploy, or prepare, deployment of video.js
  • remove old kaltura player bits from TMH

Tech track

  • switch to VP9 transcodes (smaller file sizes for many, better quality for most)
    • merging final patches, then ready to start any time!
  • update ogv.js to latest release (minor VP9 fixes)
  • tweak ogv.js thread management to handle large number of paused players better

Next steps (Q2-Q3)Edit

Feature track

  • customize frontend controls for videojs-mode players
    • inline start/stop
    • easy expansion to zooming player into MediaViewer
  • get video playback working in iOS Wikipedia mobile app
    • either tidy up OGVKit or ship the ogv.js player embedded
  • clean up reporting tools for transcode errors, queue state (Special:TimedMediaHandler, File: page table)
  • experiment with frontend UI for on-wiki audio/video trimming/rotation manipulation tool
  • experiment with frontend UI for on-wiki subtitle editing tool

Tech track

  • ogv.js work for MPEG-DASH adaptive streaming
    • add MSE interfaces to ogv.js
    • get video.js's DASH talking to ogv.js
  • ffmpeg research for MPEG-DASH adaptive streaming
    • create webm vp9 file-per-track streams and play them back with video.js
    • create webm vp9 chunked streams and play them back with video.js
    • create webm vp9 chunked streams through multiple separate ffmpeg invocations and stitch the manifests together (desired for better job queue management)
  • research on-wik trimming rotation / manipulation tool
    • conversions done with ffmpeg command options

Medium future (Q4)Edit

Feature track

  • experiment with on-wiki trimming / rotation manipulation tool
  • experiment or deploy on-wiki subtitle editing tool

Tech track

  • (optional) limit flat files to lower resolution to save space
  • deploy MPEG-DASH adaptive streaming to supplement existing flat files

Farther futureEdit

Feature track

  • re-evaluate more advanced video manipulation and editing

Tech track

  • evaluate AV1 compression & playback for eventual supplement/replacement of VP9
  • evaluate MP4 H.264, HEVC, AAC ingest
  • set up MP4 H.264 output options for compatibility if license issues ever resolved