Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

146
Visualizações
La aplicación WebRTC de transmisión múltiple no funciona en Safari

Tengo una aplicación WebRTC personalizada que usa dos transmisiones de video y una transmisión de audio.

Todo funciona bien en Chrome (93.0) y Firefox (92.0), pero Safari (14.1) se niega a reproducir una de las secuencias (la del primer elemento de video con ID "secuencia").

HTML tiene el siguiente aspecto (principalmente marcadores de posición):

 <!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <link rel="icon" href="data:;base64,iVBORw0KGgo="/> <script src="stream.js"></script> <style> </style> </head> <body> <div style="display:grid"> <video style="grid-column:1;grid-row:1;width:720px;z-index:5" id="stream" autoplay playsinline>Your browser does not support video</video> <canvas style="grid-column:1;grid-row:1;justify-self:end;width:1280px;height:720px;z-index:10" id="canvas"></canvas> <video style="grid-column:1;grid-row:1;justify-self:end;width:1280px;height:720px" id="stream2" autoplay playsinline>Your browser does not support video</video> </div> </body> </html>

La parte relevante del código Javascript ( html5VideoElement == ID "stream", html5VideoElement2 == ID "stream2"):

 function onAddRemoteStream(event) { if (event.transceiver.mid == remotemap["front"]) { frontstream.addTrack(event.track); html5VideoElement.srcObject = frontstream; html5VideoElement.play(); } if (event.transceiver.mid == remotemap["audio"]) { frontstream.addTrack(event.track); } if (event.transceiver.mid == remotemap["surface"]) { surfacestream.addTrack(event.track); html5VideoElement2.srcObject = surfacestream; html5VideoElement2.play(); } }

onAddRemoteStream es el método onTrack para el objeto RTCPeerConnection. remotemap contiene un mapeo del tipo de pista al valor MID, enviado por el par remoto. frontstream y surfacestream son dos objetos MediaStream (inicialmente vacíos).

Por extraño que parezca, no hay excepciones ni advertencias con ningún navegador, el primer elemento de video permanece vacío y en silencio con Safari.

Todas las transmisiones salientes (cámara, audio, lienzo) funcionan en los tres navegadores.

¡Cualquier sugerencia es bienvenida!

about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda