WebRTC de Chrome 47: Grabación de medios, orígenes seguros y manejo de proxy

Chrome 47 incluye varias mejoras y actualizaciones significativas de WebRTC.

Graba video desde tus apps web

La API de MediaStreamRecorder ha sido durante mucho tiempo la principal solicitud de chromium.org con más de 2, 500 estrellas. La grabación de contenido multimedia se agregó a Chrome detrás de la marca experimental de funciones de la plataforma web, aunque, por el momento, solo está disponible en computadoras de escritorio. Te permite grabar, reproducir o descargar videos. Hay una demostración sencilla en el repositorio de muestras de WebRTC y puedes obtener más información en el anuncio de Discuss-webrtc. En github.com/niklasenbom/RecordingApp, encontrará un ejemplo de la app de Chrome para grabar videos a partir de capturas de pantalla. Estas son implementaciones nuevas, y es posible que haya errores que debas corregir. Si encuentras algún problema, infórmalo en los repositorios.

Captura de pantalla de la demostración de MediaRecorder en el repositorio de muestras de GitHub de WebRTC

Selección del dispositivo de salida de audio

Se lanzó MediaDevices.enumerateDevices(). Puedes obtener más detalles en el error 504280 de Chromium. Ahora, puedes enumerar los dispositivos de salida de audio además de los dispositivos de entrada de audio y video que MediaStreamTrack.getSources() ya proporciona Obtén más información para usar esta función en esta actualización.

Compatibilidad de dispositivos en Windows

Ahora se agregó compatibilidad con los dispositivos de comunicación predeterminados en Windows. Esto significa que cuando se enumeren dispositivos de audio en Windows, habrá una entrada adicional para el dispositivo de comunicaciones cuyo ID será “comunicaciones”.

Los IDs de dispositivo del dispositivo de audio predeterminado (y las comunicaciones en Windows) ya no tendrán un hash (Error 535980). En su lugar, se admiten dos IDs reservados, "predeterminados" y "comunicaciones", y son iguales en todos los orígenes de seguridad. Las etiquetas de los dispositivos se traducirán a la configuración regional del navegador, por lo que los desarrolladores no deben esperar que las etiquetas tengan un valor predeterminado. Se mejoró la precisión de la renderización de videos mediante la propagación de la marca de tiempo de captura hasta el algoritmo de renderización, en el que se puede elegir el vsync correcto en función de eso. Para la plataforma de Windows, la marca de tiempo de la captura también es más precisa en Chrome 47.

Control de proxy

Chrome 47 agrega una nueva preferencia para forzar el envío de tráfico de WebRTC a través de un servidor proxy local, si uno está configurado, lo cual es importante para algunos usuarios que navegan a través de una VPN. Esto significa que la aplicación WebRTC solo verá la dirección IP del proxy. Ten en cuenta que esto afectará el rendimiento de la aplicación y no funcionará en absoluto, a menos que la aplicación sea compatible con TURN/TCP o ICE-TCP. Pronto busca una versión nueva de la Extensión del limitador de red de WebRTC a fin de proporcionar una IU para esta preferencia. Hay más información sobre la "filtración" de direcciones IP en Próximos pasos para WebRTC.

Extensión de Chrome del limitador de red de WebRTC

...y mucho más

La capacidad de procesamiento del canal de datos se mejoró de manera significativa para las conexiones de latencia alta.

Lanzaremos la compatibilidad con DTLS 1.2 de forma gradual en el período de Chrome 47.

Si bien esta versión no admite VP9 ni H.264, el trabajo continúa y esperamos implementar la compatibilidad con VP9 y una versión inicial de H.264 (detrás de una marca) en Chrome 48.

Anuncios de servicio público

  • A partir de Chrome 47, solo se permiten solicitudes getUserMedia() desde orígenes seguros: HTTPS o localhost.
  • Se quitó la compatibilidad con el canal de datos de RTP. Todas las aplicaciones restantes que aún usen canales de datos de RTP deben usar los canales de datos estándar en su lugar.

Al igual que con todas las versiones, recomendamos a los desarrolladores que prueben Chrome en los canales Canary, beta y para desarrolladores, y que informen cualquier problema que encuentren. La ayuda que recibimos es invaluable. Si quieres obtener sugerencias para presentar un buen informe de errores, consulta la página de errores de WebRTC.

Demostraciones

Más información