mediacapture-record
MediaStream Recording (by w3c)
MediaFragmentRecorder
Record media fragments (by guest271314)
mediacapture-record | MediaFragmentRecorder | |
---|---|---|
3 | 7 | |
103 | 12 | |
4.9% | - | |
2.6 | 10.0 | |
12 months ago | almost 4 years ago | |
Bikeshed | HTML | |
GNU General Public License v3.0 or later | - |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
mediacapture-record
Posts with mentions or reviews of mediacapture-record.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-05-18.
-
How do I Effectively Capture Video playing in Canvas?
Courtesy of this GitHub thread, my currently working, but very inconvenient strategy to capture the video is to use mediaCapture(0) on the canvas element with MediaStreamTrackProcessor to pipe frames into WebM muxer from a package called webm-muxer.
-
How to create a seamless loop for a looping video?
WebRTC's RTCRtpSender.replaceTrack() method achieves "seamless" replacement of a MediaStreamTrack. I proposed the same be added to MediaRecorder, see Add replaceTrack method to MediaRecorder., Add replaceStream to MediaRecorder.
-
FFmpeg for browser and node, powered by WebAssembly
I guess this could be used to remux the broken files that are spitted by the MediaRecorder API, which have missing metadata that prevents from seeking and thus far has been ignored / sweeped away in Chrome [1], Firefox [2], and even the standard itself [3], which ignored in its design the basic fact that encoding any file should include a "closing" stage (where metadata is written) before yielding it as a finished file.
[1]: https://bugs.chromium.org/p/chromium/issues/detail?id=642012
[2]: https://bugzilla.mozilla.org/show_bug.cgi?id=1283464
[3]: https://github.com/w3c/mediacapture-record/issues/119
MediaFragmentRecorder
Posts with mentions or reviews of MediaFragmentRecorder.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-05-20.
-
MP4 File and the Range Request Header
See also https://developer.chrome.com/en/articles/webcodecs/. FWIW Some experiments (see branches) I did creating media fragments in the browser https://github.com/guest271314/MediaFragmentRecorder.
-
How to create a seamless loop for a looping video?
There are multiple ways to achieve the requirement, see the branches of this repository https://github.com/guest271314/MediaFragmentRecorder/.
-
Browser video player that can stich together video files and play them as one without rendering new video?
The requirement is pssible. You can use RTCRtpSender.replaceTrack(), among other options. This repository is dedicated to that purpose https://github.com/guest271314/MediaFragmentRecorder.
-
Trying to record off a canvas, but bitrate is very low; high values are ignored.
You can use Image Capture API to get images from a MediaStreamTrack https://github.com/guest271314/MediaFragmentRecorder/tree/imagecapture-audiocontext-readablestream-writablestream.
-
Preview feature of a video editor
You can use Media Fragment URI https://www.w3.org/TR/media-frags/ to play specific time slices of videos, or RTCRtpSender.replaceTrack() to merge specific time slices of discrete videos into a single media stream, see https://github.com/guest271314/MediaFragmentRecorder/blob/webrtc-replacetrack/MediaFragmentRecorder.html.
- Programmatically Creating a Video Stream?
-
How do websites like Netflix prevent screenshots?
No. It can't. I can capture anything on my screen with navigator.mediaDevides.getDisplayMedia({video: true}) alone https://github.com/guest271314/screenshot, or other means. If I wanted to, I can capture audio as well, with several different approaches, respectively https://github.com/guest271314/captureSystemAudio; and both in a single video, or multiple vides merged into one https://github.com/guest271314/MediaFragmentRecorder.
What are some alternatives?
When comparing mediacapture-record and MediaFragmentRecorder you can also consider the following projects:
reference-types - Proposal for adding basic reference types (anyref)
captureSystemAudio - Capture system audio ("What-U-Hear")
assemblyscript - A TypeScript-like language for WebAssembly.
screenshot - Screenshots
rust-ffmpeg-wasi - ffmpeg 7 libraries precompiled for WebAsembly/WASI, as a Rust crate.
mediacapture-transform - MediaStreamTrack Insertable Media Processing using Streams
webm-writer-js - JavaScript-based WebM video encoder for Google Chrome
tinyglitch - Just an experiment with libavformat/libavcodec
mediacapture-record vs reference-types
MediaFragmentRecorder vs captureSystemAudio
mediacapture-record vs assemblyscript
MediaFragmentRecorder vs screenshot
mediacapture-record vs rust-ffmpeg-wasi
MediaFragmentRecorder vs mediacapture-transform
mediacapture-record vs mediacapture-transform
MediaFragmentRecorder vs webm-writer-js
mediacapture-record vs tinyglitch