Project

General

Profile

Actions

Feature #2

open

Integração VdoCipher: Listagem e Upload de Filmes por Produtora

Added by Jonathas Cerqueira Brito about 2 months ago.

Status:
New
Priority:
High
Start date:
11/25/2025
Due date:
% Done:

0%

Estimated time:

Description

Precisamos permitir que usuários com perfil de Produtora realizem o upload de seus filmes na plataforma. O armazenamento e processamento de vídeo será feito através da integração com a API do VdoCipher. Esta tarefa abrange a criação da área de gestão de vídeos e o fluxo técnico de upload.

História de Usuário:

"Como uma Produtora, quero visualizar uma lista dos meus filmes cadastrados e ter a opção de realizar o upload de novos arquivos de vídeo, que serão processados automaticamente pelo VdoCipher para segurança e streaming."


Especificações Técnicas - Backend (Laravel):

  1. Service Integration (VdoCipherService):

    • Criar um Service ou Trait responsável pela comunicação com a API VdoCipher (utilizando Guzzle ou Http Client do Laravel).
    • Endpoints Necessários:
      • GET /credentials: Solicitar credenciais de upload (OTP/Playback Info) ou URL de upload assinada (PUT).
      • POST /videos: Para salvar os metadados iniciais (se necessário pela API do VdoCipher antes do upload).
  2. Controller de Filmes (MovieController):

    • Listagem (index): Retornar apenas os vídeos pertencentes à Produtora logada (where('producer_id', auth()->id())).
    • Webhook/Sync: Criar método para atualizar o status do vídeo no banco local (ex: de 'processando' para 'pronto') consultando o videoID na API do VdoCipher ou recebendo um Webhook.
  3. Banco de Dados:

    • Garantir que a tabela movies (ou videos) tenha os campos:
      • vdocipher_id (string, para armazenar o ID externo).
      • status (enum: pending, uploading, processing, ready, error).

Especificações Técnicas - Frontend:

  1. Área de Listagem:

    • Criar view/componente que liste os filmes da produtora.
    • Colunas sugeridas: Thumbnail (se disponível), Título, Status de Processamento, Data de Envio, Ações (Editar, Excluir).
  2. Componente de Upload:

    • Implementar botão "Novo Upload".
    • Fluxo de Upload Seguro:
      1. O Frontend solicita ao Backend (Laravel) uma URL/Credencial de upload.
      2. O Backend comunica com VdoCipher e retorna a autorização.
      3. O Frontend realiza o upload do arquivo binário diretamente para a URL fornecida pelo VdoCipher (para não sobrecarregar nosso servidor).
      4. Ao finalizar (sucesso 200 OK), o Frontend envia o videoID retornado pelo VdoCipher para o Backend salvar no registro do filme.

Critérios de Aceitação:

  • Listagem: A produtora vê apenas os seus próprios filmes.
  • Integração: O Laravel consegue autenticar na API VdoCipher usando a Key configurada no .env.
  • Upload: O arquivo de vídeo é enviado para o VdoCipher e um vdocipher_id é salvo corretamente no banco de dados do Moviementa.
  • Status: O sistema exibe o status atual do vídeo (ex: "Processando") na listagem.

Dica para o Desenvolvedor:

Para o upload via API VdoCipher v2, o fluxo recomendado é:

  1. Obter "Upload Policy" via API (Server-side).
  2. Usar essa policy para fazer o upload do arquivo via PUT (Client-side).
    Documentação referência: https://dev.vdocipher.com/api/docs/book/upload/upload.html

No data to display

Actions

Also available in: Atom PDF