FFmpeg é uma plataforma de código aberto, executada em linha de comando, que pode ser implementada na maioria dos sistemas operacionais. A sua função básica é aproveitar várias bibliotecas de codecs para obter uma visão sobre arquivos multimídia, além de permitir a reprodução, streaming e conversão de arquivos multimídia. Na Análise Forense em arquivos de multimídia, o FFmpeg pode ser utilizado para inspecionar metadados, reproduzir e examinar arquivos nativos sem transcodificação.

É importante destacar que a plataforma FFmpeg, contém um arsenal de ferramentas, e pode ser dividido em três comandos principais. Neste artigo, “FFmpeg” se refere à estrutura do aplicativo. As ferramentas de linha de comando individuais estão todas em minúsculas.

ffprobe:             Ferramenta utilizada para examinar a estrutura arquivos multimídia e inspecioná-la, através da qual, fornece metadados sobre os arquivos a serem examinados, incluindo, mas não se limitando a, duração, taxa de quadros, tamanho do quadro, proporção de aspecto, codec, streams (vídeo, áudio e dados), etc.

ffplay:                Trata-se de um reprodutor de mídia que utiliza a estrutura FFmpeg para exibir arquivos multimídia. Embora não seja tudo abrangente, ele reproduz arquivos de mídia proprietários e de código aberto.

ffmpeg:              Ferramenta utilizada para converter formatos de arquivo multimídia, bem como várias propriedades dentro do arquivo, como codecs, contêiner, taxa de quadros, proporção da imagem e imagens estáticas.

Instalação FFmpeg no Windows

• Baixe a versão estática mais recente em https://www.ffmpeg.org/download.html;

• Use um software compatível para descompactar do arquivo baixado;

• Na raiz da unidade C: crie uma pasta chamada “ffmpeg”;

• Copie tudo da pasta extraída para a pasta “ffmpeg” na unidade C:

• Clique com o botão direito do mouse no botão Windows. Selecione “Painel de Controle”, depois “Sistema e Segurança”, depois em “Sistema” e então em “Configurações Avançadas do Sistema”;

• Clique em “Variáveis de Ambiente”

• Em “Variáveis do usuário para o usuário”, clique em “Editar”

• Em “Editar a variável de ambiente”, clique em “Novo”

• Digite: c:\ffmpeg\bin

• Clique OK”

A partir do momento em que você adicionar o ffmpeg nas configurações de Variável de Ambiente, este utilitário poderá ser executado a partir de qualquer pasta em seu Sistema Operacional.

