Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

207
Vistas
cargar el video de la grabadora de medios al servidor express

Estoy trabajando en una aplicación Electron donde estoy grabando video usando la API MediaRecorder y publicando el búfer en el servidor con un intervalo de tiempo de 5 segundos.

 let recordedChunks = []; const startBtn = document.getElementById('startBtn'); startBtn.onclick = e => { // Create the Media Recorder const options = { mimeType: 'video/webm; codecs=vp9' }; mediaRecorder = new MediaRecorder(stream, options); mediaRecorder.ondataavailable = handleDataAvailable; mediaRecorder.onstop = handleStop; mediaRecorder.start(timeslice); // timeslice being 5000 } // handling available data function handleDataAvailable(e) { recordedChunks.push(e.data); var blob = new Blob(recordedChunks, { type: 'video/webm; codecs=vp9' }); var buffer = Buffer.from(await blob.arrayBuffer()); var data = { video_buffer: buffer}; // for posting buffer to the server axios.post(API + '/video/', data, { observe: 'body', withCredentials: true, }) .then((res) => { console.log(`Status: ${res.status}`); console.log('Body: ', res.data); }).catch((err) => { console.error(err); }); recordedChunks = []; }

Y en mi servidor Express, manejo el búfer anterior de esta manera

 const videoView = (req, res) => { const buffer = Buffer.from(req.body.video_buffer); const stored_stream = fs.createWriteStream('video.webm', { 'flags': 'a' }); stored_stream.write(buffer); res.end(JSON.stringify({ 'success': true })) }

El código anterior funciona bien, excepto en algunos casos que no conozco.

A veces, el video grabado en el servidor está incompleto o los fotogramas se congelan en el medio y, a veces, el video está completamente dañado, pero el tamaño del video es el mismo que el del video local (ya que también estoy guardando el mismo video localmente y el video local). el video se reproduce bien cada vez).

Estoy usando Electron@17.1.1 en Windows 10 con una buena conexión a Internet.

Cualquier ayuda sería apreciada ya que no tengo mucha experiencia trabajando con flujos de JavaScript.

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda