Reputation: 21
Running Vanligy mp4 muxer demo as shown on https://github.com/Vanilagy/mp4-muxer/tree/main/demo works fine on a desktop but produces an error on Android as follows:
"EncodingError: input audio buffer is incompatible with codec paramers."
Any idea on how to set audioEncoder.configure on Android chrome?
if (audioTrack) {
audioEncoder = new AudioEncoder({
output: (chunk, meta) => muxer.addAudioChunk(chunk, meta),
error: e => console.error(e)
});
audioEncoder.configure({
codec: 'mp4a.40.2',
numberOfChannels: 1,
sampleRate: audioSampleRate,
bitrate: 128000
});
// Create a MediaStreamTrackProcessor to get AudioData chunks from the audio track
let trackProcessor = new MediaStreamTrackProcessor({ track: audioTrack });
let consumer = new WritableStream({
write(audioData) {
if (!recording) return;
audioEncoder.encode(audioData);
audioData.close();
}
});
trackProcessor.readable.pipeTo(consumer);
}
Expecting to be able to do MP4 Muxing audio and video on smartphone the same way as on a desktop. The audio buffer doesn't seem to work on Android chrome using codec 'mp4a.40.2'.
Upvotes: 1
Views: 243