Mercurial
comparison mrjunejune/README.md @ 242:543df0fe7168
[tools] Add full HLS player support
| author | MrJuneJune <me@mrjunejune.com> |
|---|---|
| date | Mon, 03 Aug 2026 13:14:41 -0700 |
| parents | 9c2eec61a152 |
| children | b8aa08503378 |
comparison
equal
deleted
inserted
replaced
| 241:9c2eec61a152 | 242:543df0fe7168 |
|---|---|
| 15 | 15 |
| 16 The deployed site contains no PNG files. Add new PNG source assets to the | 16 The deployed site contains no PNG files. Add new PNG source assets to the |
| 17 corresponding list in `mrjunejune/BUILD` or `assets/BUILD`, then reference the | 17 corresponding list in `mrjunejune/BUILD` or `assets/BUILD`, then reference the |
| 18 generated `.webp` URL from the site. | 18 generated `.webp` URL from the site. |
| 19 | 19 |
| 20 ## HLS player | |
| 21 | |
| 22 `/tools/hls_player` is a dependency-free JavaScript HLS player. It uses native | |
| 23 HLS where available and a MediaSource fallback for unencrypted VOD playlists | |
| 24 with fragmented MP4 segments. A VP9/Opus HLS sample is bundled at: | |
| 25 | |
| 26 ```text | |
| 27 /public/hls-sample/master.m3u8 | |
| 28 ``` | |
| 29 | |
| 30 The sample is generated from `mrjunejune/assets/video/sample_hls.mp4` through | |
| 31 the restored FFmpeg CLI wrapper: | |
| 32 | |
| 33 ```bash | |
| 34 bazel run //mrjunejune:generate_hls_sample | |
| 35 ``` | |
| 36 | |
| 37 ```bash | |
| 38 bazel test //mrjunejune/test:hls_player_test | |
| 39 bazel test //mrjunejune/test:theme_and_webp_test | |
| 40 ``` | |
| 41 | |
| 20 ## TODO | 42 ## TODO |
| 21 | 43 |
| 22 - Add caching layer | 44 - Add caching layer |
| 23 - Update talk to be part | 45 - Update talk to be part |
| 24 - Update test to automatically tests all paths for blogs. | 46 - Update test to automatically tests all paths for blogs. |