David Payr
|
53e8ce5cac
|
Begin work on documentation
|
2025-03-29 11:47:21 +01:00 |
|
Vanilagy
|
95cc8beb06
|
Fix chunked writing issues & drop ChunkedStreamTargetWriter
|
2025-03-26 21:35:19 +01: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
|
bbc2e088ca
|
Refactor UrlSource to use fetch instead of XHR & offer more options
|
2025-03-22 16:26:04 +01:00 |
|
Vanilagy
|
b14daf6dca
|
Add configurable minimum MP4 fragment duration and Matroska cluster duration
|
2025-03-22 15:33:00 +01:00 |
|
Vanilagy
|
1652b4f614
|
More intentional codec description extraction for Matroska, & generate CodecPrivate for VP9
|
2025-03-22 14:50:35 +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
|
d833b5ef31
|
Make use of OffscreenCanvas
|
2025-03-02 19:30:09 +01:00 |
|
Vanilagy
|
00975b456c
|
Fix error when aborting conversion, expose Conversion class for more control, refactor Output state
|
2025-03-02 17:32:56 +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
|
5d1866653c
|
Todo
|
2025-02-21 22:25:28 +01:00 |
|
Vanilagy
|
7988b6c2f8
|
Multiple miscellaneous fixes
|
2025-02-18 22:13:21 +01:00 |
|
Vanilagy
|
3848a59ec3
|
0-duration VideoFrame
|
2025-02-16 19:03:36 +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 |
|
David Payr
|
444770d4f8
|
todo
|
2025-02-13 16:12:42 +01:00 |
|
David Payr
|
fff9589bfb
|
Todo
|
2025-02-13 09:50:05 +01:00 |
|
Vanilagy
|
557314c640
|
digest -> add
|
2025-02-09 17:59:30 +01:00 |
|
Vanilagy
|
b3cd4de1f6
|
Make conversion cancelable
|
2025-02-09 17:55:59 +01:00 |
|
Vanilagy
|
02ac371011
|
Drop frames if encoded is overloaded
|
2025-02-09 17:40:07 +01:00 |
|
Vanilagy
|
9f6d561772
|
Add StreamSource
|
2025-02-09 17:34:59 +01:00 |
|
Vanilagy
|
6cdaa06c07
|
Add limited edit list support
|
2025-02-09 17:21:41 +01:00 |
|
Vanilagy
|
f750bcfa21
|
Fix incorrect timestamp rounding for audio
|
2025-02-09 14:42:08 +01:00 |
|
Vanilagy
|
0db871dd21
|
Implement Ogg muxer
|
2025-02-09 10:56:54 +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
|
ffd0835e9a
|
Add support for custom encoders & decoders
|
2025-01-26 17:32:10 +01:00 |
|
Vanilagy
|
bb9f56b1f0
|
Remove unused fields
|
2025-01-26 13:22:14 +01:00 |
|
Vanilagy
|
b759fd8808
|
Add toDataView
|
2025-01-26 12:03:23 +01:00 |
|
Vanilagy
|
d3566305df
|
Implement MP3 muxer
|
2025-01-26 11:45:56 +01:00 |
|
Vanilagy
|
7205d9445b
|
Implement MP3 demuxer
|
2025-01-26 10:01:09 +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
|
d323c2be8e
|
Add track count limit checking
|
2025-01-17 12:26: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
|
9af3e6eb66
|
Fix atTimestamps iterator
|
2025-01-14 21:23:37 +01:00 |
|
Vanilagy
|
45474764ca
|
Add explanatory comment
|
2025-01-12 16:57:31 +01:00 |
|
Vanilagy
|
9c501808b1
|
Add WebMInputFormat, add OutputFormat.getFileExtension()
|
2025-01-12 16:52:28 +01:00 |
|
Vanilagy
|
aea808ca0c
|
Adjust timestamp logic for media sinks for more accurate audio timing
|
2025-01-12 16:41:42 +01:00 |
|
Vanilagy
|
764a6dfd52
|
Replace block sorting algorithm
|
2025-01-12 15:40:05 +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
|
2d4df211d8
|
Support rotation metadata in Matroska muxer
|
2025-01-11 20:07:31 +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
|
fbe084d721
|
Minor cleanup
|
2025-01-08 14:43:16 +01:00 |
|
David Payr
|
b6b82084d4
|
Drain -> Sink
|
2025-01-08 14:26:49 +01:00 |
|
Vanilagy
|
dc81afa1d9
|
Drop big-endian PCM support for WaveDemuxer
|
2025-01-07 22:23:04 +01:00 |
|
Vanilagy
|
e1c070fe7b
|
Move RiffWriter into separate file
|
2025-01-07 22:20:33 +01:00 |
|
Vanilagy
|
9d51a896ae
|
Make sure encoders are ensured only once
|
2025-01-07 21:58:30 +01:00 |
|
Vanilagy
|
7d5957957e
|
Add WAVE muxer
|
2025-01-07 21:37:55 +01:00 |
|
Vanilagy
|
3041989cf3
|
Add WAVE demuxer
|
2025-01-07 20:57:16 +01:00 |
|
Vanilagy
|
48c9a225e2
|
Improve encoders and check availability
|
2025-01-06 21:22:15 +01:00 |
|
Vanilagy
|
00408c86ff
|
Add support for remaining audio codecs to Matroska muxer
|
2025-01-06 21:09:12 +01:00 |
|
Vanilagy
|
7c65c2e7e9
|
Slightly modify input formats
|
2025-01-06 19:45:47 +01:00 |
|
Vanilagy
|
2625dc7662
|
Implement PCM encoders
|
2025-01-05 15:58:20 +01:00 |
|
Vanilagy
|
37820f1d4c
|
Replace ArrayBufferTarget with BufferTarget, now spitting out Uint8Array and using .resize
|
2025-01-05 14:24:06 +01:00 |
|
Vanilagy
|
ee81e1b674
|
Add support for all audio codecs in the ISOBMFF muxer (& some fixes)
|
2025-01-05 13:50:50 +01:00 |
|
Vanilagy
|
316e16211b
|
Add onread callback
|
2025-01-04 14:46:53 +01:00 |
|
Vanilagy
|
3487bae4fe
|
Add cslg box
|
2025-01-04 14:43:26 +01:00 |
|
Vanilagy
|
b8c0d76503
|
Add compileSampleStats
|
2025-01-04 14:25:22 +01:00 |
|
Vanilagy
|
5bb9f8609c
|
Allow non-zero initial timestamps for ISOBMFF muxer
|
2025-01-04 14:02:45 +01:00 |
|
Vanilagy
|
2e8d49f900
|
Add SampleRetrievalOptions to samples iterator
|
2025-01-04 01:11:01 +01:00 |
|
Vanilagy
|
1145e0ebbe
|
Use new sample classes for muxers as well
|
2025-01-04 00:28:54 +01:00 |
|
Vanilagy
|
e83356662e
|
Add own encoded sample classes and port the code to them
|
2025-01-04 00:14:34 +01:00 |
|
Vanilagy
|
f6d12390cd
|
Fix audio tracks with channel count 1 being discarded
|
2025-01-02 23:53:22 +01:00 |
|
Vanilagy
|
676ceb7df1
|
Add some try-catch
|
2025-01-02 23:47:50 +01:00 |
|
Vanilagy
|
8db8f10a1e
|
Fix sample index retrieval case
|
2025-01-02 23:44:40 +01:00 |
|
Vanilagy
|
a3f19f6f08
|
Oops
|
2025-01-02 23:31:06 +01:00 |
|
Vanilagy
|
60947168f9
|
CodecConfig -> EncodingConfig
|
2025-01-02 23:15:30 +01:00 |
|
Vanilagy
|
3035fcddbf
|
Add functions that test codec encodability
|
2025-01-02 23:12:00 +01:00 |
|
Vanilagy
|
74369ee108
|
Explicitly model the supported codecs per output format
|
2025-01-02 21:03:17 +01:00 |
|
Vanilagy
|
2471f55f20
|
Validate audio codec strings
|
2025-01-02 20:21:49 +01:00 |
|
Vanilagy
|
9ac0519217
|
Add onEncodedChunk callback
|
2025-01-02 20:01:30 +01:00 |
|
Vanilagy
|
141bed1b37
|
Add Output.cancel
|
2025-01-02 19:57:32 +01:00 |
|
Vanilagy
|
c42495ec7e
|
Allow more manual control over key frames
|
2025-01-02 19:39:02 +01:00 |
|
Vanilagy
|
022b157eeb
|
Turn AudioBuffers into AudioData in a chunked fashion
|
2025-01-02 19:28:43 +01:00 |
|
Vanilagy
|
0f25dcb096
|
Add methods that check decodability
|
2025-01-02 19:08:09 +01:00 |
|
Vanilagy
|
ad653434a6
|
Small fix
|
2025-01-02 18:37:34 +01:00 |
|
Vanilagy
|
af26b4aab4
|
Fix fragment reading bug
|
2025-01-02 18:16:06 +01:00 |
|
Vanilagy
|
d476c42424
|
Fix rotation matrix detection
|
2025-01-02 17:03:05 +01:00 |
|
Vanilagy
|
5dda43959d
|
Support mp4a.67
|
2025-01-02 15:42:04 +01:00 |
|
Vanilagy
|
3a7e272d2f
|
Vorbis works!
|
2025-01-02 15:33:36 +01:00 |
|
Vanilagy
|
4bef3b6722
|
Manually write the async generators so that return() is immediate
|
2025-01-02 15:24:38 +01:00 |
|
Vanilagy
|
7c5e31a93a
|
Add Opus support to ISOBMFF demuxer
|
2025-01-02 14:19:17 +01:00 |
|
Vanilagy
|
8a8fbc264e
|
Add FLAC support to ISOBMFF demuxer
|
2025-01-02 00:03:32 +01:00 |
|
Vanilagy
|
4e0b3a7b3a
|
Add ulaw and alaw support to ISOBMFF demuxer
|
2025-01-01 22:03:12 +01:00 |
|
Vanilagy
|
fac4e4bf7b
|
Implement PCM decoder, add PCM support to ISOBMFF demuxer
|
2025-01-01 21:31:00 +01:00 |
|
Vanilagy
|
d203d75bdd
|
Add MP3 support to ISOBMFF demuxer
|
2024-12-30 23:47:42 +01:00 |
|
David Payr
|
8f861f3cfe
|
Validate video codec strings using regexes
|
2024-12-30 00:47:01 +01:00 |
|
David Payr
|
06cedf1a26
|
Use more parts of codec string to determine av1C
|
2024-12-30 00:16:22 +01:00 |
|
David Payr
|
94b43bf8da
|
Make VP9 and AV1 codec strings much more detailed
|
2024-12-30 00:08:23 +01:00 |
|