Vanilagy
597b68b299
Add support for Matroska lacing, fix packet lookup logic
2025-08-08 17:10:03 +02:00
Vanilagy
5a6b849ff8
Fix fragmented MP4 files with a non-empty sample table
2025-08-03 22:34:38 +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
14ad80df5d
Improve ISOBMFF demuxer to support fragments without a key frame
2025-07-11 10:57:24 +02:00
Vanilagy
9072a7a9f7
Be even more graceful with invalid ISOBMFF files
2025-07-10 17:47:56 +02:00
Vanilagy
fba463f46b
Be more graceful with unsupported edit lists
2025-07-10 17:33:10 +02:00
Vanilagy
846fa0b183
Adjust legal comment
2025-06-27 13:22:19 +02:00
Vanilagy
a3d73228e2
Add proper license
2025-06-27 13:14:11 +02:00
Vanilagy
b15a5cd984
Fix incorrect cluster insertion for Matroska demuxer
2025-06-20 12:05:40 +02:00
Vanilagy
a2fc4decda
Fix contiguous box reading regression
2025-06-17 13:53:43 +02:00
Vanilagy
28597ea93c
Yapperino
2025-06-16 20:51:58 +02:00
Vanilagy
05881ff1f5
Add support for PCM codecs in MP4, add 64-bit float PCM support
2025-06-16 10:49:55 +02:00
Vanilagy
c7c57e2132
Add getMimeType to Output & other small adjustments
2025-06-07 22:51:57 +02:00
Vanilagy
f5a56e1f62
Fix incorrectly processed timestamps for fragmented MP4
2025-06-07 18:54:19 +02:00
Vanilagy
0359a7f2b1
Fix PCM playback issue for certain malformed files
2025-06-06 20:02:46 +02:00
Vanilagy
550b849235
Rename
2025-05-12 15:16:30 +02:00
Vanilagy
fd159ecce3
Migrate all codec data parsing logic into new file
2025-05-12 15:09:04 +02:00
Vanilagy
b0a6cf8535
Add support for HEVC in Annex B, fix HEVC codec string extraction logic
2025-05-12 14:56:34 +02:00
Vanilagy
f1eed5aa9e
Support AVC in Annex B format, add AVCDecoderConfigurationRecord extraction logic, add Annex B to AVCC converter, add support for Matroska Clusters with undefined size, & a couple other improvements
2025-05-11 20:47:37 +02:00
Vanilagy
e527fe1484
Allow fractional frame rates in track metadata, document frameRate better, other small doc adjustments
2025-04-28 15:48:51 +02:00
Yonatan Bendahan
9738329f73
make getSize and input source public
2025-04-15 15:09:15 +03:00
Vanilagy
20c53c407f
Fix codec validation logic
2025-04-05 17:10:49 +02:00
Vanilagy
5e224510be
Add documentation on writing files
2025-03-31 21:21:10 +02:00
Vanilagy
ceb2528014
Add specific, per-output-format data callbacks & rewrite some logic in the process
2025-03-22 20:30:24 +01:00
Vanilagy
b14daf6dca
Add configurable minimum MP4 fragment duration and Matroska cluster duration
2025-03-22 15:33:00 +01:00
Vanilagy
4645b0d6a5
Allow Matroska clusters that don't begin with a key frame
2025-03-21 22:50:57 +01:00
David Payr
3863ffe4d8
Add documentation comments everywhere
2025-03-15 17:12:42 +01:00
David Payr
6eb5c02591
Add VideoSample and AudioSample abstractions
2025-03-13 21:46:39 +01:00
Vanilagy
453f8b6884
Ensure rotation is always clockwise, make CanvasSink more powerful, disable rotation metadata for Matroska outputs, & other changes
2025-03-02 11:59:11 +01:00
David Payr
2ab385b16e
Fix cslg box for QuickTime compatibility
2025-02-26 22:46:44 +01:00
David Payr
c2b20ccda5
EncodedVideoSample/EncodedAudioSample -> EncodedPacket
2025-02-22 19:54:59 +01:00
Vanilagy
7988b6c2f8
Multiple miscellaneous fixes
2025-02-18 22:13:21 +01:00
Vanilagy
873dae00c1
Add more relaxed rules for edit lists
2025-02-16 18:55:47 +01:00
Vanilagy
a4c5ab4a8c
Add fix to ensure VideoFrames are output in timestamp order, fix atTimestamps iterator logic & leaks
2025-02-16 18:30:14 +01:00
Vanilagy
6cdaa06c07
Add limited edit list support
2025-02-09 17:21:41 +01:00
Vanilagy
cd30c9faec
Unpromise many input track methods
2025-02-08 16:32:34 +01:00
Vanilagy
1d823805cf
Remove sample correlation logic in decoder pipeline
2025-02-08 15:55:54 +01:00
Vanilagy
b4d4c71916
Add reusable Opus identification header parsing function
2025-02-07 20:14:01 +01:00
Vanilagy
50442691a5
Implement Ogg demuxer
2025-02-04 16:59:25 +01:00
Vanilagy
35c4d384cf
Mime type & MP3 improvements
2025-02-02 17:21:57 +01:00
Vanilagy
387c4dc525
isobmffReader -> metadataReader
2025-01-19 18:56:45 +01:00
Vanilagy
70b88332b2
Add media conversion utility function, fix fragment/cluster reading issues, expand color space logic, add qualitative bitrates, & many other fixes and improvements
2025-01-19 18:55:12 +01:00
Vanilagy
7b6567fcf0
Add language getter to InputTrack
2025-01-15 20:21:34 +01:00
Vanilagy
2bec661985
Add setting track language code, add proper AV1 CodecPrivate for Matroska muxer
2025-01-15 20:00:29 +01:00
Vanilagy
2dfb595911
Improve lookup algorithm to handle misleading cue points, fix cluster start timestamp in Matroska muxer, improve cue points in Matroska muxer, & other misc improvements
2025-01-12 15:17:21 +01:00
Vanilagy
61a4f1483a
Add VP9 and AV1 bitstream parsers for extracting codec info
2025-01-11 21:28:10 +01:00
Vanilagy
11d41fcbc7
Fix interleaving of chunks in finalize()
2025-01-11 19:57:31 +01:00
Vanilagy
c38c285eab
Add Matroska demuxer
2025-01-11 19:39:01 +01:00
David Payr
b6b82084d4
Drain -> Sink
2025-01-08 14:26:49 +01:00
Vanilagy
37820f1d4c
Replace ArrayBufferTarget with BufferTarget, now spitting out Uint8Array and using .resize
2025-01-05 14:24:06 +01:00