Legendas automáticas com Python e OpenAI
Neste post vamos explorar como usar Python para criar legendas automáticas em vídeos com a ajuda da inteligência artificial da OpenAI.
Você vai aprender a transcrever áudios, gerar arquivos de legenda no formato SRT e corrigir caracteres especiais, tudo isso com poucas linhas de código. Esse processo é ideal para quem precisa legendar vídeos de forma rápida e eficiente, sem depender de ferramentas manuais.
Se quiser pode acompanhar esse conteúdo em formato de vídeo ou pode acessar o nosso Canal do YouTube para mais vídeos!
Não vamos te encaminhar nenhum tipo de SPAM! A Hashtag Treinamentos é uma empresa preocupada com a proteção de seus dados e realiza o tratamento de acordo com a Lei Geral de Proteção de Dados (Lei n. 13.709/18). Qualquer dúvida, nos contate.
O que você vai ver hoje?
Explicando o Projeto - Legendas Automáticas com Python
O objetivo deste projeto é criar um script em Python que, a partir de um vídeo, extrai o áudio, transcreve o conteúdo usando a API da OpenAI e gera um arquivo de legenda no formato SRT. Esse arquivo pode ser usado em players de vídeo ou plataformas como o YouTube.
A ideia é automatizar o processo de legendagem, economizando tempo e esforço. Imagine ter centenas de vídeos para legendar: fazer isso manualmente seria inviável.
Bibliotecas Necessárias
Para realizar essa tarefa, vamos utilizar três bibliotecas principais:
- OpenAI: Para acessar a API de transcrição de áudio.
- PyDub: Para extrair o áudio do vídeo.
- python-dotenv: Para gerenciar a chave de API da OpenAI de forma segura, armazenando-a em variáveis de ambiente.
Essas bibliotecas são essenciais para garantir que o processo funcione de forma fluida e segura, sem expor suas credenciais de API no código.
Instalando e Importando as Bibliotecas
Primeiro, instale as bibliotecas necessárias com os comandos:
pip install openai pydub python-dotenvEm seguida, importe-as no seu script Python:
from openai import OpenAI
from pydub import AudioSegment
from dotenv import load_dotenvEssas bibliotecas vão nos permitir acessar a API da OpenAI, manipular arquivos de áudio e gerenciar variáveis de ambiente de forma eficiente.
Como Usar a API da OpenAI
A API da OpenAI oferece um modelo chamado Whisper, especializado em transcrição de áudio. Para usá-lo, você precisa criar uma chave de API no site da OpenAI e armazená-la em um arquivo .env.
Com a chave em mãos, você pode criar um cliente OpenAI e começar a transcrever áudios. A API é poderosa e precisa, capaz de transcrever áudios em vários idiomas, incluindo português, com alta taxa de acerto.
Como Criar uma Chave de API
Para criar uma chave de API, siga os passos:
- Acesse o site da OpenAI e faça login.
- Navegue até a seção "API Keys".
- Clique em "Create New Secret Key".
- Dê um nome à sua chave e clique em "Create secret key”.

