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

259
Vistas
¿Cómo descargar una grabación usando getUsermedia y mediaRecorder y dar las especificaciones del video?
navigator.mediaDevices.getUserMedia().then(stream=>{ //a recorder is created var mediaRecorder = new MediaRecorder(stream); //started it mediaRecorder.start(); //an array is created that receives all the data var recordedChunks = []; //fill it mediaRecorder.ondataavailable = function(e){recordedChunks.push(e.data)}; //when stopped downloads the recording mediaRecorder.onstop=function(){ var blob = new Blob(recordedChunks, { 'type': 'video/mp4' }); var url = URL.createObjectURL(blob); var a = document.createElement('a'); document.body.appendChild(a); a.style = 'display: none'; a.href = url; a.download = 'test.webm'; a.click(); window.URL.revokeObjectURL(url); } }.catch()

Este código funciona para mí, pero cuando se descarga el video, se descarga sin los detalles (imagen de la izquierda: un video descargado de youtube; imagen de la derecha: un video descargado usando mediaRecorder) https://i.stack.imgur.com/IxmYD .png

Y el otro problema es que no se pueden hacer las acciones necesarias en los videos (acelerar, ir a una hora especifica) ya que no tiene hora de finalización https://i.stack.imgur.com/yF7qx.png

¿Qué podría hacer para darle los detalles requeridos - formatos?

Aquí hay una página que también tiene los mismos problemas al descargar la grabación de su cámara web https://webrtc.github.io/samples/src/content/getusermedia/record/

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Si desea configurar el tipo de medio MIME para una grabación creada por MediaRecorder, debe hacerlo cuando llame a su constructor . Por ejemplo:

 stream = await navigator.mediaDevices.getUserMedia (constraints) const mediaRecorder = new MediaRecorder(stream, {mimeType: 'video/mp4'})

Pero los MediaRecorders de la mayoría de los navegadores (es decir, Chromium y Firefox) no producen video/mp4 . En su lugar, producen video/webm . Puede usar MediaRecorder.isTypeSupported() para averiguar si puede manejar el tipo que desea, o puede tomar cualquier tipo que le proporcione. mediaRecorder.mimeType es una propiedad de su instancia de MediaRecorder que le indica qué tipo de MIME obtiene.

Si desea obtener grabaciones mp4 de esos navegadores, deberá procesarlas posteriormente.

Y, por supuesto, tienes razón en que una grabación en vivo no tiene duración. MediaRecorder produce un flujo de datos adecuado para reproducir en vivo. Nuevamente, si desea que se pueda buscar y aplicar una hora de finalización, debe usar el procesamiento posterior. MediaRecorder no hace eso.

ffmpeg es una forma decente de postprocesar video. Explicar cómo hacerlo está mucho más allá del alcance de una respuesta de StackOverflow.

about 4 years ago · Juan Pablo Isaza Denunciar
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