Commit Graph
75 Commits
Author SHA1 Message Date
Vanilagy fdb5f4102f Add new createInputFrom helper function 2026-04-08 14:52:27 +02:00
Vanilagy bee1518100 Add TrackDescriptor concept 2026-04-08 12:21:08 +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 024660773b Add video frame preprocessing to VideoEncodingConfig & VideoEncoderWrapper 2026-04-01 13:30:34 +02:00
Vanilagy b06e407d65 Add HLS live mode 2026-03-31 14:13:00 +02:00
Vanilagy 3bcbcc13f0 Add CMAF format and CMAF/init segment support to HLS muxer 2026-03-30 17:06:57 +02:00
Vanilagy e2e8aaab78 Refactor Target and Writer, add single-file HLS writing mode 2026-03-27 18:07:26 +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 dd8621b6d5 Start work on HlsOutputFormat 2026-03-17 15:25:06 +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 6d5821aa74 Clean up some code, add new source getting for Input 2026-03-04 09:34:37 +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 dd8a87c4a3 Merge remote-tracking branch 'origin/main' into hls 2026-02-20 19:56:40 +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 703858fc4e Bump patch, fix broken remote resource link 2026-02-16 20:59:33 +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 dbaaea255c Expand packet.clone(), make conversion start timestamp default to the input's start timestamp 2026-01-19 14:04:20 +01:00
Vanilagy 2695921ed4 Allow .ts files to be picked in examples 2026-01-16 17:08:19 +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 75096edb23 Update TypeScript, fix generic ArrayBufferView type errors, allow SharedArrayBuffer as input for BufferSource 2025-11-26 12:04:23 +01:00
David P.andGitHub 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 b9f7ab2fa2 Skip HEVC RASL slices following a decoder reset 2025-09-09 13:09:41 +02:00
Vanilagy 2586e0e6f8 Display tags in metadata example 2025-09-06 02:15:42 +02:00
Vanilagy a00386d402 What a mess 2025-09-03 21:30:38 +02:00
Vanilagy 9c0ce3458b Fix MP3 demuxer wrong data offset 2025-09-03 21:26:57 +02:00
Vanilagy 4ef2d2719c Just one more fix bro 2025-09-01 16:20:07 +02:00
Vanilagy cdb00a3942 Made media player work properly on touch devices 2025-09-01 15:50:11 +02:00
Vanilagy ee4bfeed90 Fix BBB link 2025-09-01 12:05:35 +02:00
Vanilagy 3dec3ab12b Add loading element to media player 2025-08-30 17:50:53 +02:00
Vanilagy f1f5a62d26 Add remote URL option to examples 2025-08-30 17:45: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
Ally 8da619a624 Implement ADTS demuxer, Fix MP3 demuxer race conditions 2025-08-18 01:29:52 +02:00
Vanilagy 80c6fa3201 Fall back to webkitAudioContext 2025-08-11 01:51:20 +02:00
Vanilagy 12df436e15 Add more graceful handling of suspended AudioContext to media player example 2025-08-10 19:26:58 +02:00
Vanilagy b60d4cafed Fix example blob MIME types 2025-08-01 11:11:37 +02:00
Vanilagy ac8baa4873 Fall back to default timescale when not provided by the Matroska file 2025-07-27 13:03:43 +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 904ac2e366 Improve error messages in examples 2025-07-19 17:28:39 +02:00
Vanilagy c5d299c4ec QuickTime 😩 2025-07-14 09:53:26 +02:00
Alexander von StudnitzandGitHub ee59837857 Fix typo 2025-07-09 09:47:26 +02:00
Vanilagy 23aef27154 Oops 2025-07-03 12:22:27 +02:00
Vanilagy 9daab77bb5 Clarify live streaming 2025-07-03 12:19:08 +02:00
Vanilagy 1071bf9d49 Merge branch 'main' of https://github.com/Vanilagy/metamuxer 2025-07-03 11:36:07 +02:00
Vanilagy a8fa2e4cec Modify examples to only accept video and audio files 2025-07-03 11:36:04 +02:00
Vanilagy d4d93a7007 PINK PROGRESS BAR 2025-07-02 23:07:47 +02:00
Vanilagy 168fca1f55 Add example icons & colors 2025-06-30 21:28:34 +02:00