Aplicación básica de vídeo con VanillaJS y Web Components
En este tutorial, aprenderás a integrar la funcionalidad básica de video en una aplicación VanillaJS usando los componentes web de la Video API de Vonage.
Con la aplicación, podrás publicar tu audio y vídeo en una videollamada mientras te suscribes al audio y vídeo de otros participantes.
Si quieres seguir el proyecto sin crear la aplicación tú mismo, el proyecto completo está disponible en GitHub.
Visión general
Esta guía rápida te orientará:
- Cómo incluir Vonage Video Client SDK en tu proyecto
- Instalación de los componentes web
- Colocación de los componentes web
- Obtención de referencias a los componentes web
- Generación de credenciales
- Crear una sesión
- Configuración de sesión y token para componentes web
- (Opcional) Configuración de propiedades
Antes de empezar
Antes de comenzar este tutorial, complete los siguientes requisitos previos si aún no los ha completado:
Parte 1: Cómo incluir el Vonage Video Client SDK en tu proyecto
Vonage Video Client SDK permite que tu aplicación se comunique con la infraestructura y la API de video de Vonage.
Coloque en su index.html
<script src="https://cdn.jsdelivr.net/npm/@vonage/client-sdk-video@latest/dist/js/opentok.min.js"></script>
O si instala la biblioteca utilizando npm install --save @vonage/client-sdk-video
<script src="node_modules/@vonage/client-sdk-video/dist/js/opentok.min.js"></script>
Parte 2: Instalación de los componentes web
En este tutorial se utilizarán dos Web Components: <video-publisher> y <video-subscribers>. <video-publisher> publica tu vídeo y audio en la videollamada, donde <video-subscribers> se suscribe al vídeo y audio de cualquier otro participante y los muestra en tu aplicación.
Instalar en su proyecto
npm i @vonage/video-publisher
npm i @vonage/video-subscribers
A continuación, importe a su proyecto
import '@vonage/video-publisher/video-publisher.js';
import '@vonage/video-subscribers/video-subscribers.js';
O utilice un CDN y colóquelo en su archivo index.html
<script type="module" src="https://cdn.jsdelivr.net/npm/@vonage/video-publisher@latest/video-publisher.js/+esm"></script>
<script type="module" src="https://cdn.jsdelivr.net/npm/@vonage/video-subscribers@latest/video-subscribers.js/+esm"></script>
Parte 3: Colocación de los componentes web
Ahora, coloque los Web Components en su marcado donde quiera que aparezcan en su aplicación.
Por ejemplo:
Parte 4: Obtención de referencias a los componentes web
Para que su aplicación pueda establecer propiedades en los Web Components, necesitará obtener referencias a ellos.
const videoPublisherEl = document.querySelector('video-publisher');
const videoSubscribersEl = document.querySelector('video-subscribers');
Parte 5: Generación de credenciales
Nota: En las aplicaciones de producción, se recuperan del servidor más información. Para esta demostración, puede desplegar un Servidor de Aprendizaje por Vídeo (Nodo o PHP) y fijar serverURL o siga los siguientes pasos para generarlas y codificarlas.
Para obtener las credenciales necesarias para ejecutar la demo:
- Inscríbete en o Entrar en su Account.
- En el menú de la izquierda de salpicaderopulse
Applicationsy seleccione una aplicación anterior o cree una nueva para ver el ID de la aplicación.
- Asegúrese de que el vídeo está activado
- Visite la página El patio de recreo de la Video API. Introduzca el ID de la aplicación o búsquelo en el menú desplegable. Puede dejar los valores por defecto para las demás opciones. Haga clic en "Crear".
- Se crearán su identificador de sesión y su token.
Parte 6: Creación de una sesión
Una Sesión es esencialmente su videollamada. Es la "sala" donde los participantes/clientes se conectan e interactúan entre sí.
const session = OT.initSession(applicationId, sessionId);
Parte 7: Configuración de sesión y token para componentes web
Ahora estableceremos los valores para la Sesión y el Token. Puedes pensar en el Token como tu "pase" a la sala.
videoPublisherEl.session = session;
videoPublisherEl.token = token;
videoSubscribersEl.session = session;
videoSubscribersEl.token = token;
Parte 8: (Opcional) Configuración de propiedades
Hay algunas propiedades que se pueden establecer en los Web Components para añadir o cambiar funcionalidades por defecto.
videoPublisherEl.properties = { ... };
(véase lista completa)
videoSubscribersEl.properties = { ... };
(véase lista completa)
Próximos pasos
Ya está. Ahora que ya has completado este tutorial, aquí tienes más recursos.
- Componentes web de la API de Video de Vonage Repo de GitHub
- Únete a nosotros en el Vonage Comunidad Slack