Cabe destacar que o utilitário pode ser executado tanto via prompt de comando no CMD, quanto Windows PowerShell. O Windows PowerShell está substituindo o Prompt de Comando, segundo este breve artigo da Microsoft (https://support.microsoft.com/pt-br/windows/o-powershell-est%C3%A1-substituindo-o-prompt-de-comando-fdb690cf-876c-d866-2124-21b6fb29a45f)

Na minha opinião, através do recurso Windows PowerShell o serviço é facilitado, visto que este possibilita a visualização por cores frente aos mais diversos tipos de comandos a serem executados, diferente do ‘CMD”.

Executando o ffmpeg via PowerShell

Basta pressionar a combinação de teclas Shift + botão direito do mouse no espaço em branco em qualquer janela do Explorador de Arquivos do Windows, e posteriormente clicar na opção “Abrir janela do PowerShell aqui”.

Por conveniência, eu criei uma pasta denominada “Nova Pasta” na Área de Trabalho do desktop utilizado para elaborar este artigo, copiei o arquivo de multimídia a ser examinado “VídeoExemplo.mp4”, e posteriormente iniciei a execução do utilitário via PowerShell.

Não foi fornecido texto alternativo para esta imagem

Ao abrir a janela do PowerShell, já estará sendo executada dentro da pasta onde encontra-se o arquivo a ser examinado.

Não foi fornecido texto alternativo para esta imagem

Para se verificar se a inclusão do utilitário nas Variáveis do Ambiente foi feita corretamente, digite ffmpeg e dê enter, onde, deverão aparecer as propriedades do utilitário ffmpeg, conforme ilustrado abaixo.

Não foi fornecido texto alternativo para esta imagem

Comandos Básicos:

  • Help – O parâmetro -h exibe ajuda geral ou pode ser usada com argumentos para obter funções de ajuda específicas.
  • Ocultar o Banner – Visando facilitar na interpretação das informações apresentadas nos comandos futuros, podemos excluir a visualização sobre as propriedades do utilitário em execução, adicionando o parâmetro -hide_banner ao final do comando, conforme ilustrado na figura abaixo.
Não foi fornecido texto alternativo para esta imagem

Formato de entrada para comandos – Conceito

Os conceitos básicos necessários para o entendimento da estrutura de comandos aceitos pelo utilitário seguem uma lógica simples, conforme descrito a seguir.

  • Programa Utilizado: O comando deve necessariamente iniciar indicando qual programa desejamos utilizar entre as opções ffmpeg, ffprobe ou ffplay.
  • Arquivos de Entrada: Refere-se ao arquivo multimídia que desejamos executar, seja no exame frente aos metadados, exame dos parâmetros de vídeo e áudio, extração dos frames, conversão do arquivo, etc;
  • Parâmetros de Execução: Parâmetros são sempre especificados com um hífen acrescidos com o nome da opção desejada.
  • Arquivos de Saída: Serão os arquivos obtidos com base nos Parâmetros de Execução configurados no comando, por exemplo: Caso a nossa necessidade seja a extração do áudio de um arquivo de vídeo, devemos criar um novo arquivo de áudio, sendo assim, será necessário especificar nome e extensão para o arquivo a ser criado.

Cabe destacar que, para efeito de ilustração, em todo este artigo foram utilizados os Arquivos de Entrada denominados como:

VídeoExemplo.mp4” – Para arquivos em vídeo

Formato de entrada para comandos – Exemplo

Visando ilustrar a estrutura padrão aceita pelo utilitário, no exemplo abaixo é apresentado um comando simples, no qual será realizada a extração do áudio em um arquivo de vídeo, gerando assim um novo arquivo, denominado “áudio.mp3”

ffmpeg -i VídeoExemplo.mp4 -vn áudio.mp3 -hide_banner

  • ffmpeg – Estrutura principal do comando desejado
  • -i VídeoExemplo.mp4 – Indica o Arquivo de Entrada. Dica: após o parâmetro “-i” ao pressionar a tecla “Tab” serão mostrados sucessivamente todos os arquivos contidos na pasta em execução
  • -vn – Parâmetro de execução utilizado
  • áudio.mp3 – Arquivo de Saída
  • -hide_banner – Parâmetro utilizado para excluir as propriedades do utilitário em execução

Conforme detalhamento a seguir:

1) Arquivo de Entrada

2) Comando executado no PowerShell;

3) Arquivo de Saída, criado na mesma pasta onde consta o Arquivo de Entrada;

4) Quando da conclusão do comando executado, o prompt de comando estará disponível para nova instrução.

Não foi fornecido texto alternativo para esta imagem

Subdivididas por categoria, no decorrer deste artigo serão apresentados os principais comandos de interesse dentro dos exames periciais frente aos arquivos vídeo.

Reproduzir o arquivo de vídeo

Para reproduzir arquivos de vídeo, utilizamos o componente ffplay. Quando na execução do comando, abrirá uma nova janela com a reprodução do arquivo em vídeo.

ffplay -i VídeoExemplo.mp4 -hide_banner

Podemos ainda, especificar a resolução desejada para a reprodução do vídeo, para isto, basta adicionar o parâmetro informando a resolução desejada.

ffplay -i VídeoExemplo.mp4 -vf scale=800:450 -hide_banner

