#🔒 No audio in the final video when converting webm blobs to mp4 using ffmpeg

4 messages · Page 1 of 1 (latest)

zinc oyster
#

I trying to record user camera and microphone and using MediaRecorder to convert the stream to blobs and sending the blobs every 2 second to the backend using websocket. Everything is working fine, but when I checked the final mp4 video in the backend, it doesn't have any audio to it, I try specifying the audio codec, but still no help.

My frontend code :-

const micStream = await navigator.mediaDevices.getUserMedia({ audio: true });

const recorder = new MediaRecorder(stream, {
   mimeType: 'video/webm;codecs=H264',
   videoBitsPerSecond: 8000000,
   audioBitsPerSecond : 8000000
});

recorder.ondataavailable = (e: BlobEvent) => {
    websocket.send(e.data)         
}  
recorder.start(2000);

And here is the backend code :-

@router.websocket("/streamaudio")
async def websocket_endpoint(websocket: WebSocket):
    await manager.connect(websocket)

    recordingFile = os.path.join(os.getcwd(), f"recording_.mp4")

    command = [
        'ffmpeg', 
        '-y',
        '-i', 
        '-', 
        '-codec:v', 
        'copy', 
        '-c:a', 'aac', 
        '-y',
        '-f', 'mp4',
        recordingFile,
        # "-"
        # f'output{queueNumber}.mp4',
    ]  

    
    try:
        while True:
            try:
           
                data = await websocket.receive_bytes()
                
                process.stdin.send(data)
               
            except RuntimeError:
                break      
    except WebSocketDisconnect:
        print(f"Client disconnected: {websocket.client.host}")
    finally:
        manager.disconnect(websocket)
        await process.stdin.aclose()
        await process.wait()  
toxic daggerBOT
#

@zinc oyster

Python help channel opened

Remember to:

  • Ask your Python question, not if you can ask or if there's an expert who can help.
  • Show a code sample as text (rather than a screenshot) and the error message, if you've got one.
  • Explain what you expect to happen and what actually happens.

:warning: Do not pip install anything that isn't related to your question, especially if asked to over DMs.

toxic daggerBOT
#

@zinc oyster

Python help channel closed

This help channel has been closed and it's no longer possible to send messages here. If your question wasn't answered, feel free to create a new post in #1035199133436354600. To maximize your chances of getting a response, check out this guide on asking good questions.