Vanilagy
3c94d062d2
Allow negative timestamps in media sources, add negative timestamp support to ISOBMFF muxer
2026-09-04 11:48:50 +02:00
Vanilagy
cf2edfada2
Relax audio track assert for esds box ( fixes #481 )
2026-09-02 09:32:06 +02:00
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
14fb7d0119
Add ducktyped Promise checks ( fixes #472 )
2026-08-26 11:24:24 +02:00
0f9dc1f91b
Fix tenc fallback for encrypted ISOBMFF files ( #470 )
...
* fix tenc fallback
* Add test case
---------
Co-authored-by: Vanilagy <[email protected] >
2026-08-24 14:12:04 +02:00
Vanilagy
3c4f4c27a3
Slightly restructure code
2026-08-21 20:06:28 +02:00
Jasmine Minter
fdfab4660f
Support missing or empty avcC chunk
2026-08-20 13:28:50 +10:00
Vanilagy
914907b5db
Define DTS codec, add muxing and demuxing support across ISOBMFF, Matroska, and MPEG-TS, add DTS encode/decode support to @mediabunny/server
2026-08-15 16:19:12 +02:00
Vanilagy
5b22c8c17d
Fix HLS writing an incomplete init segment for sparse segments, improve decoder config validation, fix getFirstTimestamp() for Inputs with zero-packet tracks, allow zero-track muxing for some formats that allow it, add new track metadata that allows you to specify the decoder config early (enables zero-packet tracks), fix trafIndices in sparse fragmented MP4s, fix assertion errors in MPEG-TS demuxer
2026-08-08 17:00:36 +02:00
Vanilagy
8ae0f9d09e
Implement @mediabunny/prores extension, add onError callbacks to custom coders, fix visibleRect bug in VideoSample
2026-06-29 17:15:10 +02:00
Vanilagy
af618f014a
Merge branch 'main' into prores
2026-06-19 13:24:33 +02:00
Vanilagy
cdc2ef63dd
Add Logging singleton to manually control Mediabunny's console output ( fixes #415 )
2026-06-18 19:32:18 +02:00
Vanilagy
5b4a5db1a5
Add HlsInputFormatOptions.offsetTimestampsByDateTime option, add InputTrack.getUnixTimeForTimestamp()
2026-06-16 16:32:53 +02:00
Vanilagy
00599e556e
Properly handle zero-sample track fragments again ( fixes #411 )
2026-06-15 16:23:53 +02:00
Vanilagy
1ddeae2e80
Merge branch 'main' into prores
2026-06-12 15:41:58 +02:00
c0d93f45a5
Support QuickTime nclc color information ( #397 )
...
* Support QuickTime nclc color information
* Tighten QuickTime nclc color test fixture
* Make QuickTime muxer write nclc color box
---------
Co-authored-by: Vanilagy <[email protected] >
2026-06-02 09:48:06 +00:00
Vanilagy
9ed21bf9c6
Fix behavior with files with invalid pasp box (with num & den === 0) ( fixes #362 )
2026-05-02 14:27:25 +02:00
Vanilagy
5ee78c6480
Add pssh box parsing and expose them in resolveKey
2026-04-24 19:01:25 +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
aa810fc433
Fix SourceRef race conditions, fix "source" and "target" getter returning unused instances, add missing validation, make "getDurationFromMetadata" only exist on tracks, fix examples, expand media player to support live playback, change the signatures of some Input APIs
2026-04-10 13:38:14 +02:00
Vanilagy
bee1518100
Add TrackDescriptor concept
2026-04-08 12:21:08 +02:00
Vanilagy
340b5eede7
Add support for writing Unix epoch-relative tracks to HLS, add proper cleanup of all Targets obtained by an Output
2026-03-31 15:12:38 +02:00
Vanilagy
157582498f
Remove InputTrack.groupId, hide pairing mask, change HLS track merging behavior
2026-03-24 21:54:00 +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
c91718cdba
Add SourceRef system to keep track of used Sources ( fixes #332 )
2026-03-20 14:46:12 +01:00
Vanilagy
587e98391e
Merge branch 'main' into hls
2026-03-19 16:52:00 +01:00
Vanilagy
fd39084e88
Simplify/fix 3d matrix rotation extraction ( #330 )
2026-03-19 15:08:29 +01:00
Vanilagy
1da96f6d69
Add displayAspectWidth/displayAspectHeight only when they are necessary
2026-03-19 12:25:19 +01:00
Vanilagy
a9a455e132
Add metadata-based duration retrieval
2026-03-13 17:03:36 +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
365469e64e
Merge branch 'main' into hls
2026-03-04 17:33:16 +01:00
Vanilagy
c4398fb88c
Add @mediabunny/aac-encoder extension package
2026-03-04 17:05:34 +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
b0604150c1
Merge branch 'main' into hls
2026-02-26 15:53:46 +01:00
Vanilagy
bb4749cd8d
Add support for reading/writing non-square pixel video frames ( fixes #309 )
2026-02-25 17:16:33 +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
417c85d8ed
feat(codec): add detection support for AC-3, E-AC-3 audio codecs ( #275 )
...
* ac3/eac3 detection
* fix tests
* review pass + follow codebase comments style
* Add ac3/eac3 to docs
* WIP mpeg-2
* Set registration_descriptor
* add support for ac3 system b in mpeg-ts
* Update docs with ac3 in .ts support
* fix formatting
* Remove default to fix linter
* Add eac3 to mpeg-ts
* fix formatting
* Fix failing test
* Refactor AC3/EAC3 code a little
---------
Co-authored-by: Vanilagy <[email protected] >
2026-02-11 15:23:12 +01:00
Vanilagy
6004912f3d
Make computeDuration and getFirstTimestamp have the same implementations across the board
2026-01-27 16:49:25 +01:00
Vanilagy
d1fbea3e19
[WIP] Add majority of logic for HLS reading support
2026-01-27 14:45:44 +01:00
Vanilagy
e20f779ede
Add InputTrack.number
2026-01-22 09:18:43 +01:00
Vanilagy
7e8f9fbbb1
It's 2026
2026-01-16 17:02:12 +01:00
Vanilagy
888441232d
Implement the bulk of the MPEG-TS demuxer, add a bunch of tests, and a few other things
2026-01-14 12:05:39 +01:00
Vanilagy
0dd53ff1f7
Add ProRes codec and allow demuxing & muxing
2025-12-10 09:52:54 +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
217b383f12
Add read/write support for track disposition information
2025-11-13 11:00:42 +01:00
2c96ec0f1b
feature(isobmff): read disabled tracks ( #214 )
...
* feature(isobmff): read disabled tracks
* Put enabled ISOBMFF tracks first
---------
Co-authored-by: Vanilagy <[email protected] >
2025-11-13 09:34:29 +01:00