https://www.linkedin.com/embeds/publishingEmbed.html?articleId=9093449572059065560

Controles ffplay durante a reprodução de vídeo

• Pausar / reproduzir: tecla P ou barra de espaço

• Deslize para frente: na janela de vídeo, clique com o botão direito e arraste o mouse para a direita

• Deslize para trás: na janela de vídeo, clique com o botão direito e arraste o mouse para a esquerda

• Avançar quadro: tecla S

• Exibir forma de onda de áudio: tecla W

• Alternar a exibição da forma de onda ou frequência espectral: tecla W

• Tela inteira: tecla F

• Para sair ou fechar a janela: tecla Q ou tecla ESC

• Para silenciar: tecla M

• Definir o volume: pressione e segure a tecla 9 para diminuir o volume ou a tecla 0 para aumentar o volume

• Ciclo de streams de áudio: A

• Ciclo de streams de vídeo: V

• Ciclo de fluxos de legenda: T

• Programa de ciclo: C

• Retroceder / avançar 10 segundos: teclas esquerda / direita

• Retroceder / avançar 1 minuto: teclas para cima / baixo

• Retroceder / avançar 10 minutos: Page Down / Page Up

Examinar as propriedades do arquivo

ffprobe -i VídeoExemplo.mp4 -hide_banner

Para este comando, os resultados são apresentados subdivididos por contêiner, conforme ilustração para o exemplo proposto:

1)     Input #0: Contêiner que indica as propriedades gerais do arquivo;

  • Major_brand: Identificador (magic number) de marca principal;
  • Minor_brand: É um número inteiro informativo para a versão secundária;
  • Compatible_brands: Lista de “ftyp” compatíveis;
  • Creation_time: Data e horário referente a criação do arquivo;
  • Com.android.version: Versão do Android empregado no equipamento de captura;
  • Com.android.capture.fps: Quadros por segundo

2)     Stream #0:0 – Contêiner que indica as propriedades de vídeo;

3)     Stream #0:1 – Contêiner que indica as propriedades de áudio;

Stream #0:2 – Quando presente, este contêiner apresenta as propriedades referente a legendas.

Não foi fornecido texto alternativo para esta imagem

 Imprimir informações Encapsulamento do Arquivo de Entrada

ffprobe -i VídeoExemplo.mp4 -show_format > Relatório.txt
  • -i – Arquivo de Entrada;
  • -show_format – Este parâmetro exibe informações sobre o formato do contêiner;
  • > – Parâmetro utilizado para especificar a criação de um arquivo de saída;
  • Relatório.txt – Nome e extensão referente ao relatório (arquivo de saída).

Imprimir relatório sobre o Fluxo de Áudio e Vídeo

Entre os metadados existentes, podemos extrair as informações sobre cada pacote contido no fluxo de áudio e vídeo.

ffprobe -i VídeoExemplo.mp4 -show_streams -print_format json > Relatório.txt
  • -i – Arquivo de Entrada;
  • -show_streams – Este parâmetro fornecerá as informações de fluxo específicas no arquivo de entrada. Este comando lista todos os streams no arquivo de entrada;
  • -print_format json – Parâmetro utilizado para formatar o conteúdo de saída utilizando marcadores em formato ‘json”;
  • > – Parâmetro utilizado para especificar a criação de um arquivo de saída;
  • Relatório.txt – Nome e extensão referente ao relatório (arquivo de saída).

Imprimir relatório BRUTO sobre o Fluxo de Áudio e Vídeo

ffprobe -i VídeoExemplo.mp4 -show_streams -show_data > Relatório.txt
  • -i – Arquivo de Entrada;
  • -show_streams – Mostra informações sobre cada pacote contido no fluxo áudio;
  • -show_data – Parâmetro utilizado para adicionar ao relatório de saída, o dump hexadecimal referente aos pacotes de áudio e vídeo;
  •  > – Parâmetro utilizado para especificar a criação de um arquivo de saída;
  • Relatório.txt – Nome e extensão referente ao relatório (arquivo de saída).

