O Ai-movie-clip é um sistema de edição de vídeo inteligente de código aberto que usa tecnologia de inteligência artificial para automatizar o processo de edição de vídeo. Esse sistema é capaz de analisar profundamente o quadro e o conteúdo do vídeo e, de acordo com os requisitos específicos do usuário, concluir automaticamente uma série de trabalhos de pós-produção, como edição, adição de efeitos especiais e animação de transições. O projeto é destinado a desenvolvedores e criadores de conteúdo que precisam processar vídeos em lote ou que desejam integrar recursos de edição de IA em seus fluxos de trabalho existentes. Ele integra recursos de modelagem de IA do AliCloud DashScope e do OpenAI e fornece serviços por meio de uma interface de API flexível. Os usuários podem operá-lo diretamente da linha de comando ou implantá-lo como um serviço da Web para facilitar a invocação em diferentes cenários de aplicativos, melhorando significativamente a eficiência da produção de vídeo.
Lista de funções
- Análise automática de vídeoAnálise de conteúdo de vídeo usando visão computacional (CV) e modelos de aprendizado de máquina (ML) para identificar quadros e assuntos importantes.
- Modelos versáteisUma variedade de modelos de estilo de vídeo incorporados adequados para diferentes cenários, como mídia social, comerciais, educação etc.
- Geração de conteúdo com IAFunções integradas de geração de texto, geração de imagens e síntese de fala (conversão de texto em fala), que podem gerar automaticamente narrações e descrições de texto para vídeos.
- Efeitos especiais e transiçõesEfeitos de vídeo e animações de transição: Fornece uma rica biblioteca de efeitos de vídeo e animações de transição para tornar o efeito do vídeo editado mais profissional.
- Serviços de APIInterface FastAPI: fornece uma interface baseada na estrutura FastAPI para dar suporte aos desenvolvedores em tarefas de desenvolvimento secundário e processamento em lote.
- Integração de MCPSuporte ao protocolo de contexto de modelo (Model Context Protocol), permitindo que os desenvolvedores tenham mais flexibilidade para estender e integrar diferentes modelos de IA.
- Clipes de destaqueCapacidade de identificar e editar automaticamente os destaques em um vídeo com base em dados de visualização (por exemplo, arquivos do Excel).
Usando a Ajuda
O Ai-movie-clip é uma estrutura avançada de videoclipe de IA. Para usá-lo, é necessário concluir alguns trabalhos de preparação e configuração do ambiente e, em seguida, chamar suas funções por meio da linha de comando ou da API.
Etapa 1: Requisitos ambientais
Antes de iniciar a instalação, certifique-se de que seu sistema atenda aos seguintes requisitos básicos:
- Python: a versão precisa estar no diretório
3.8
ou mais. - FFmpegFerramenta de processamento de áudio e vídeo: É uma ferramenta básica para processamento de áudio e vídeo, e o sistema precisa chamá-la para executar operações como decodificação, codificação e emenda de vídeo. É necessário instalá-la no sistema operacional e certificar-se de que seu caminho tenha sido adicionado às variáveis de ambiente do sistema para que o programa possa chamá-la de qualquer caminho.
ffmpeg
Comando. - CUDASe o seu computador estiver equipado com uma placa de vídeo NVIDIA, é altamente recomendável instalar o kit de ferramentas CUDA. Isso permitirá que o programa use a GPU para aceleração computacional, aumentando consideravelmente a velocidade de análise e processamento de vídeo. Isso é opcional; se não houver GPU, o programa será executado na CPU por padrão.
Etapa 2: Instalação e configuração
- Clonagem do código do projeto
Abra um terminal ou uma ferramenta de linha de comando e use o comandogit
para clonar o código do projeto do GitHub em seu computador local.git clone https://github.com/LumingMelody/Ai-movie-clip.git
Em seguida, vá para o diretório do projeto:
cd Ai-movie-clip
- Instalação de bibliotecas dependentes
Todas as bibliotecas de dependência Python do projeto estão documentadas no arquivorequirements.txt
arquivo. Use opip
Todas as bibliotecas necessárias podem ser instaladas com um clique.pip install -r requirements.txt
- Configuração de variáveis de ambiente
Esta é a etapa mais crítica. O projeto precisa chamar serviços externos de IA e armazenamento em nuvem, portanto, você deve fornecer as chaves de API e as credenciais de acesso relevantes.
Primeiro, copie o arquivo de modelo de variável de ambiente.env.example
e renomeá-lo.env
.cp .env.example .env
Em seguida, use um editor de texto para abrir esse arquivo recém-criado
.env
você verá o seguinte, que precisa ser preenchido manualmente:# AI 模型 API 密钥 DASHSCOPE_API_KEY=your_dashscope_api_key_here OPENAI_API_KEY=your_openai_api_key_here # 阿里云对象存储 (OSS) 配置 OSS_ACCESS_KEY_ID=your_oss_access_key_id_here OSS_ACCESS_KEY_SECRET=your_oss_access_key_secret_here OSS_BUCKET_NAME=your_bucket_name_here
Como faço para obter essas chaves?
DASHSCOPE_API_KEY
Essa chave vem do serviço DashScope do AliCloud. Você precisa visitar o site do AliCloud, abrir o serviço DashScope e criar uma chave de API no console. Esse serviço é usado principalmente para impulsionar as principais funções de IA, como análise de vídeo e geração de conteúdo.OPENAI_API_KEY
API Key: Essa chave vem da plataforma OpenAI e é usada principalmente para funções relacionadas à modelagem de linguagem, como geração de texto. Você precisará de uma conta OpenAI para criar a chave de API.- Configuração de OSSO projeto usa o AliCloud Object Storage (OSS) para armazenar os clipes de vídeo durante o processamento e os arquivos finais gerados. Você precisa ativar o serviço AliCloud OSS, criar um bucket de armazenamento (Bucket) e, em seguida, obter o ID de acesso desse bucket de armazenamento (
OSS_ACCESS_KEY_ID
) e a chave (OSS_ACCESS_KEY_SECRET
) e preencha o nome do bucket de armazenamento no campoOSS_BUCKET_NAME
.
Etapa 3: Aprenda a usar
O Ai-movie-clip oferece duas maneiras principais de usá-lo: ferramentas de linha de comando e serviços de API da Web.
1. ferramentas de linha de comando (para testes rápidos e tarefas locais)
O projeto oferece um main.py
Scripts que permitem que você invoque funções diretamente da linha de comando.
- Analisar o vídeoIA: permite que a IA analise um arquivo de vídeo e produza os resultados no formato JSON.
python main.py analyze video.mp4 --output analysis.json
- Edição automática de vídeoEdição automática de um vídeo com base em um modelo de estilo e duração especificados.
python main.py edit video.mp4 --duration 30 --style "抖音风"
- Exibir todos os comandos disponíveisVocê pode obter uma cópia desse arquivo por meio do
--help
para ver todos os comandos e opções compatíveis.python main.py --help
2. serviços de API da Web (para ambientes de integração e produção)
Se quiser integrar o recurso de clipes de IA em seu próprio site ou aplicativo, você pode iniciar o serviço de API integrado do projeto.
- Iniciando o servidor de API: Corrida
app.py
para iniciar um servidor da Web baseado em FastAPI. Para facilitar o desenvolvimento e a depuração, é recomendável usar o arquivouvicorn
para iniciá-lo, de modo que o servidor possa reiniciar automaticamente após alterações no código.uvicorn app:app --reload
- Acesso à documentação da API: Depois que o servidor for iniciado, abra-o em um navegador
http://localhost:8000/docs
. Você verá uma página de documentação de API interativa (gerada pela interface do usuário do Swagger) que detalha todas as interfaces de API, parâmetros e formatos de retorno disponíveis. Você pode até mesmo testar a interface diretamente dessa página. - Exemplo de chamada da APIVocê pode usar qualquer linguagem de programação para chamar essas APIs. Aqui está uma usando Python
requests
para chamar o exemplo de API.import requests # 假设服务器正在本地运行 base_url = "http://localhost:8000" # 示例1:分析视频 # 需要上传一个本地视频文件 with open("video.mp4", "rb") as f: response = requests.post( f"{base_url}/analyze", files={"file": f}, data={"duration": 30} ) print("分析结果:", response.json()) # 示例2:生成编辑视频 # 提交一个JSON请求,指定视频路径和编辑参数 edit_payload = { "video_path": "path/to/video.mp4", # 注意这里是服务器可访问的文件路径 "template": "douyin", "duration": 30 } response = requests.post(f"{base_url}/edit", json=edit_payload) print("剪辑任务状态:", response.json())
cenário do aplicativo
- Automação de conteúdo de mídia social
As equipes de operação de mídias sociais que precisam publicar um grande número de vídeos curtos diariamente podem usar o Ai-movie-clip para editar automaticamente longas filmagens de transmissões ao vivo, gravações de eventos ou vídeos de apresentação de produtos em vídeos curtos que correspondam ao estilo de plataformas como Jittery, Shuttle, etc., com legendas automáticas e música de fundo, o que reduz bastante o ciclo de produção de conteúdo. - Primeiro corte de clipes de vídeo em lote
A IA pode filtrar rapidamente o conteúdo da filmagem completa e estável do clipe ou, de acordo com os requisitos do script predefinido, gerar uma versão básica do clipe, o editor e, em seguida, com base no refinamento dos ajustes e no processamento criativo, economizando assim muito trabalho repetitivo. - Recursos de processamento de vídeo integrados ao desenvolvedor
Para os desenvolvedores que desejam fornecer recursos de processamento de vídeo em seus próprios aplicativos (por exemplo, plataformas de educação on-line, ferramentas de marketing ou serviços de álbum de fotos na nuvem), eles podem chamar os serviços do Ai-movie-clip diretamente por meio da API. Os desenvolvedores não precisam se preocupar com o complexo processamento de vídeo subjacente e com os detalhes do modelo de IA, basta enviar o caminho do arquivo de vídeo e os requisitos do clipe à API para obter o produto final de vídeo.
QA
- Como lidar com arquivos de vídeo muito grandes?
O sistema foi projetado internamente com um mecanismo de processamento de segmentação automática. Ao processar arquivos de vídeo grandes, o programa primeiro os cortará em segmentos menores para análise e processamento e, por fim, mesclará os resultados. Você pode definir o arquivo de configuraçãoconfig.yaml
no qual o tamanho da fatia é ajustado para equilibrar a velocidade de processamento e o consumo de memória. - Quais formatos de vídeo são compatíveis com o sistema?
O sistema subjacente depende do FFmpeg para codificação e decodificação de vídeo, portanto, teoricamente, ele é compatível com todos os formatos de vídeo comuns suportados pelo FFmpeg, comoMP4
eAVI
eMOV
eMKV
etc. - O que posso fazer para tornar o processamento de vídeo mais rápido?
A maneira mais eficiente de fazer isso é usar a aceleração da GPU. Se sua máquina estiver equipada com uma placa de vídeo NVIDIA e o ambiente CUDA estiver configurado corretamente, o sistema utilizará automaticamente a GPU para tarefas de computação intensiva. Como alternativa, você pode usar a aceleração da GPU noconfig.yaml
Arquivo de configuração para ajustar o número de threads ou processos para processamento simultâneo a fim de fazer melhor uso dos recursos de CPU com vários núcleos.