# LiveKit

El [LiveKit](https://livekit.io/) transport es el más versátil y eficiente de los transportes soportados, y también el más fácil de implementar. Los clientes deben usarlo cuando reciban una cadena de conexión apropiada del servicio de su realm [Archipelago](https://github.com/decentraland/docs/blob/main/contributor/archipelago/README.md) o si está indicado como un transporte fijo.

{% hint style="info" %}
Puedes ver el transport de LiveKit en acción y probar sus funciones usando el proyecto open-source [Comms Station](https://decentraland.github.io/comms-station/).
{% endhint %}

A diferencia del transport personalizado [websocket](https://github.com/decentraland/docs/blob/main/contributor/transport-types/websocket/README.md) usa una biblioteca de terceros (open source), lo que simplifica enormemente el proceso de desarrollo al abstraer toda la lógica de transporte y la serialización.

Las URIs del transport de LiveKit comienzan con el prefijo `livekit:` seguido por la `wss://` URL del servidor. También incluyen un `access_token`, preautorizado, generado por [Archipelago](https://github.com/decentraland/docs/blob/main/contributor/archipelago/README.md) cuando el cliente se autentica.

```
livekit:wss://comms.example.com?access_token=eyJhbGciOiJI...
```

### Conectar y autenticar

La librería cliente de LiveKit encapsula de forma ordenada toda la lógica de conexión y autenticación.

No hay un paso de autenticación adicional al usar el transport de LiveKit. El `access_token` proporcionado por Archipelago ya está verificado y autorizado.

### Intercambio de mensajes

Los clientes que dependen de la librería LiveKit pueden fácilmente hacer broadcast, enviar mensajes directos y publicar flujos de medios en vivo.

Las cargas útiles son simples comms [`Packets`](https://github.com/decentraland/docs/blob/main/contributor/messages/README.md) sin ningún envoltorio adicional.
