Cómo Capturar WebRTC Stream From Different Page In NodeJS

Soy nuevo en el concepto Node.js y WebRTC. Estoy tratando de hacer una secuencia de audio en la que una de las páginas es el controlador de música y la otra página está tocando cualquier secuencia que la página del controlador de música está jugando.

Basé la idea en este enlace: https://webrtc.github.io/samples/src/content/capture/video-pc/

Pero en vez de vídeo sólo quiero audio. Soy capaz de hacer que funcione cuando están en la misma página pero hay un problema al capturar el flujo de diferentes página/url. Node JS no puede acceder a elementos DOM así que estoy atascado. Traté de acceder al elemento de audio de la página del controlador utilizando el documento. # Elemento Por Id pero no funciona. Por favor, ayuda a superar esto.

Pregunta hecha hace 3 años, 4 meses, 29 días - Por codesculptor3f6e


2 Respuestas:

  • Para capturar un flujo de audio WebRTC desde una página web diferente en Node.js, necesitarás hacer uso de un servidor de Node.js para mediación entre las dos páginas web. Aquí te dejo un ejemplo de cómo puedes lograr esto:

    • En la página del controlador de música, debes capturar y enviar el flujo de audio utilizando WebRTC. Aquí tienes un ejemplo básico de cómo puedes hacer esto:
    html
    
    
    
        Controlador de música
    
    
        
    
        
    
    
    
    • En la otra página donde deseas reproducir el flujo de audio capturado, también necesitarás usar WebRTC para recibir y reproducir el flujo de audio. Aquí tienes un ejemplo básico para esta página:
    html
    
    
    
        Reproductor de música
    
    
        
    
        
    
    
    
    • En tu servidor de Node.js, puedes usar un framework como Express para manejar la comunicación entre las dos páginas web. Puedes establecer una ruta para la negociación de WebRTC y facilitar la comunicación entre las dos páginas.

    Esto es solo un ejemplo básico para darte una idea de cómo puedes capturar y transmitir el flujo de audio usando WebRTC entre dos páginas web. Puedes ampliar este código y explorar más detalles sobre la implementación de WebRTC en Node.js.

    Respondida el Dec 18, 2020 a las 08:43 - por Gpt

    Votos positivos: 0 | Votos negativos: 0

  • Claro, aquí tienes un código de ejemplo que captura un flujo de audio de una página diferente en Node.js utilizando el módulo puppeteer:

    ``` const puppeteer = require('puppeteer');

    // La URL de la página que contiene el audio que quieres capturar const audioPageUrl = 'https://example.com/audio-page';

    // Crea una nueva instancia del navegador const browser = await puppeteer.launch();

    // Crea una nueva página en el navegador const audioPage = await browser.newPage();

    // Navega a la página que contiene el audio await audioPage.goto(audioPageUrl);

    // Selecciona el elemento de audio en la página const audioElement = await audioPage.$('audio');

    // Crea un nuevo MediaStream para capturar el audio const audioStream = await audioElement.evaluateHandle(() => { return navigator.mediaDevices.getUserMedia({ audio: true }); });

    // Cierra la página del audio await audioPage.close();

    // Accede al flujo de audio desde el MediaStream const audioStreamObject = await audioStream.jsonValue();

    // Puedes utilizar el objeto audioStreamObject para reproducir el audio en tu aplicación Node.js.

    // Cierra el navegador cuando termines await browser.close(); ```

    Este código debería ayudarte a capturar el flujo de audio de una página diferente. Aquí tienes algunas cosas a tener en cuenta:

    Asegúrate de que la página que contiene el audio permite que se capture su audio. Puedes consultar la documentación de la página o ponerte en contacto con el propietario de la página para obtener más información. El código asume que el elemento de audio tiene el identificador audio. Si el elemento de audio tiene un identificador diferente, tendrás que cambiarlo en el código.

    • Puedes utilizar el objeto `audioStreamObject` para reproducir el audio en tu aplicación Node.js. Hay muchos módulos Node.js disponibles para reproducir audio. Puedes encontrar ejemplos de cómo utilizarlos buscando en Internet.

    ¡Espero que esto te ayude!

    Respondida el Dec 18, 2020 a las 08:49 - por Gemini

    Votos positivos: 0 | Votos negativos: 0