feat(player): add ASR/YOLO overlays, zoom, and text rendering

- Add TTF text rendering for subtitles and YOLO labels
- Implement ASR subtitle display with background
- Add YOLO bbox rendering with class labels
- Add zoom in/out (+/-) and reset (Backquote)
- Add frame/time info display
- Fix YOLO metadata parsing for actual file format
- Add Shift+Arrow for 1-second seek
This commit is contained in:
accusys
2026-03-19 01:33:46 +08:00
parent 0b75987fd0
commit 5587e6a67a
5272 changed files with 103480 additions and 45 deletions

0
target/debug/.cargo-lock Normal file
View File

View File

@@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@@ -0,0 +1 @@
cafaf23dcf812b49

View File

@@ -0,0 +1 @@
{"rustc":18415816196306954164,"features":"[]","declared_features":"[\"core\", \"default\", \"rustc-dep-of-std\", \"std\"]","target":6569825234462323107,"profile":5347358027863023418,"path":15149082351976033191,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/adler2-41b0dd48552c20c5/dep-lib-adler2","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0}

View File

@@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@@ -0,0 +1 @@
ac3a9d80f9cd03e9

View File

@@ -0,0 +1 @@
{"rustc":18415816196306954164,"features":"[\"perf-literal\", \"std\"]","declared_features":"[\"default\", \"logging\", \"perf-literal\", \"std\"]","target":7534583537114156500,"profile":5347358027863023418,"path":2498799609881310857,"deps":[[1363051979936526615,"memchr",false,16761034740145381771]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/aho-corasick-88b3cd4431528e8d/dep-lib-aho_corasick","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0}

View File

@@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@@ -0,0 +1 @@
621c37ce8678a92d

View File

@@ -0,0 +1 @@
{"rustc":18415816196306954164,"features":"[\"alloc\"]","declared_features":"[\"alloc\", \"default\", \"fresh-rust\", \"nightly\", \"serde\", \"std\"]","target":5388200169723499962,"profile":8526714817676984181,"path":9266711163172033080,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/allocator-api2-5e7341e257c04569/dep-lib-allocator_api2","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0}

View File

@@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@@ -0,0 +1 @@
35fdd6938cddbe96

View File

@@ -0,0 +1 @@
{"rustc":18415816196306954164,"features":"[\"auto\", \"wincon\"]","declared_features":"[\"auto\", \"default\", \"test\", \"wincon\"]","target":11278316191512382530,"profile":11459093354283867776,"path":1368805165058083929,"deps":[[5652275617566266604,"anstyle_query",false,8874033107635935327],[7098682853475662231,"anstyle",false,12300851714675958605],[7711617929439759244,"colorchoice",false,3274431315892103036],[7727459912076845739,"is_terminal_polyfill",false,12638843975273980479],[11410867133969439143,"anstyle_parse",false,3908141501184340663],[17716308468579268865,"utf8parse",false,6151700546281254876]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/anstream-5c7ee89b12f2f0af/dep-lib-anstream","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0}

View File

@@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@@ -0,0 +1 @@
df1b360d59411b84

View File

@@ -0,0 +1 @@
{"rustc":18415816196306954164,"features":"[\"auto\", \"default\", \"wincon\"]","declared_features":"[\"auto\", \"default\", \"test\", \"wincon\"]","target":11278316191512382530,"profile":8255941854203129366,"path":14237504360179493621,"deps":[[2608044744973004659,"anstyle_parse",false,1360650918450305252],[5652275617566266604,"anstyle_query",false,8874033107635935327],[7098682853475662231,"anstyle",false,12300851714675958605],[7711617929439759244,"colorchoice",false,3274431315892103036],[7727459912076845739,"is_terminal_polyfill",false,12638843975273980479],[17716308468579268865,"utf8parse",false,6151700546281254876]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/anstream-cbae704d8623b559/dep-lib-anstream","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0}

View File

@@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@@ -0,0 +1 @@
4de303387667b5aa

View File

@@ -0,0 +1 @@
{"rustc":18415816196306954164,"features":"[\"default\", \"std\"]","declared_features":"[\"default\", \"std\"]","target":6165884447290141869,"profile":8255941854203129366,"path":1622006416877328561,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/anstyle-0c8ab8bd38595486/dep-lib-anstyle","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0}

View File

@@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@@ -0,0 +1 @@
e4188a21cd00e212

View File

@@ -0,0 +1 @@
{"rustc":18415816196306954164,"features":"[\"default\", \"utf8\"]","declared_features":"[\"core\", \"default\", \"utf8\"]","target":10225663410500332907,"profile":8255941854203129366,"path":13053215332907560763,"deps":[[17716308468579268865,"utf8parse",false,6151700546281254876]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/anstyle-parse-392f1d4c1d178323/dep-lib-anstyle_parse","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0}

View File

@@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@@ -0,0 +1 @@
b7f20d36fd813c36

View File

@@ -0,0 +1 @@
{"rustc":18415816196306954164,"features":"[\"default\", \"utf8\"]","declared_features":"[\"core\", \"default\", \"utf8\"]","target":10225663410500332907,"profile":11459093354283867776,"path":14980379806015639209,"deps":[[17716308468579268865,"utf8parse",false,6151700546281254876]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/anstyle-parse-584c63468a348cbd/dep-lib-anstyle_parse","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0}

View File

@@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@@ -0,0 +1 @@
5f18b24118e6267b

View File

@@ -0,0 +1 @@
{"rustc":18415816196306954164,"features":"[]","declared_features":"[]","target":10705714425685373190,"profile":14848920055892446256,"path":4316627989718112974,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/anstyle-query-3a5ace2dbec2ae9f/dep-lib-anstyle_query","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0}

View File

@@ -0,0 +1 @@
edc67d7f466199ec

View File

@@ -0,0 +1 @@
{"rustc":18415816196306954164,"features":"[\"default\", \"std\"]","declared_features":"[\"backtrace\", \"default\", \"std\"]","target":5408242616063297496,"profile":3033921117576893,"path":15975461479635710502,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/anyhow-24ec003b790501cc/dep-build-script-build-script-build","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0}

View File

@@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@@ -0,0 +1 @@
bc6796b89332f94d

View File

@@ -0,0 +1 @@
{"rustc":18415816196306954164,"features":"","declared_features":"","target":0,"profile":0,"path":0,"deps":[[12478428894219133322,"build_script_build",false,17048764819802277613]],"local":[{"RerunIfChanged":{"output":"debug/build/anyhow-40fe6c014f4e8bb6/output","paths":["src/nightly.rs"]}},{"RerunIfEnvChanged":{"var":"RUSTC_BOOTSTRAP","val":null}}],"rustflags":[],"config":0,"compile_kind":0}

View File

@@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@@ -0,0 +1 @@
acdf419166c7c9f4

View File

@@ -0,0 +1 @@
{"rustc":18415816196306954164,"features":"[\"default\", \"std\"]","declared_features":"[\"backtrace\", \"default\", \"std\"]","target":1563897884725121975,"profile":5347358027863023418,"path":8136069237744135612,"deps":[[12478428894219133322,"build_script_build",false,5618577620159850428]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/anyhow-d838341a95e3a987/dep-lib-anyhow","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0}

View File

@@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@@ -0,0 +1 @@
28cf21415662fb90

View File

@@ -0,0 +1 @@
{"rustc":18415816196306954164,"features":"[]","declared_features":"[\"portable-atomic\"]","target":14411119108718288063,"profile":5347358027863023418,"path":11009143541493348455,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/atomic-waker-b0bffc3cf38abbeb/dep-lib-atomic_waker","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0}

View File

@@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@@ -0,0 +1 @@
1477b7ed36cbf522

View File

@@ -0,0 +1 @@
{"rustc":18415816196306954164,"features":"[]","declared_features":"[]","target":6962977057026645649,"profile":3033921117576893,"path":10045383212328745351,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/autocfg-e2e21eab783460c2/dep-lib-autocfg","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0}

View File

@@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@@ -0,0 +1 @@
0c8f0e4e099d8852

View File

@@ -0,0 +1 @@
{"rustc":18415816196306954164,"features":"[\"alloc\", \"default\", \"std\"]","declared_features":"[\"alloc\", \"default\", \"std\"]","target":13060062996227388079,"profile":5347358027863023418,"path":2443796168128073955,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/base64-80c574e62179e036/dep-lib-base64","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0}

View File

@@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@@ -0,0 +1 @@
2ef398f319cb65f8

View File

@@ -0,0 +1 @@
{"rustc":18415816196306954164,"features":"[\"std\"]","declared_features":"[\"arbitrary\", \"bytemuck\", \"example_generated\", \"serde\", \"serde_core\", \"std\"]","target":7691312148208718491,"profile":5347358027863023418,"path":1039962568932081109,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/bitflags-ccb9bc03a9edff55/dep-lib-bitflags","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0}

View File

@@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@@ -0,0 +1 @@
0375a828b8d21fda

View File

@@ -0,0 +1 @@
{"rustc":18415816196306954164,"features":"[\"default\"]","declared_features":"[\"compiler_builtins\", \"core\", \"default\", \"example_generated\", \"rustc-dep-of-std\"]","target":12919857562465245259,"profile":5347358027863023418,"path":3910279081600245434,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/bitflags-fc563d35d55f7f61/dep-lib-bitflags","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0}

View File

@@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@@ -0,0 +1 @@
b63146aeea754deb

View File

@@ -0,0 +1 @@
{"rustc":18415816196306954164,"features":"[]","declared_features":"[]","target":6813287393046767197,"profile":5347358027863023418,"path":7951925049428246312,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/block-7f847bd28d463d32/dep-lib-block","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0}

View File

@@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@@ -0,0 +1 @@
649d78e788b7a9f2

View File

@@ -0,0 +1 @@
{"rustc":18415816196306954164,"features":"[\"alloc\", \"default\", \"std\"]","declared_features":"[\"alloc\", \"compiler-rt\", \"default\", \"gnustep-1-7\", \"gnustep-1-8\", \"gnustep-1-9\", \"gnustep-2-0\", \"gnustep-2-1\", \"std\", \"unstable-coerce-pointee\", \"unstable-objfw\", \"unstable-private\", \"unstable-winobjc\"]","target":8611651741325771798,"profile":8196097686603091492,"path":14352777551528949466,"deps":[[5711497484949304150,"objc2",false,9362850287131531880]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/block2-2dc27831c2863634/dep-lib-block2","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0}

View File

@@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@@ -0,0 +1 @@
b8b18efa93809b0f

View File

@@ -0,0 +1 @@
{"rustc":18415816196306954164,"features":"[\"default\"]","declared_features":"[\"allocator-api2\", \"allocator_api\", \"bench_allocator_api\", \"boxed\", \"collections\", \"default\", \"serde\", \"std\"]","target":10625613344215589528,"profile":5347358027863023418,"path":18342583852565774136,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/bumpalo-9214dc9bc289b3ef/dep-lib-bumpalo","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0}

View File

@@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@@ -0,0 +1 @@
fc13a733e8b70924

View File

@@ -0,0 +1 @@
{"rustc":18415816196306954164,"features":"[\"default\", \"std\"]","declared_features":"[\"default\", \"extra-platforms\", \"serde\", \"std\"]","target":11402411492164584411,"profile":7855341030452660939,"path":9738655571473828057,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/bytes-5544e1f3425bf39c/dep-lib-bytes","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0}

View File

@@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@@ -0,0 +1 @@
160aff27f90efb59

View File

@@ -0,0 +1 @@
{"rustc":18415816196306954164,"features":"[]","declared_features":"[\"jobserver\", \"parallel\"]","target":11042037588551934598,"profile":9003321226815314314,"path":17345839170407623127,"deps":[[8410525223747752176,"shlex",false,18384121358634351639],[9159843920629750842,"find_msvc_tools",false,5384539691240515643]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/cc-8976cad50f558e48/dep-lib-cc","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0}

View File

@@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@@ -0,0 +1 @@
80017c3fea09ccac

View File

@@ -0,0 +1 @@
{"rustc":18415816196306954164,"features":"[]","declared_features":"[\"core\", \"rustc-dep-of-std\"]","target":13840298032947503755,"profile":5347358027863023418,"path":16057951098383942350,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/cfg-if-910eb05bc9a9e024/dep-lib-cfg_if","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0}

View File

@@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@@ -0,0 +1 @@
5af1874b87688a16

View File

@@ -0,0 +1 @@
{"rustc":18415816196306954164,"features":"[\"alloc\", \"clock\", \"default\", \"iana-time-zone\", \"js-sys\", \"now\", \"oldtime\", \"std\", \"wasm-bindgen\", \"wasmbind\", \"winapi\", \"windows-link\"]","declared_features":"[\"__internal_bench\", \"alloc\", \"arbitrary\", \"clock\", \"core-error\", \"default\", \"defmt\", \"iana-time-zone\", \"js-sys\", \"libc\", \"now\", \"oldtime\", \"pure-rust-locales\", \"rkyv\", \"rkyv-16\", \"rkyv-32\", \"rkyv-64\", \"rkyv-validation\", \"serde\", \"std\", \"unstable-locales\", \"wasm-bindgen\", \"wasmbind\", \"winapi\", \"windows-link\"]","target":15315924755136109342,"profile":5347358027863023418,"path":11193452165635532684,"deps":[[5157631553186200874,"num_traits",false,2947264422208191844],[16619627449254928351,"iana_time_zone",false,11545899534390058337]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/chrono-5814d22105e1cebc/dep-lib-chrono","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0}

View File

@@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@@ -0,0 +1 @@
956c8933147ddf7a

View File

@@ -0,0 +1 @@
{"rustc":18415816196306954164,"features":"[\"color\", \"default\", \"derive\", \"error-context\", \"help\", \"std\", \"suggestions\", \"usage\"]","declared_features":"[\"cargo\", \"color\", \"debug\", \"default\", \"deprecated\", \"derive\", \"env\", \"error-context\", \"help\", \"std\", \"string\", \"suggestions\", \"unicode\", \"unstable-derive-ui-tests\", \"unstable-doc\", \"unstable-ext\", \"unstable-markdown\", \"unstable-styles\", \"unstable-v5\", \"usage\", \"wrap_help\"]","target":3788228259706617387,"profile":8004691296250176138,"path":3387003668970742122,"deps":[[8085066531928642943,"clap_derive",false,2731535419226896517],[12853434244957124663,"clap_builder",false,7818682702671021893]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/clap-e48efda4eb5b0abd/dep-lib-clap","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0}

Some files were not shown because too many files have changed in this diff Show More