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

178
Views
Tamaño de grabación WebRTC

Después de algunas horas de investigación no puedo encontrar una solución a mi problema y parece imposible.

Construí un chat WebRTC simple (2 clientes) donde puedes crear/unirte a una sala.

Cuando dos clientes se unen a la misma habitación pueden hablar entre ellos. Tengo un localStream que es la cámara del usuario local y un remoteStream que es la otra cámara cliente de PeerConnection.

Creé un botón que me permite iniciar una grabación (local) del video de remoteStream. Entonces mi cliente 1 presiona este botón y comienza a grabar el video del cliente 2.

Mi problema es cuando verifico los datos de video del control remoto. La velocidad de fotogramas y la resolución del video cambian con el tiempo. Cuando empiezo a grabar MediaRecorder, tome el tamaño actual de RemoteStream y cree un blob que contenga mi video. Más tarde puedo descargar este video deteniendo la grabación y descargando el blob. El problema es que el tamaño (definición) del video final dependerá del tamaño actual de RemoteStream cuando el usuario haga clic en el botón.

Entonces, si no tenemos suerte, obtendremos un video completo de 360p, por ejemplo, si comenzamos la grabación más tarde, podemos tener un video de 1000p o 868p u otro valor aleatorio entre 1p y 2160p. Entonces, el tamaño del video dependerá del tiempo y nunca será el mismo.

¿Es posible crear una grabación que tome un tamaño de video fijo e ignore esta fluctuación de WebRTC?

Saludos

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

WebRTC implementa el control de congestión: el tamaño, la velocidad de fotogramas y la calidad del video varían según las condiciones de la red (pérdida de paquetes y retraso de paquetes).

Hay algunas perillas para controlar el comportamiento. El que he encontrado más útil es el campo contentHint de MediaStreamTrack ; si establece este campo en el detail de la cadena, la pila preferirá reducir la velocidad de fotogramas en lugar de reducir la resolución.

Sin embargo, al final del día, no parece haber nada que pueda hacer para evitar por la fuerza que la pila reduzca la resolución cuando las condiciones de la red son malas, por lo que su código deberá manejar ese caso.

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!