Obter informações detalhadas sobre o fluxo entre frames

Entre os metadados disponíveis em arquivos de vídeo, podemos examinar os dados armazenados nos contêineres de áudio e vídeo, inspecionando as entradas para cada seção relacionada aos frames.

ffprobe -i VídeoExemplo.mp4 -show_frames -hide_banner
  • -i – Arquivo de Entrada;
  • -show_frames – Mostra informações sobre cada quadro e legenda (quando presente) contida no arquivo de entrada. As informações de cada quadro são impressas em uma seção dedicada com o nome “FRAME” ou “SUBTITLE”.
  •   -hide_banner – Parâmetro utilizado para excluir as propriedades do utilitário em execução.

Imprimir arquivo com informações detalhadas sobre o fluxo entre frames

ffprobe -i VídeoExemplo.mp4 -show_frames -print_format json > relatório.txt
  • -i – Arquivo de Entrada;
  • -show_frames – Mostra informações sobre cada Frame e legenda (quando presente) contida no arquivo de entrada. As informações de cada quadro são impressas em uma seção dedicada com o nome “FRAME” ou “SUBTITLE”;
  • -print_format json – Parâmetro utilizado para formatar o conteúdo de saída utilizando marcadores em formato ‘json”;
  • > – Parâmetro utilizado para especificar a criação de um arquivo de saída;
  • Relatório.txt – Nome e extensão referente ao arquivo de saída.

Imprimir relatório sobre os Pacotes de Áudio e Vídeo

Entre os metadados existentes, podemos exibir todas as informações do pacote no arquivo de entrada. Como existem muitos pacotes em arquivos de mídia, apenas os dados dos três primeiros pacotes são interceptados para exibição, e será gerada uma breve análise:

Basicamente, em um armazenamento de pacotes de áudio e vídeo, um pacote de vídeo e um pacote de áudio são intercalados e armazenados, mas pode haver dois pacotes de vídeo consecutivos.

ffprobe -i VídeoExemplo.mp4 -show_packets -print_format json > Relatório.txt
  • -i – Arquivo de Entrada;
  • -show_packets – Mostra informações sobre cada pacote contido arquivo de entrada. As informações de cada pacote são impressas em uma seção dedicada com o nome [PACKET];
  • -print_format json – Comando utilizado para formatar o conteúdo de saída utilizando marcadores em formato ‘json”;
  • > – Parâmetro utilizado para especificar a criação de um arquivo de saída;
  • Relatório.txt – Nome e extensão referente ao arquivo de saída.

Imprimir relatório BRUTO sobre os Pacotes de Áudio e Vídeo

Adicionalmente ao comando anterior, podemos acrescentar a representação do dump hexadecimal referente aos pacotes de áudio e vídeo.

ffprobe -i VídeoExemplo.mp4 -show_packets -show_data > Relatório.txt
  • -i – Arquivo de Entrada;
  • -show_packets – Mostra informações sobre cada pacote contido arquivo de entrada. As informações de cada pacote são impressas em uma seção dedicada com o nome [PACKET];
  • -show_data – Comando utilizado para adicionar ao relatório de saída, o dump hexadecimal referente aos pacotes de áudio e vídeo.
  •  > – Parâmetro utilizado para especificar a criação de um arquivo de saída;
  • Relatório.txt – Nome e extensão referente ao arquivo de saída.

Converter vídeo para outro formato

DICA: Para listar todos os formatos disponíveis do ffmpeg, use o comando ffmpeg -formats

ffmpeg -i VídeoExemplo.mp4 VídeoSaída.avi

Converter arquivo (sem perdas) transcodifica para um AVI descompactado.

ffmpeg -i VídeoExemplo.mp4 -c:v rawvideo -f avi VídeoSaída.avi

Converter um Arquivo preservando as Streams Originais para um container AVI

