Skip to content
  • Bartłomiej Mróz's avatar
    Phase 5 prep + Phase 9: lip-sync tooling and public README · 669b753f
    Bartłomiej Mróz authored
    - scripts/package-dash-variants.sh: packages a VP9 + 16-ch Opus WebM master
      into 0.5/1/2/4 s DASH variants via the shaka tools-profile service
      (WebM on-demand profile, passthrough both streams, AudioChannelConfiguration
      16 preserved). Probes codecs first (demo.mp4 is the H.264/AAC RTMP copy;
      passthrough needs the WebM master) and warns when the measured keyframe
      cadence does not align with a variant's segment duration. Copies player
      dist/ + irs/ into lip-sync-test/ so the page is self-contained.
    - lip-sync-test/index.html: four-tab comparison page driving a single
      HOAST360 instance (the player is a singleton) via reset()/initialize(),
      100 ms timecode overlay from video.currentTime, snap button logging video
      time vs AudioContext clock. No frameworks, no CDN; works under
      python3 -m http.server.
    - docker-compose.yml: shaka service gained `entrypoint: packager` (the
      official image has none; args were exec'd as a command).
    - README.md (Phase 9): architecture diagram, AES 2023 citation (elib 22204),
      quick start, OBS ME settings, env table, deployment incl. Pi-as-optional,
      license/component table, acknowledgements. LICENSE: Apache 2.0 for the
      configs/scripts as stated in README.
    
    Validated: synthesized a 20 s VP9+16-ch-Opus master (0.5 s GOP), packaged all
    four variants without warnings, and drove the page in headless Chromium:
    playback, timecode, snap log and tab switching all pass with 0 console errors.
    669b753f
This project is licensed under the Apache License 2.0. Learn more