Saltearse al contenido

Camera stream tile

El Camera stream tile es una vista dedicada a tile completo para una única fuente de vídeo no-drone — una bodycam, cámara de móvil, cámara corporal o cualquier otra pista no-aeronave publicada en la sala TACLINK. Es distinto tanto de la cuadrícula de streams (que muestra todo) como del drone-stream tile (que maneja aeronaves).

Cuándo usarlo

Usa este tile cuando quieres una región dedicada del layout para una cámara sobre una persona y no necesitas los overlays específicos de drone (HUD, fusión de sensores, cajas de detección). Configuración típica: una región tiene el drone-stream tile sobre la aeronave primaria de la misión; otra tiene el camera-stream tile sobre la bodycam del comandante del incidente.

Enlazar a un peer + pista

El tile toma dos @Inputs:

  • peerId — la identidad del participante LiveKit de la fuente.
  • trackId — la pista de vídeo dentro de ese peer. Por defecto VIDEO_CAMERA_TRACK_ID (el track ID convencional para cámaras no-drone).

Configúralos en la sección Tiles del settings drawer — el desplegable lista cada pista no-drone activa y asigna ambos campos con un clic.

Una vez enlazado, el tile extrae stream.stream de statusSig().video.streams que coincida con el peer+pista y lo renderiza con la directiva appVideoSrcObject (que configura la propiedad srcObject en el <video>).

Cicla entre fuentes no-drone

Si tienes múltiples bodycams + cámaras de móvil + cámaras corporales ejecutándose, el tile muestra botones chevron para ciclar sólo streams no-drone. Los streams de drone se excluyen del ciclo para que el tile nunca se reenlace accidentalmente a un drone.

  • Botones Anterior / Siguiente en la cabecera del tile.
  • El indicador de posición N / total muestra dónde estás en el ciclo.
  • Wrap-around en los extremos.

Cuando el peer cambia mediante ciclado, el tile emite un evento peerChanged para que el padre pueda persistir el nuevo enlace — así es como tu selección sobrevive a un refresco.

Controles en el tile

  • Etiqueta del peer — muestra el nombre para mostrar del hablante, con una etiqueta secundaria opcional (indicativo) debajo.
  • Badge del tipo de stream — “Cámara” o “Bodycam” (dependiendo de lo que la fuente haya publicado).
  • Latencia de depuración (sólo modo depuración) — milisegundos desde RTCPeerConnection.getStats(), consultados cada 2 segundos.

No hay controles de play/pause/mute en el propio tile — el vídeo es autoplay muted por diseño, y el silenciado/volumen debería ocurrir a nivel del sistema (estás mezclando el audio del operador por separado a través del widget PTT, no el audio de la cámara).

Diferencias con el reproductor de cámara VMS

AspectoCamera stream tileReproductor de cámara VMS
FuentePeer WebRTC (pista de misión en directo)URL de cámara IP (HLS / MJPEG / MP4 / Embed)
AlmacenamientoNo almacenado — sólo en directoPuede grabarse en servidor
GeolocalizaciónDesde la posición mapeada del peerDesde el lat/lng configurado de la cámara VMS
PTZNoSí si ONVIF / HTTP PTZ está configurado
Caso de usoOperador / móvil / bodycamCCTV de instalación fija

Diferencias con el drone stream tile

AspectoCamera stream tileDrone stream tile
OverlaysNinguno — vídeo planoHUD, detecciones AI, AR, SAM, SVS, flags, overlay de joystick
CicladoSólo streams no-droneSólo streams de drone, incluyendo pistas de lentes secundarias
ControlesNingunoLente / calidad / cámara / PIP / grabar
TransporteTACLINK puroTACLINK o DJI Cloud

Limitaciones conocidas

  • Sólo una pista — no hay picture-in-picture para una segunda cámara en el mismo peer (caso de uso raro, pero notable si tienes una helmet-cam que publica dos ángulos simultáneamente).
  • Sin grabación desde el tile — graba a nivel de misión o desde el lado VMS si la fuente es una cámara fija.
  • Sin botón de captura — toma capturas con las herramientas de captura a nivel de SO.

Relacionado