ffmpeg -i VídeoExemplo.mp4 -c copy VídeoSaída.avi

Eliminar áudio de um vídeo

ffmpeg -i VídeoExemplo.mp4 -an VídeoSaída.mp4

Exportar áudio para um arquivo mp3.

ffmpeg -i VídeoExemplo.mp4 -vn Áudiosaída.mp3

Exportar áudio preservando as propriedades acústicas

ffmpeg -i VídeoExemplo.mp4 -vn -c copy audio.mp4

Exportar áudio alterando as propriedades acústicas

ffmpeg -i VídeoExemplo.mp4 -vn -ar 48000 -ac 2 -ab 192 -f mp3 audio.mp3

Exportar apenas um trecho do áudio

ffmpeg -i VídeoExemplo.mp4 -ss 00:00:00 -t 10 -vn -c copy audio.mp4

Alterar volume de arquivos de Vídeo

ffmpeg -i VídeoExemplo.mp4 -af 'volume=10' VídeoSaída.mp4

 Extrair um trecho do vídeo               

ffmpeg -i VídeoExemplo.mp4 -ss 00:00:00 -t 10 VídeoSaída.mp4

Extrair um trecho do vídeo preservando as propriedades acústicas       

ffmpeg -i VídeoExemplo.mp4 -ss 00:02:00 -t 10 -vcodec copy -acodec copy VídeoSaída.mp4 

 Exportar todos os frames para extensão png                   

ffmpeg -i VídeoExemplo.mp4 img%06d.png 
  • img%06d.png – Protocolo de nomeação para as imagens estáticas. Esta sintaxe significa que cada quadro vai implorar com a tag img. %06d, significa que a nomenclatura dos arquivos criados seguirá o padrão, img seguido por seis dígitos. Assim, o primeiro frame será nomeado img000001.png, e assim sucessivamente até o último frame.

Extrair Frames sobre determinado período de tempo

Um dos principais recursos disponibilizado pelo ffmpeg, é a extração dos frames em arquivos de vídeo, porém, será necessário considerar o FPS (Taxa de Quadros). FPS (Frames per Second), ou Quadros por Segundo, é o que determina a quantidade de quadros que o vídeo terá a cada segundo. Por exemplo: se o vídeo tiver 30 FPS, isso significa que a cada segundo de vídeo serão mostradas 30 imagens (quadros) em sequência.

Para o exemplo a seguir, em um arquivo de vídeo com FPS de 30 FPS, extraindo-se durante o período de tempo em 01 segundo, foram obtidos 30 Frames (Arquivos de Imagem).

ffmpeg -i VídeoExemplo.mp4 -ss 00:00:40 -to 00:00:41 emg%06d.png
  • -ss 00:00:40 – Comando indica o período de tempo exato para a captura. Neste exemplo, cabe destacar que, foi extraído o primeiro frame aos 40 segundos do arquivo de entrada
  • -to 00:00:41 – Comando indica o tempo de corte final para a extração dos frames
  • img%06d.png – Protocolo de nomeação para as imagens estáticas. Esta sintaxe significa que cada quadro vai implorar com a tag img. %06d, significa que a nomenclatura dos arquivos criados seguirá o padrão, img seguido por seis dígitos. Assim, o primeiro frame será nomeado img000001.png, e assim sucessivamente até o último frame.

Para extrair apenas um Frame

Para extrair apenas o primeiro Frame em determinado período de tempo, em comparação ao comando anterior, devemos adicionar o parâmetro -frames:v 1

ffmpeg -i VídeoExemplo.mp4 -ss 00:00:40 -to 00:00:41 -frames:v 1 img%06d.png    
  • -ss 00:00:40 – Comando indica o período de tempo exato para a captura. Neste exemplo, cabe destacar que, foi extraído o primeiro frame aos 40 segundos do arquivo de entrada
  • -to 00:00:41 – Comando indica o tempo de corte final para a extração dos frames
  • -frames:v 1 – Parâmetro utilizado para especificar a quantidade de frames capturados dentro de um segundo. 
  • img%06d.png – Protocolo de nomeação para as imagens estáticas. Esta sintaxe significa que cada quadro vai implorar com a tag img. %06d, significa que a nomenclatura dos arquivos criados seguirá o padrão, img seguido por seis dígitos. Assim, o primeiro frame será nomeado img000001.png, e assim sucessivamente até o último frame.

