> 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/docs.facephi-pt-br/sdks/sdk-web/componentes/video-recording-video-grabacion/resultados.md).

# Resultados

O componente de Video Provider gravará a interação do usuário com os widgets que contém. Esse registro pode ser obtido após o processo de captura por meio de uma solicitação a uma URL.

***

## Como obter o vídeo gravado da extração

### Gravação remota (por padrão)

O vídeo gravado será fornecido por uma URL assim que o processo de extração for concluído, como um arquivo `blob` (`string`).

As seguintes variáveis devem ser configuradas para obter o vídeo gerado:

* Operation ID: ID gerado e fornecido pelo SDK Provider. Pode ser obtido dos eventos `emitOperationId` ou `emitData`.
* Video Recording ApiKey: API Key necessária do Video Provider. Fornecida pela equipe da Facephi.
* Video Recording URL: URL a partir da qual o vídeo gravado será baixado. Fornecida pela equipe da Facephi.

#### Como obter o vídeo gerado

A API Key deve ser adicionada ao cabeçalho da solicitação:

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

#### Exemplo de solicitação de vídeo

```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)
    });
}
```

> Se o vídeo gerado for curto demais (menos de dois segundos) ou se a solicitação for feita cedo demais após o término do processo de extração, a solicitação poderá falhar.

***

### Gravação 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>

Exemplos de como usar o 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();
}
```
