Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

265
Views
¿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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!