FFmpeg permite especificar quantos quadros por segundo deseja capturar. Por padrão, ele captura 25 quadros por segundo, mas é possível usar a tag -r para especificar quantos quadros por segundo devem ser capturados: ffmpeg -i VídeoExemplo.mp4 -r 1 img%06d.png.

Criar um vídeo MP4 com exibição visual dos movimentos do macrobloco (vetores de movimento).

ffmpeg -flags2 +export_mvs -i VídeoExemplo.mp4 -vf codecview=mv=pf+bf+bb output.mp4
  •  -flags2 – Permite o uso de export_mvs (abaixo) como uma opção para exportar vetor de movimento em formação
  • +export_mvs – Define a opção de depuração que exporta os vetores de movimento com base nos parâmetros solicitados (por exemplo, codecview)
  • -i input.dvr – Caminho e nome do arquivo de entrada
  • -vf – Afirma que o próximo comando será o filtro que será aplicado ao vídeo de entrada. OBS: este não será mais o vídeo original, o produto resultante será transcodificado.
  • codecview – Este filtro é aplicado para mostrar os vetores de movimento como pequenas setas para cada macrobloco. Isto tem uma opção, mv (abaixo), que pode ser usada com ele.
  • mv – Define o movimento dentro dos quadros que o vídeo resultante irá visualizar. Estes serão exibidos como setas do local anterior do macrobloco. As opções para os quadros de visualização são:

‘Pf’ = encaminhar MVs previstos de quadros P

‘Bf’ = antecipadamente MVs previstos de quadros B

‘Bb’ = MVs previstos para trás de quadros Bhttps://www.linkedin.com/embeds/publishingEmbed.html?articleId=8959161720995506218

Histogram YUV

Por meio do recurso ffplay, podemosvisualizar ocálculo e desenho do gráfico de histogram sobre distribuição de cores do Arquivo de Entrada. O histogram computado é uma representação da distribuição de componentes de cor em uma imagem. Exibe gráfico de cores para cada componente de cor YUV.

ffplay VídeoExemplo.mp4 -vf histogram
  • -vf histogram – Parâmetro utilizado para reproduzir o arquivo de vídeo com a sua representação em Histogram;

Adicionalmente, podemos exportar o gráfico de Histogram, utilizando o recurso ffpmeg;

ffmpeg -i VídeoExemplo.mp4 -vf histogram saidaYUV.mp4

Histogram RGB

Exibe gráfico de cores para cada componente de cor RGB.

ffplay VídeoExemplo.mp4 -vf format=gbrp,histogram
  • -vf format=gbrp,histogram – adiciona o parãmentro RGB

Adicionalmente, podemos exportar o gráfico de Histogram, utilizando o recurso ffpmeg;

ffmpeg -i VídeoExemplo.mp4 -vf format=gbrp,histogram saidaRGB.mp4

Histogram sobreposto ao vídeo

Através deste comando, podemos reproduzir o arquivo em vídeo, bem como sobreposto a ele, o gráfico de histogram.

ffplay VídeoExemplo.mp4 -vf "split=2[a][b],[b]histogram,format=yuva444p[hh],[a][hh]overlay"
https://www.linkedin.com/embeds/publishingEmbed.html?articleId=9040614205505931552

Espectro de potência do áudio

Sobre o arquivo em vídeo de entrada, podemos visualizar o container de áudio em saída de vídeo representando o espectro de potência do áudio. A amplitude do áudio está no eixo Y, enquanto a frequência está no eixo X.

