Vanilagy
7d1eb5b063
Fall back to color space information from bitstream, fill missing color space fields when passing it to Chromium's VideoDecoder, fix AV1 Sequence Header OBU parsing, fix vpcC box generation, still mux partial color space info into container ( fixes #474 , closes #475 )
2026-08-29 19:48:20 +02:00
Vanilagy
d44253c7d3
Fix incomplete parsing and generation of AacAudioSpecificConfig ( fixes #471 )
2026-08-26 13:40:14 +02:00
Vanilagy
3c4f4c27a3
Slightly restructure code
2026-08-21 20:06:28 +02:00
Vanilagy
dc068a0aa8
Add computeFrameRateMetrics and heuristics to determine a video's true frame rate
2026-08-12 16:10:28 +02:00
Vanilagy
bfd4059c22
Add advanced access unit delimination logic to MPEG-TS demuxer ( fixes #414 ), ignore irrelevant PIDs in MPEG-TS metadata reading
2026-06-17 17:16:39 +02:00
Vanilagy
a0574fa09a
Fix decoded audio always starting at 0, fix startTimestamp=0 for ranged media iterators ( fixes #370 )
2026-05-13 18:54:45 +02:00
Vanilagy
782d3e134b
Use edit lists to model non-zero start timestamps for regular MP4 ( fixes #336 ); fix MP4 PCM logic breaking down with approximate packet timestamps
2026-04-30 10:32:42 +02:00
Vanilagy
2d49122277
Sanitize initial HEVC packet to avoid Chromium's validation logic from tripping up ( #314 )
2026-04-29 11:37:56 +02:00
Vanilagy
493ef50820
Add support for SAMPLE-AES and SAMPLE-AES-CTR decryption, add "Common Encryption" support to ISOBMFF demuxer, add InputFormatOptions, rewrite ISOBMFF track codec resolution
2026-04-22 16:54:49 +02:00
Vanilagy
2b3e5f45c6
Remove createInputFrom, changed meaning of PathedSource, add CustomPathedSource
2026-04-21 13:22:10 +02:00
Vanilagy
2a2b6450c9
Add better doc blocks, special deprecated logic for API doc generation, add multi-tiered SegmentedInput hydration for reducing file request count, ditch VirtualInputFormat indirection
2026-04-13 17:25:46 +02:00
Vanilagy
051578c2ca
Remove input track descriptors, add async getters on tracks for everything, deprecate old sync getters
2026-04-10 16:23:17 +02:00
Vanilagy
7d053ae50d
Add ConversionOptions.tracks, add better converstion start timestamp computation, optimize endPacket logic, utilize metadata duration for progress callback for better performance
2026-04-08 17:07:02 +02:00
Vanilagy
5bc1a31b8e
Rewrite HLS segmentation algo AGAIN, add a bunch of HLS segmentation tests, add VideoEncoder/AudioEncoder timing refinement logic, fix HLS output spec violations
2026-03-26 16:23:07 +01:00
Vanilagy
3e87d747e6
Add HLS master playlist generation, add multi-playlistadd output track grouping, add multi-playlist HLS files, add configurable playlist and segment names, add TrackDisposition.primary
2026-03-24 15:53:21 +01:00
Vanilagy
a9a455e132
Add metadata-based duration retrieval
2026-03-13 17:03:36 +01:00
Vanilagy
c43ca025d9
Add proper reference count-based source disposal system
2026-03-12 21:29:01 +01:00
Vanilagy
e8df451bf5
Add support for live HLS streams, add playlist refresh logic, add live input tracks
2026-03-12 15:54:19 +01:00
Vanilagy
c088a31384
Various fixes
2026-03-06 15:49:24 +01:00
Vanilagy
dc4e557776
Read #EXT-X-PROGRAM-DATE-TIME, add Unix epoch-offset timestamps, parallelize HLS master playlist resolution
2026-03-04 11:08:42 +01:00
Vanilagy
cfb5418fa0
Refactor HLS API: Get rid of specialized Manifest* classes, use Input instead. Add unhydrated InputTracks, InputTrack compatibility, InputTrack queries
2026-03-03 15:28:26 +01:00
Vanilagy
68b3ae7155
A BUNCH of HLS (and related) progress
...
- Add support for fMP4 segments
- Add initInput (supported by ISOBMFF and MPEG-TS)
- Input.isSupported()
- Refactored file size retrieval logic, the file size can now be retrieved alongside the first read.
- Add support for unsized UrlSources
- Add support for multiple trun boxes in a row for the same track (as the spec literally says lol)
- Add support for more M3U8 features
- Fix faulty line reader
- MPEG-TS improvements: support video parameters not in first packet, support better key frame detection, support extension PES packets without PTS
- Fix reorder buffer being 1 element too small
2026-02-20 19:56:20 +01:00
Vanilagy
de84d78092
Merge branch 'main' into hls
2026-02-16 15:55:59 +01:00
Vanilagy
a97200f3f0
Add @mediabunny/ac3 extension package
2026-02-12 18:31:59 +01:00
Vanilagy
d1fbea3e19
[WIP] Add majority of logic for HLS reading support
2026-01-27 14:45:44 +01:00
Vanilagy
6c78a0ff09
Fix HEVC not being encodable in CI
2026-01-19 10:25:57 +01:00
Vanilagy
282751ec1c
Set discontinuity_indicator to 1 for the first packet
2026-01-16 16:56:50 +01:00
Vanilagy
e8b27768a9
Add MPEG-TS muxer, fix a demuxer bug, remove Infinity from output format track counts
2026-01-16 16:33:28 +01:00
Vanilagy
ae37973878
MPEG-TS demuxer optimizations: faster Annex B segmentation, better NALU iteration
2026-01-16 13:26:58 +01:00
Vanilagy
c0f2693cb3
Add HEVC support to MPEG-TS demuxer
2026-01-16 10:05:40 +01:00
Vanilagy
54dfa75a7e
Add proper packet duration extraction to MPEG-TS demuxer
2026-01-15 16:33:17 +01:00
Vanilagy
0719a17c85
Add mutex to packet lookup algorithm, fix incorrect next packet retrieval following packet lookup
2026-01-14 21:53:23 +01:00
Vanilagy
f363fe50e2
WIP
2026-01-05 11:41:32 +01:00
Vanilagy
d6c223b0f6
Fix keyframe sample index lookup logic for ISOBMFF in rare B-frame scenarios
2025-12-05 22:14:23 +01:00
Vanilagy
3620b04caf
Fix incomplete AV1 sequence header OBU parsing, fix missing saample close() calls in audio resampling path, add error logging when open samples are GC'd, bump patch
2025-12-04 09:58:12 +01:00
Vanilagy
217b383f12
Add read/write support for track disposition information
2025-11-13 11:00:42 +01:00
Vanilagy
02b08e036b
Fix Matroska files where no audio packets are key packets ( fixes #192 )
2025-11-12 16:07:17 +01:00
Vanilagy
12216ae29e
Remove reordering Matroska blocks by references ( fixes #178 )
2025-11-12 10:49:47 +01:00
Vanilagy
23f814679e
Modify audio encoder to fill gaps between timestamps with silence to ensure AV sync ( fixes #176 )
2025-11-11 18:03:28 +01:00
Vanilagy
8b39eb0d43
Revert Matroska default duration flooring
2025-11-10 21:14:43 +01:00
Vanilagy
c0da28fb6c
Floor Matroska default packet duration ( fixes #170 )
2025-11-10 16:14:25 +01:00
Vanilagy
5039c730bf
Fix MediaStreamTracks not being stopped inside of the worker ( fixes #204 )
2025-11-02 13:00:38 +01:00
Vanilagy
198928088b
Make cluster/fragment lookup operations almost stateless, fix high Matroska memory, allow more maxCacheSizes
2025-09-29 20:36:37 +02:00
Vanilagy
537119357d
Add strict slice range validation, fix RF64 reading error ( fixes #146 )
2025-09-25 10:26:44 +02:00
David P. and GitHub
fa4e064345
Transparent video read/write support ( #145 )
...
* Add support for reading transparent Matroska and implement alpha side data & decode
* Few fixes
* Implement alpha encoding
* Gracefully handle inability to acquire WebGL context, properly clean up WebGL contexts
* Improve touch device detection
* Test test
* Test test #2
* Test test 3
* Test test 4
* Test test 5
* Test test 6
* Test test 7
* Test test 8
* Test test 9
* Test test 10
* Test test 11
* Test test 12
* Test test 13
* Test test 14
* Test test 15
* Test test 16
* Test test 17
* Test test 18
* Test test 19
* Test test 20
* Fix type errors, improve MetadataTags docs
* Do a bunch of docs work
* Test test?
* "Unexpected only modifier 🤓 "
* Add InputVideoTrack.canBeTransparent()
* Some clean-up
* Adjust CI to be less spammy in PRs
* Fix broken license headers
2025-09-24 21:20:14 +02:00
Vanilagy
608c769a7e
Add explicit disposability to Inputs ( #126 )
2025-09-21 20:18:59 +02:00
Vanilagy
a3f4f7f4f7
Allow all Matroska AttachedFiles to be read & written via metadata tags
2025-09-19 20:12:29 +02:00
Vanilagy
eb1ce86187
Fix faulty MP3 bitrate and frame size calculation ( fixes #134 )
2025-09-19 13:20:36 +02:00
420423bc0f
feat: Add support for custom MP4 metadata with mdta format ( #132 )
...
* feat: Add support for custom MP4 metadata with mdta format
- Add metadataFormat option ('mdir' | 'mdta') to IsobmffOutputFormatOptions
- Implement complete mdta format with keys box generation
- Enable custom metadata fields readable by ffmpeg/ffprobe
- Maintain backward compatibility with default mdir format
* Refactor ISOBMFF metadata tag writing logic
* Autism
---------
Co-authored-by: tanfu <[email protected] >
Co-authored-by: Vanilagy <[email protected] >
2025-09-18 23:41:08 +02:00
Vanilagy
6d5bd58ae8
Add support for header removal content compression in Matroska
2025-09-17 23:09:04 +02:00