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.