Я пытаюсь преобразовать файлы webM в mp4 с помощью ffmpeg.js. Я записываю видео с холста (наложение с некоторой информацией) и записываю аудиоданные из видео.
stream = new MediaStream();
var videoElem = document.getElementById('video');
var videoStream = videoElem.captureStream();
stream.addTrack(videoStream.getAudioTracks()[0]);
stream.addTrack(canvas.captureStream().getVideoTracks()[0]);
var options = {mimeType: 'video/webm'};
recordedBlobs = [];
mediaRecorder = new MediaRecorder(stream, options);
mediaRecorder.onstop = handleStop;
mediaRecorder.ondataavailable = handleDataAvailable;
mediaRecorder.start(100); // collect 100ms of data
function handleDataAvailable(event) {
if (event.data && event.data.size > 0) {
recordedBlobs.push(event.data);
}
}
mediaRecorder.stop();
Этот код работает должным образом и возвращает веб-видео.
var blob = new Blob(recordedBlobs, {type: 'video/webm'});
Теперь мне нужен файл mp4 и я проверил ffmpeg.js из муаз-хан. Примеры просто показывают, как преобразовать в mp4, когда у вас есть 2 отдельных потока (аудио и видео). Но у меня есть один поток с дополнительной звуковой дорожкой. Могу ли я конвертировать такой поток в mp4? Как это можно сделать?