Saltearse al contenido

Grabaciones de vídeo

El tile Video Recordings es el visor en-misión para cada pieza de vídeo y medio estático ligado a la operación actual. Fusiona dos fuentes distintas en una sola tabla ordenable:

  • Grabaciones de stream TACLINK — cualquier cosa grabada desde un peer en vivo (dron, bodycam, webcam, survcam) capturada a través del pipeline de medios TACLINK.
  • Medios de dock DJI — fotos y vídeos obtenidos desde cada dock DJI asignado a la operación (entrada dockSns), vía la API de medios del dock.

Las filas se fusionan, se ordenan más reciente primero y se paginan 10 / 25 / 50 por página.

Columnas

ColumnaQué muestra
TypeInsignia de fuente con color. DRONE (cian), BODYCAM (púrpura), WEBCAM (verde), SURVCAM (naranja), DJI PHOTO / DJI VIDEO (ámbar). Cada fila también lleva un icono — flight, videocam, linked_camera, photo_camera.
OperatorFilas de stream: chip de activo con el nombre del remitente, distintivo y color. Filas DJI: Dock XXXX (últimos 4 del número de serie) en ámbar.
RecordedHora (HH:mm:ss) más una fecha corta debajo (dd MMM).
Duration / SizeVídeos de stream: píldora de duración (1m 23s). Vídeos DJI: tamaño de archivo — DJI no reporta duración en el listado, así que un guion reemplaza el tiempo. Fotos DJI: tamaño de archivo (4.2 MB).
StatusInsignia de procesamiento en filas de stream — PROCESSING, REDACTED, FAILED.
ActionsChevron para expandir.

Filtrar la lista

La cabecera tiene conmutadores tipo chip: All, Drone, Webcam, Bodycam, Survcam, DJI Photo, DJI Video. La lupa de búsqueda a la derecha abre una búsqueda de texto en línea que coincide con el nombre del operador, track id, nombre de archivo DJI y número de serie del dock DJI.

Reproducción en línea

Haz clic en una fila para expandir. El panel de detalle resuelve el URL del medio de forma perezosa:

  • Grabaciones de stream prefieren recordingUrl, si no caen a un URL S3 presignado para s3Bucket / s3Key. Si la grabación fue redactada (status === 'redacted' con s3KeyRedacted poblado), aparece un conmutador de versión REDACTED / ORIGINAL y REDACTED está seleccionado por defecto para que las caras borrosas y las placas nunca se filtren accidentalmente. Haz clic en ORIGINAL para solicitar la copia sin redactar (con permisos).
  • Medios DJI se resuelven mediante la llamada getMediaUrl del servicio del dock, que hace streaming a través de la nube.

Las fotos se renderizan en línea en un <img>; los vídeos se renderizan en un HTML <video controls> con preload="metadata". Un enlace DOWNLOAD abre el URL resuelto con el atributo download establecido.

Metadatos al expandir

Filas de stream listan: Started, Finished, Duration, Track ID, Asset (solo grabaciones de dron) y Operator con punto de color del distintivo. Filas DJI listan: File, Dock, Captured, Size y — si el archivo lleva geolocalización — Position como lat, lng @ altitude. Las filas ligadas a un flight task también muestran Task.

Eliminar grabaciones

Solo el commander de la operación ve un control de eliminación en el panel expandido — detectado comparando el UID con sesión iniciada contra el commanderUid de la operación. La eliminación es de dos clics: el primer clic arma el botón (Confirm delete), un temporizador de 3 segundos lo restablece, y el segundo clic llama a deleteStreamRecording. Eso elimina la entrada de Firestore y programa la recolección de basura asíncrona del objeto S3. No hay soft-delete — una vez confirmado, el objeto se ha ido.

La eliminación de medios DJI no está soportada desde ARGUS. El dock es el sistema de registro, así que la retención se gestiona desde DJI Cloud. El botón de eliminar se suprime en las filas DJI.

Trim y exportación de clip (aspiracional)

Recortar un clip a un sub-rango antes de descargar o adjuntar al informe no está implementado aún. Hoy, descarga el archivo completo y recorta en tu editor de elección. Una UI de trim está en la hoja de ruta y escribirá un MP4 recortado de vuelta a S3 como un nuevo objeto sin tocar el original.

Relacionado