ffplay -f lavfi "amovie= VídeoExemplo.mp4, asplit [a][out1]; [a] showfreqs=mode=line:fscale=log [out0]" 

Espectro de frequência de áudio

Sobre o arquivo em vídeo de entrada, podemos converter o áudio de entrada em uma saída de vídeo, representando o espectro de frequência de áudio.

ffplay -f lavfi "amovie= VídeoExemplo.mp4, asplit [a][out1]; [a] showspectrum=mode=separate:color=intensity:slide=1:scale=cbrt [out0]"
https://www.linkedin.com/embeds/publishingEmbed.html?articleId=9207584191449294245

Extrair o espectograma sobre a camada de áudio

ffmpeg -i VídeoExemplo.mp4 -lavfi showspectrumpic=s=hd720 out.jpg
Não foi fornecido texto alternativo para esta imagem

Como resultado, foi gerado o arquivo “out.jpg”, representando o espectograma sobre o arquivo examinado.

Espectro de frequência com escala de tom musical.

Sobre o arquivo em vídeo de entrada, com a utilização do recurso ffplay, podemos visualizar o espectro de frequência com escala de tom musical.

ffplay -f lavfi 'amovie=VídeoExemplo.mp4,asplit=2[out1][a],[a]showcqt[out0]'
https://www.linkedin.com/embeds/publishingEmbed.html?articleId=8112355218898860155

Identificar trecho de silêncio em arquivos de vídeo

Utilizando-se do filtro “silencedetect”, por meio do recurso ffmpeg, identificar os trechos de silêncio em arquivos multimídia

ffmpeg -i VídeoExemplo.mp4 -af silencedetect=d=0.1 -f null -

Inverter arquivo de Vídeo

Utilizando-se do filtro “reverse”, por meio do recurso ffmpeg, podemos reverter tanto o contêiner de áudio, quanto vídeo, gerando como resultado um novo arquivo de vídeo, no exemplo a seguir, denominado de “result.mp4”.

ffmpeg -i VídeoExemplo.mp4 -vf reverse -af areverse result.mp4

Adicionar um carimbo de texto ao vídeo

ffmpeg -i VídeoExemplo.mp4 -vf "drawtext=fontfile=/Windows/fonts/calibri.ttf:text='TEXTO': x=40:y=20:fontsize=24:fontcolor=white" -c:a copy output3.mp4
https://www.linkedin.com/embeds/publishingEmbed.html?articleId=7953300072919972049

Adicionar um carimbo de texto com cor de fundo

ffmpeg -i VídeoExemplo.mp4 -vf "drawtext=fontfile=/Windows/fonts/calibri.ttf:text='SEU TEXTO':x=40:y=20:fontsize=32:fontcolor=red:box=1:boxcolor=black:boxborderw=5" -c:a copy output.mp4

Carimbo de tempo HH:MM:SS

ffmpeg -i VídeoExemplo.mp4 -vf "drawtext=fontfile=/Windows/fonts/calibri.ttf:text='%{pts\:gmtime\:0\:%H\\\:%M\\\:%S}':x=40:y=20:fontsize=32:fontcolor=red:box=1:boxcolor=black:boxborderw=5" test.mp4
https://www.linkedin.com/embeds/publishingEmbed.html?articleId=7866344552031476546

Em suma, o FFmpeg não se restringe a apenas estes comandos apresentados neste artigo, existem uma infinidade de possibilidades para trabalharmos arquivos de áudio e vídeo.

O projeto FFmpeg tenta fornecer a melhor solução tecnicamente possível para desenvolvedores de aplicativos e usuários finais, combinando as melhores opções de software livre disponíveis. Maiores informações podem ser consultadas diretamente no repositório de documentação do FFmpeg:

https://ffmpeg.org/
https://ffmpeg.org/ffmpeg.html

0 comentários

Deixe um comentário

Avatar placeholder

O seu endereço de email não será publicado. Campos obrigatórios marcados com *