Vanilagy
3c94d062d2
Allow negative timestamps in media sources, add negative timestamp support to ISOBMFF muxer
2026-09-04 11:48:50 +02:00
Vanilagy
d44253c7d3
Fix incomplete parsing and generation of AacAudioSpecificConfig ( fixes #471 )
2026-08-26 13:40:14 +02:00
Vanilagy
6b5ae29252
Add Annex B in MP4 test
2026-08-21 20:12:50 +02:00
Vanilagy
e8162f483f
Add @mediabunny/dts extension package
2026-08-15 17:50:47 +02: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
dc068a0aa8
Add computeFrameRateMetrics and heuristics to determine a video's true frame rate
2026-08-12 16:10:28 +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
7ec538e175
Add special-cased HLS muxer behavior with single-file mode and fMP4 in order to create a standalone playable fMP4 file ( closes #394 )
2026-08-07 23:03:48 +02:00
Vanilagy
f8f660b31a
Flake?
2026-08-06 16:52:08 +02:00
Vanilagy
c159798c29
Sure
2026-08-06 14:13:59 +02:00
Vanilagy
3023c5f7bd
Adjust UrlSource behavior when reading non-range responses, it now honors the cache size and behaves like a ReadableStreamSource ( fixes #457 )
2026-08-06 14:02:28 +02:00
c3df2a24e5
Add custom quality factors and quantizer bitrate mode ( #448 )
...
* Add custom quality factors and quantizer bitrate mode (closes #327 )
* Fix quantizer mode fallback and per-frame quantizer edge cases
* Clean up quantizer mode tests
* Quantizer implementation
* Add quality tests
* Improve conversion codec error message, make test more lenient
* Add quantizer support blog post
---------
Co-authored-by: Vanilagy <[email protected] >
2026-07-30 17:24:59 +02:00
Vanilagy
4e4603ed83
Up timeout
2026-07-29 11:49:37 +02:00
454476ab26
Fix WebVTT-in-MP4 output by starting the aux writer ( #441 )
...
* Fix WebVTT-in-MP4 output by starting the aux writer
The ISOBMFF muxer advertises WebVTT as a supported subtitle codec and maps
it to the wvtt sample entry, but IsobmffMuxer.start() never calls
auxWriter.start(). The aux writer builds subtitle sample boxes in memory, so
the first box write for any subtitle track hits its started === false assert
and muxing fails.
Start the aux writer alongside the main writer so WebVTT subtitle tracks can
be written to MP4/MOV.
* Move code around, add simple WebVTT muxing test
---------
Co-authored-by: hikari <[email protected] >
Co-authored-by: Vanilagy <[email protected] >
2026-07-18 13:45:23 +00:00
Vanilagy
7ea8f6d751
Up timeout on test
2026-07-01 16:25:53 +02:00
Vanilagy
8fb22633fe
Add frame container atom header stripping & readding for ProRes in Matroska, bump patch
2026-07-01 16:22:38 +02:00
Vanilagy
d8a6e09a85
Up timeout
2026-07-01 11:32:45 +02:00
Vanilagy
7d89c8de2d
Add ProRes encode and decode support to @mediabunny/server
2026-06-30 21:40:58 +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
92a384f418
Added ID3v2 support for FLAC files. ( Fixes #417 ) ( #418 )
...
* Added ID3v2 support for FLAC files. (Fixes #417 )
* Fix ID3v2 header size calculation, adjust ID3v2 logic for FLAC files
---------
Co-authored-by: Vanilagy <[email protected] >
2026-06-18 16:40:43 +00: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
5b4a5db1a5
Add HlsInputFormatOptions.offsetTimestampsByDateTime option, add InputTrack.getUnixTimeForTimestamp()
2026-06-16 16:32:53 +02:00
Jonny Burger and GitHub
0da1107858
[AI-generated] Fix unhandled rejection when disposing invalid input ( #413 )
...
* Fix input dispose rejection handling
* Move input disposal regression test
2026-06-15 16:25:02 +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
96d0d9fb22
Fix tkhd issue for Apple ecosystem compatibility ( #391 )
...
* fix: ensure at least one track per type is enabled for Apple ecosystem compatibility
* Add ensureOneEnabledTrack() to ISOBMFF muxer
* Add test case
---------
Co-authored-by: Vanilagy <[email protected] >
2026-06-01 22:55:02 +02:00
Vanilagy
831d395696
More stable test?
2026-06-01 21:52:34 +02:00
Vanilagy
288372ee71
Fix NodeAv memory leak ( fixes #392 )
2026-06-01 21:45:49 +02:00
Vanilagy
441eea38b9
CustomSource -> StreamSource
2026-05-24 15:48:01 +02:00
Vanilagy
f151ce85e8
Add eccentric timestamp tests for server extension
2026-05-13 19:55:22 +02:00
Vanilagy
deb9423ddb
The test is self-explanatory
2026-05-13 17:30:17 +02:00
David P. and GitHub
09a8ff0166
Merge pull request #369 from Theredbt/fix/recognize-sidx-mp4-segment
...
fix(input-format): recognise CMAF segments that start with sidx
2026-05-13 17:29:28 +02:00
Vanilagy
292189e3d4
Add toAvFrame, NodeAv* -> Av*, add server README, fix track synchronizer in conversion, increase default cache size for ReadableStreamSource
2026-05-13 15:26:13 +02:00
Vanilagy
633d1bc235
Increase test timeout 🙄
2026-05-12 13:18:11 +02:00
Vanilagy
060ceb8ed3
Fix tests some more
2026-05-12 00:43:08 +02:00
Vanilagy
5599e52a1a
Fix async race condition in transparency code, reduce HEVC conversion duration
2026-05-12 00:24:03 +02:00
Vanilagy
4e5f894d7a
Adjust tests for CI
2026-05-12 00:06:48 +02:00
Vanilagy
81531cc510
Fix some bugs & polish edge cases
2026-05-11 23:50:06 +02:00
Vanilagy
1bf200894c
Add CPU path for transparent encoding and decoding, add transparency support to FFmpeg-backed VP9 decoder and encoder
2026-05-11 21:33:29 +02:00
Vanilagy
a89d715524
Add VideoSample.transform(), add custom transformer functions, ditch CanvasSink path in Conversion API, add libavfilter-based VideoSample transformation
2026-05-11 15:57:51 +02:00
Theredbt
b48eb75565
fix(input-format): recognise CMAF segments that start with sidx
...
Sibling case to #308 : when a fragmented MP4 segment begins with a sidx
box (no ftyp/styp/moof at the file root), Mp4InputFormat._canReadInput
returned false, causing Input.getTracks() to throw
UnsupportedInputFormatError.
This shape is standard in CMAF when the DASH on-demand profile is used
or when HLS playlists are derived from one (Vimeo's vod-adaptive-ak CDN,
for example). The segment is still a valid ISOBMFF fragment — the sidx
just sits before the moof.
Adds 'sidx' alongside the existing 'moof' check so the format probe
accepts these segments, and a focused regression test that fails on
the previous behaviour.
2026-05-11 04:22:46 +01:00
Vanilagy
1e200edc83
Implement audio decoder & encoder
2026-05-10 16:37:25 +02:00
Vanilagy
ab9958234a
Change VideoSampleResource interface, validate return values, add more proper VideoSample.copyTo() logic, fix decoder/encoder color space issues
2026-05-08 19:37:41 +02:00
Vanilagy
f5bd540863
Add the video portion of @mediabunny/server
2026-05-05 23:38:14 +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
f3dec587fd
Make FLAC encoder bit depth depend on input sample format, add sampleFormat audio transformation option, fix incorrect bitrate validation for FLAC ( closes #357 )
2026-04-29 16:27:20 +02:00
Vanilagy
0f6c374750
Ensure extensions work with huge timestamps, fix AC3 and AAC extension's behavior with huge timestamps
2026-04-27 20:58:05 +02:00
Vanilagy
9fdf263482
Merge branch 'main' into hls
2026-04-24 20:56:59 +02:00
Vanilagy
97f6b35cda
Add special TXXX handling for ID3v2
2026-04-24 19:42:15 +02:00