Vanilagy
0c455236da
Add first encoded packet key frame check ( fixes #365 )
2026-05-19 16:15:17 +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
5599e52a1a
Fix async race condition in transparency code, reduce HEVC conversion duration
2026-05-12 00:24:03 +02:00
Vanilagy
d8c8606341
Merge branch 'main' into server
2026-05-11 21:36:38 +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
Vanilagy
fff09411e6
Fixed negative timestamps occurring with live media ( fixes #364 )
2026-05-07 11:11:37 +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
9a1b8b2602
Add timestampBase option for live MediaStreamTrack sources
2026-04-27 19:38:45 +02:00
Vanilagy
9a7120f5f4
Add per-playlist "mutices" for HLS muxer
2026-04-17 18:35:33 +02:00
Vanilagy
c6e505a6fe
Make default keyFrameInterval 2 seconds to align with default HLS segment duration
2026-04-13 17:47:48 +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
b86e527dc6
Add audio resampling, remixing and processing options to AudioEncodingConfig, small AudioResampler adjustments, add more tests
2026-04-01 15:46:02 +02:00
Vanilagy
1c08589021
Add "force" transform option, formalize that transformations bake in rotation
2026-04-01 14:34:05 +02:00
Vanilagy
024660773b
Add video frame preprocessing to VideoEncodingConfig & VideoEncoderWrapper
2026-04-01 13:30:34 +02:00
Vanilagy
94678dd356
Add support for writing I-frame only tracks, fix track closing race conditions in other muxers
2026-03-27 18:48:27 +01:00
Vanilagy
17fac170c1
Add some HLS events, add configurable target duration, add public-API OutputTrack
2026-03-27 13:37:14 +01: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
397c464846
Change comment
2026-03-06 16:12:30 +01:00
Vanilagy
2087658eea
Add <video> element fallback case for MediaStreamVideoTrackSource, adding Firefox support
2026-03-06 16:11:59 +01:00
Vanilagy
f79834c3c1
Add frame rate-based sampling for MediaStreamVideoTrackSource, reducing the probability of files with wildly irregular FPS; add unthrottled timer primitives
2026-03-05 19:57:32 +01:00
Vanilagy
c4398fb88c
Add @mediabunny/aac-encoder extension package
2026-03-04 17:05:34 +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
a97200f3f0
Add @mediabunny/ac3 extension package
2026-02-12 18:31:59 +01:00
Vanilagy
c3a3eb6abf
Merge remote-tracking branch 'origin/main' into mpeg-ts
2026-01-16 21:04:14 +01:00
Vanilagy
7e8f9fbbb1
It's 2026
2026-01-16 17:02:12 +01:00
Vanilagy
78e78e5b4f
Make _flushOrWaitForOngoingClose set closingPromise ( fixes #270 )
2026-01-12 14:36:51 +01:00
Vanilagy
84dec01dfd
Add pause and resume methods to MediaStreamTrack sources ( closes #241 )
2025-12-11 15:51:18 +01:00
Vanilagy
1ff8abdaab
"Extract function" ahh
2025-12-11 15:24:19 +01:00
Vanilagy
5b703a1c78
Fix MP3 encoder emitting incorrect timestamps, fixed overaggressive audio sample gap filling ( fixes #233 )
2025-12-05 12:41:36 +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
fd8c74d4db
Fix invalid encoder AAC description on WebKit ( fixes #206 )
2025-11-10 14:44:35 +01:00
Vanilagy
5039c730bf
Fix MediaStreamTracks not being stopped inside of the worker ( fixes #204 )
2025-11-02 13:00:38 +01:00
Vanilagy
3f03eb8fbb
Small adjustments
2025-09-25 14:49:09 +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
f9a7735aae
Explicitly throw for odd video dimensions for AVC and HEVC ( closes #142 )
2025-09-22 15:37:31 +02:00
Vanilagy
1bb3c0e262
Avoid opaque canvases in case of Firefox ( fixes #117 )
2025-09-16 17:42:23 +02:00
Vanilagy
4860a4bfe7
Probe encoder support with sample ( fixes #90 ), improve encoder error handling
2025-09-04 11:11:04 +02:00
Vanilagy
a2a30c3e92
Add API doc generator, improve documentation across the board
2025-09-03 18:11:43 +02:00
Vanilagy
63b8190185
Add logic for encoding video frames that change size over time ( #63 )
2025-08-24 16:37:03 +02:00
Vanilagy
5a6528d8f5
Add HW acceleration to unsupported message
2025-08-22 19:38:36 +02:00
Vanilagy
134a6f8f4e
Add more options to Video/AudioEncodingConfig, restructure code ( #61 )
2025-08-22 17:24:02 +02:00
Vanilagy
3be94cc788
Decrease AudioBuffer chunking size, support more MP3 sample rates, lift MP3 encoder memory limit
2025-08-15 14:19:06 +02:00
Vanilagy
7e546c2cc7
Fix sample closing before it reaches the custom encoder
2025-08-12 15:36:17 +02:00
Vanilagy
ae0266df52
Clarify decode order thing for encoded packet sources
2025-08-11 18:41:15 +02:00
Vanilagy
80c6fa3201
Fall back to webkitAudioContext
2025-08-11 01:51:20 +02:00
Vanilagy
ba0491de3a
Circumvent flush() being called on sources when cancelling output, surface error before doing cleanup
2025-08-10 03:24:17 +02:00
Vanilagy
cbb2681d33
Create @mediabunny/mp3-encoder, restructure and extend build system
2025-08-10 00:45:30 +02:00
Vanilagy
d38ad22559
Big realtime playback refactor
...
- Added Worker- or AudioContext-based fallbacks in case MediaStreamTrackProcessor is not available
- Fixed fMP4-streamed files not playing in Safari
- Added better error handling for MediaStream sources
- Improved the live recording example to be more robust
2025-07-27 12:13:03 +02:00
Vanilagy
1b382d3e57
Improve unsupported encoder configuration error messages
2025-07-07 11:21:42 +02:00