Gere legendas, capítulos e resumos de vídeos em segundos com a ajuda do Openai.
? Isso é um trabalho em andamento, crie problemas para bugs, se eles aparecerem?
Você precisará:
O subvert é independente em uma imagem do Docker e pode ser iniciada com um comando de uma linha:
docker run -it -p 80:8080 -e OPENAI_API_KEY=sk-123abc aschmelyun/subvert
Isso inicializará um servidor executando o aplicativo e o disponibilizará para sua máquina em http: // localhost.
Depois de selecionar um arquivo de vídeo para processar, você tem a opção de escolher se também deseja gerar capítulos e um resumo.
Seu vídeo é enviado para uma API onde o áudio é extraído dele usando o FFMPEG e, em seguida, enviado ao modelo de sussurro do OpenAI para transcrição no formato VTT comum.
Se você optar por selecionar capítulos ou um resumo, essa transcrição é enviada para um modelo de chatgpt para processar capítulos concisos do comprimento que você queria e um breve resumo que se encaixaria em algo como uma descrição do YouTube.
Você pode ajustar alguns parâmetros no contêiner passando em variáveis de ambiente com seu comando usando sinalizadores -e
adicionais. Aqui estão os atuais que você pode adicionar:
OPENAI_API_KEY
(exigido) - Define a chave responsável pela comunicação com as APIs do OpenAI. Sem padrão.UPLOAD_MAX_FILESIZE
- altera o php do upload_max_filesize. Padrão: 256M
MEMORY_LIMIT
- Altera a configuração do PHP Memory_limit. Padrão: 512M
Alternativa, se você possui o PHP 8.1+ e o NPM instalados em sua máquina local, poderá inicializar o aplicativo diretamente do código -fonte.
Primeiro, confira este repositório para o local desejado. Em seguida, navegue para o diretório src
e execute:
./startup.sh
Como alternativa, você pode executar os comandos dentro do script startup.sh
individualmente para o mesmo resultado.
Como este projeto está contido em um único Dockerfile, ele pode ser implantado imediatamente em qualquer servidor provisionado com o Docker. Como alternativa, a imagem do Docker Subvert pode ser executada em instâncias de nuvem via AWS, Azure, GCP, Fly.io, etc.
Nota: Atualmente, esta imagem expõe apenas a porta insegura: 80 HTTP.
A licença do MIT (MIT). Por favor, veja o arquivo de licença