Skip to content

Instantly share code, notes, and snippets.

@walterpaulo
Last active June 30, 2024 15:00
Show Gist options
  • Save walterpaulo/c4601c9c16ff3531ed185a220c274a0a to your computer and use it in GitHub Desktop.
Save walterpaulo/c4601c9c16ff3531ed185a220c274a0a to your computer and use it in GitHub Desktop.
# Comando ffmpeg, exemmplos para o sistema operacional GNU/Linux
# Redizir tamanho do vídeo -
Neste exemplo, "input.mp4" é o nome do arquivo de vídeo original e "output.mp4" é o nome do arquivo de saída reduzido.
O parâmetro "-vf scale=640:-1" redimensiona o vídeo para uma largura de 640 pixels e ajusta automaticamente a altura
proporcionalmente. O parâmetro "-c:a copy" copia o áudio do arquivo original sem processá-lo, para que não haja perda de
qualidade.
$ ffmpeg -i input.mp4 -vf scale=640:-1 -c:a copy output.mp4
# reduzir vídeo
$ ffmpeg -i salmo28-1-9.mp4 -b:v 1000k salmo28-1-9-.mp4
# separar video por tempo
Neste exemplo, "input.mp3" é o nome do arquivo de música original, e "output1.mp3" e "output2.mp3" são os nomes dos arquivos
de saída para as duas partes da música.
O parâmetro "-t" especifica a duração da primeira parte da música. Neste exemplo, definimos a duração para 2 minutos e
30 segundos (00:02:30).
Em seguida, usamos o parâmetro "-c copy" para copiar o fluxo de áudio sem processamento, o que garante que não haja perda
de qualidade no processo de separação.
Depois disso, usamos o parâmetro "-ss" para especificar o tempo de início da segunda parte da música. Neste exemplo,
definimos o tempo de início para 2 minutos e 30 segundos (00:02:30).
Novamente, usamos o parâmetro "-c copy" para copiar o fluxo de áudio sem processamento para a segunda parte da música.
$ ffmpeg -i input.mp3 -t 00:02:30 -c copy output1.mp3 -ss 00:02:30 -c copy output2.mp3
# Reduzir áudio:
ffmpeg -i entrada.mp3 -b:a 128k saida.mp3
ffmpeg -i entrada.mp3 -b:a 64k saida.mp3
ou
ffmpeg -i entrada.mp3 -b:a 50% saida.mp3
# Converter áudio para WhatsApp:
ffmpeg -i 20230929-irmão\ Gabriel\ -\ bom\ guerreiro.wav -c:a libopus 20230929-irmão\ Gabriel\ -\ bom\ guerreiro.ogg
ffmpeg -i pregação\ pastor\ Gilmar-\ 2023-07-09-O\ Dom\ e\ o\ Propósito\ de\ Vida\ Uma\ Jornada\ Espiritual.wav -c:a libopus -b:a 70k pregação\ pastor\ Gilmar-\ 2023-07-09-O\ Dom\ e\ o\ Propósito\ de\ Vida\ Uma\ Jornada\ Espiritual.ogg
########## Video
## Diminuir o tamanho de um vídeo
ffmpeg -i entrada.mp4 -c:v libx264 -crf 24 -preset fast -c:a aac -b:a 192k -ac 2 saida.mp4
## Substituir áudio em vídeo
ffmpeg -i video_original.mp4 -i novo_audio.mp3 -c:v copy -c:a aac -map 0:v:0 -map 1:a:0 video_com_novo_audio.mp4
## Adicionar mais um áudio no video
ffmpeg -i video_original.mp4 -i novo_audio.mp3 -filter_complex "[0:a][1:a]amix=inputs=2:duration=first[a]" -map 0:v -map "[a]" -c:v copy -c:a aac -strict experimental video_com_novo_audio.mp4
## Cria um áudio em Video
ffmpeg -loop 1 -i imagem_de_fundo.jpg -i arquivo_de_audio.ogg -c:v libx264 -c:a aac -strict experimental -b:a 192k -shortest output_video.mp4
### Converter um vídeo para o formato de compressão H.265 (também conhecido como HEVC)
ffmpeg -i entrada.mp4 -c:v libx265 -preset ultrafast saida.mp4
## Converter .mp4 para .wav e removendo 2 segundos do final
### unitário
ffmpeg -i "input of.mp4" -ss 0 -t $(( $(ffmpeg -i "input of.mp4" 2>&1 | grep "Duration" | cut -d ' ' -f 4 | cut -d '.' -f 1 | awk -F: '{print $1*3600+$2*60+$3}') - 2 )) output.wav
### Vários arquivos
for file in *.mp4; do ffmpeg -i "$file" -ss 0 -t $(( $(ffmpeg -i "$file" 2>&1 | grep "Duration" | cut -d ' ' -f 4 | cut -d '.' -f 1 | awk -F: '{print $1*3600+$2*60+$3}') - 2 )) "${file%.mp4}.wav"; done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment