W3C home > Mailing lists > Public > public-webrtc-logs@w3.org > March 2019

Re: [mediacapture-record] Feature request: Concat filter (#166)

From: Andreas Pehrson via GitHub <sysbot+gh@w3.org>
Date: Tue, 26 Mar 2019 17:07:31 +0000
To: public-webrtc-logs@w3.org
Message-ID: <issue_comment.created-476750796-1553620050-sysbot+gh@w3.org>
Based on your code `new MediaRecorder(new MediaStream([video0.captureStream(), video1.captureStream(), video2.captureStream()])`, it seems to me that you want to encode the three streams separately and concat them into one webm file.

Now that can be done by recording them separately, and remuxing in js, no?
This assumes of course, that all the recordings have the same number and type of tracks, and codecs.

Like so (but in a loop or something nicer looking)
let r0 = new MediaRecorder(video0.captureStream());
let r1 = new MediaRecorder(video1.captureStream());
let r2 = new MediaRecorder(video2.captureStream());

let p0 = new Promise(r => r0.ondataavailable = e => r(e.data));
let p1 = new Promise(r => r1.ondataavailable = e => r(e.data));
let p2 = new Promise(r => r2.ondataavailable = e => r(e.data));

let b0 = await p0;
let b1 = await p1;
let b2 = await p2;

// Something home-written that basically uses ts-ebml to set up a pipe of
// EBMLDecoder -> EBMLReader -> EBMLEncoder, and processes the blobs in order.
js_webm_remux_concat(b0, b1, b2);

Looking at your proposal as a way to support multiple tracks, I'm not sure it's the right fix. For one, it doesn't handle tracks that start or end in parallel to other tracks.

Since there's so little consensus on supporting multiple tracks (other than if they're there at the start), I think this kind of fairly specific use-case fixes will have an even harder time to fly.

GitHub Notification of comment by Pehrsons
Please view or discuss this issue at https://github.com/w3c/mediacapture-record/issues/166#issuecomment-476750796 using your GitHub account
Received on Tuesday, 26 March 2019 17:07:32 UTC

This archive was generated by hypermail 2.4.0 : Saturday, 6 May 2023 21:19:46 UTC