Armazenando a Chave nas Variáveis de Ambiente
Para garantir a segurança da sua chave de API, armazene-a em um arquivo .env. Crie um arquivo chamado .env no diretório do seu projeto e adicione a seguinte linha:
OPENAI_API_KEY=sua_chave_aquiIsso evita que a chave seja exposta no código, mantendo-a segura.
Carregando a Chave de API com a Biblioteca python-dotenv
Para carregar a chave de API do arquivo .env, usamos a biblioteca python-dotenv. Adicione o seguinte código ao seu script:
load_dotenv()Isso garantirá que a chave de API seja carregada automaticamente quando o script for executado.
Criando o Cliente OpenAI
Com a chave de API carregada, podemos criar o cliente OpenAI:
cliente = OpenAI()Esse cliente será usado para enviar o áudio para a API e receber a transcrição.
Entendendo o Código de Exemplo da OpenAI
A OpenAI fornece um exemplo de código para transcrever áudios. O código básico envolve abrir o arquivo de áudio em modo de leitura e enviá-lo para a API. No nosso caso, vamos adaptar esse código para extrair o áudio de um vídeo e gerar um arquivo de legenda.
Selecionando o Arquivo de Vídeo
Primeiro, definimos o nome e o caminho do arquivo de vídeo:
nome_arquivo = "ja começou a jornada full stack.mp4"
caminho_arquivo = f"C://Users/joaol/Downloads/{nome_arquivo}"Isso permite que o script encontre o vídeo no diretório especificado.
Extraindo o Áudio do Vídeo
Com o pydub, extraímos o áudio do vídeo e o salvamos como um arquivo MP3:
extensao_arquivo = nome_arquivo.split(".")[1]
audio = AudioSegment.from_file(caminho_arquivo, format=extensao_arquivo)
audio.export("audio.mp3", format="mp3")Essa etapa é crucial, pois a API da OpenAI trabalha com arquivos de áudio, não diretamente com vídeos. O pydub facilita essa conversão, permitindo que você extraia o áudio de qualquer vídeo de forma rápida.
Estrutura with para Abrir Arquivos
Para garantir que o arquivo de áudio seja aberto e fechado corretamente, usamos a estrutura with:
with open("audio.mp3", "rb") as arquivo_audio:Isso garante que o arquivo seja fechado automaticamente após o uso, evitando vazamentos de recursos.
Transcrevendo o Áudio com IA
Usando o cliente OpenAI, enviamos o arquivo de áudio para transcrição. A API retorna o texto transcrito, que pode ser formatado como um arquivo de legenda SRT. Para melhorar a precisão da transcrição, podemos fornecer um prompt de contexto, como o nome do vídeo ou palavras-chave:
prompt = f"Esse áudio foi extraído do arquivo {nome_arquivo} que é um evento completaço de programação"
transcricao = cliente.audio.transcriptions.create(
file=arquivo_audio,
model="whisper-1",
language="pt",
prompt=prompt,
response_format="srt"
)O prompt ajuda a API a entender melhor o contexto e transcrever com mais precisão.
Melhorando a Transcrição com um Prompt de Contexto
O prompt de contexto é essencial para garantir que a transcrição seja precisa, especialmente quando o áudio contém termos técnicos ou nomes próprios. No nosso exemplo, o prompt informa que o áudio foi extraído de um vídeo sobre um evento de programação, o que ajuda a API a entender melhor o conteúdo.
Como Funcionam os Arquivos de Legenda
Arquivos de legenda no formato SRT contêm o texto transcrito junto com os tempos de início e fim de cada linha de legenda. Esse formato é amplamente utilizado e compatível com a maioria dos players de vídeo e plataformas de streaming.
Gerando o Arquivo de Legenda com IA no Python
Após a transcrição, o texto é salvo em um arquivo SRT:
with open("legenda.srt", "w", encoding="utf-8") as arquivo_legenda:
arquivo_legenda.write(transcricao)Esse arquivo pode ser usado em players de vídeo ou plataformas como o YouTube para adicionar legendas ao vídeo.
Corrigindo Caracteres Especiais com UTF-8 Encoding
Para garantir que caracteres especiais (como acentos) sejam corretamente exibidos, utilizamos o encoding UTF-8 ao salvar o arquivo:
with open("legenda.srt", "w", encoding="utf-8") as arquivo_legenda:
arquivo_legenda.write(transcricao)Isso evita problemas com caracteres quebrados ou mal formatados.
Usando a Legenda Gerada com Python
Com o arquivo de legenda gerado, você pode adicioná-lo ao seu vídeo em qualquer player ou plataforma que suporte o formato SRT. Isso permite que o vídeo tenha legendas sincronizadas e precisas, melhorando a acessibilidade e a experiência do usuário.
Conclusão
Com esse script, você pode automatizar a legendagem de vídeos de forma rápida e eficiente. A integração da API da OpenAI com Python permite transcrever áudios com alta precisão, enquanto o pydub facilita a extração do áudio.
Esse processo é ideal para quem trabalha com vídeos e precisa gerar legendas de forma automatizada. Imagine o tempo que você pode economizar ao legendar vídeos de cursos, palestras ou até mesmo conteúdo para redes sociais. Experimente e veja como essa solução pode otimizar seu fluxo de trabalho!
E se você quer dominar Python de verdade e aprender a criar soluções como essa em diferentes áreas, o Curso Python Impressionador é o próximo passo certo. Nele você terá acesso a projetos práticos, materiais completos e suporte para transformar suas ideias em realidade.
Hashtag Treinamentos
Para acessar outras publicações de Python, clique aqui!
Posts mais recentes de Python
- Curso Básico de Python: Saia do Zero em 10 Aulas GrátisAprenda com o curso básico de Python gratuito da Hashtag: 10 aulas práticas, exercícios e projetos reais para sair do zero em programação.
- Agentes RAG com Python: como criar um assistente de IAAprenda a criar Agentes RAG com Python do zero: LangChain, FAISS e OpenAI para montar um assistente de IA que responde com base nos seus documentos.
- 25 Tipos de Gráficos em Python: Guia Completo com CódigoAprenda a criar os principais tipos de gráficos em Python com Plotly: barras, pizza, mapas e mais, com código pronto para copiar e usar.
Posts mais recentes da Hashtag Treinamentos
- Planilha de Controle de Notas Fiscais no Excel [Grátis]Baixe a planilha de controle de notas fiscais no Excel grátis: calcule ISS e retenções, veja o que está em aberto e gere a cobrança de cada nota de serviço.
- Qual IA usar na empresa: ChatGPT, Claude ou Perplexity?Qual IA usar na empresa: veja as diferenças entre ChatGPT, Claude e Perplexity e quando cada um rende mais em cada área da sua equipe.
- Apostilas Gratuitas em PDF: Excel, Power BI, Python e IABaixe apostilas gratuitas em PDF de Excel, Power BI, Python, Claude e agentes de IA, com exercícios e gabarito. Escolha a sua e comece hoje.








