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   Done
    • finish old subtitle API patch updated with new conversion engine
  • deploy, or prepare, deployment of video.js   Done
  • remove old kaltura player bits from TMH  N Not done

Tech track

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

Next steps (Q2-Q3) edit

Feature track

  • customize frontend controls for videojs-mode players  N Not done
    • inline start/stop   Done
    • easy expansion to zooming player into MediaViewer   Done
  • get video playback working in iOS Wikipedia mobile app  N Not done
    • 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)  N Not done
  • experiment with frontend UI for on-wiki audio/video trimming/rotation manipulation tool  N Not done
  • experiment with frontend UI for on-wiki subtitle editing tool  N Not done

Tech track

  • ogv.js work for MPEG-DASH adaptive streaming  N Not done
    • add MSE interfaces to ogv.js  N Not done
    • get video.js's DASH talking to ogv.js
  • ffmpeg research for MPEG-DASH adaptive streaming   In progress
    • 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  N Not done
    • conversions done with ffmpeg command options

Medium future (Q4) edit

Feature track

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

Tech track

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

Farther future edit

Feature track

  • re-evaluate more advanced video manipulation and editing

Tech track

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