> For the complete documentation index, see [llms.txt](https://docs.facephi.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.facephi.com/sdks/sdk-web/componentes/video-recording-video-grabacion/resultados.md).

# Resultados

El componente de Video Provider grabará la interacción del usuario con los widgets que contiene. Ese registro se puede obtener después del proceso de captura mediante una solicitud a una URL.

***

## Cómo obtener el video grabado de la extracción

### Grabación remota (por defecto)

El video grabado se proporcionará desde una URL una vez que el proceso de extracción se haya completado como un archivo `blob` (`string`).

Las siguientes variables deben configurarse para obtener el video generado:

* Operation ID: ID generado y proporcionado por el SDK Provider. Se puede obtener de los eventos `emitOperationId` o `emitData`.
* Video Recording ApiKey: Api Key requerida de Video Provider. Proporcionada por el equipo de Facephi.
* Video Recording URL: URL desde donde se descargará el video grabado. Proporcionada por el equipo de Facephi.

#### Cómo obtener el video generado

La api key debe ser añadida en la cabecera de la solicitud:

```javascript
fetch('https://example.url/operation-id-value', { headers: { 'x-api-key': process.env.VIDEO_RECORDING_APIKEY } });
```

#### Ejemplo de solicitud de video

```javascript
const apiKey = process.env.VIDEO_PROVIDER_APIKEY; // Clave secreta proporcionada por el equipo de Facephi
const videoRecordingUrl = 'https://example.url'; // URL proporcionada por el equipo de Facephi
const operationId = 'operation-id-value'; // Valor obtenido del evento emitOperationId

function fetchVideo() {
  const url = `${videoRecordingUrl}/${operationId}`;

  fetch(url, {
    headers: {
      'x-api-key': apiKey,
    },
  })
    .then((response) => response.text())
    .then((data) => {
      console.log('Video generado:', data); // El blob de video grabado se proporcionará como una URL (string)
    });
}
```

> Si el video generado es demasiado corto (menos de dos segundos) o si la solicitud se realiza demasiado pronto después de que finalice el proceso de extracción, la solicitud podría fallar.

***

### Grabación Local

<pre class="language-javascript"><code class="lang-javascript">// Detener la grabación de video una vez que el proceso de extracción completo haya finalizado.
const facephiSelphiWidget = document.getElementById("facephiSelphiWidget");
<strong>facephiSelphiWidget.addEventListener("extractionFinish", handleSelphiExtractionFinish);
</strong>function handleSelphiExtractionFinish(event) {
  const facephiVideoProvider = document.getElementById("facephiVideoProvider");
  const videoBlob = facephiVideoProvider.stopVideo();
}
</code></pre>

Ejemplos de cómo utilizar el vídeo:

```javascript
const videoBlob = await videoProvider.stopVideo();

if (videoBlob instanceof Blob) {
  // Reproducir el vídeo
  const videoUrl = URL.createObjectURL(videoBlob);
  const videoElement = document.createElement('video');
  videoElement.src = videoUrl;
  videoElement.controls = true;
  document.body.appendChild(videoElement);

  // Descagrar el vídeo
  const link = document.createElement('a');
  link.href = videoUrl;
  link.download = 'recording.mp4';
  link.click();
}
```
