Pra quem conhece sabe como o FFmpeg é uma mão na roda, mas as vezes parece ser mais do que isso. Só com os exemplos da documentação é possível fazer um mundo de coisas, mas os exemplos mais úteis vou escrevendo aqui.
Sessões:
Ripar DVD
Cortar áudio
Cortar arquivos de áudio e video em pedaços menores
Referencia: http://ffmpeg.org/ffmpeg-doc.html
ffmpeg.exe -i d:\VIDEO_TS\VTS_01_1.VOB -f avi -vcodec mpeg4 -b 800k -g 300 -bf 2 -acodec libmp3lame -ab 128k video_saida.avi
-i – arquivo de entrada
-f – força um formato
-vcodec – codec do video
-b – bitrate
-g – GOP – tamanho do grupo de imagem
-bf – B-Frames
-acodec – força o codec de audio
-ab – audio bitrate
ffmpeg.exe -ss 00:00:30 -t 90 -i arquivo_de_entrada.mp3 -acodec copy arquivo_de_saida.mp3
-ss – seek, marca uma posição
-t – tempo em segundos
-i arquivo de entrada
-acodec – força o codec de audio
Nesse caso vai cortar um mp3 começando em 30 segundos e com tamanho de 1 minuto e 30 segundos, o parametro ‘copy‘ para o ‘acodec‘ faz com que o FFmpeg use o mesmo codec de audio do arquivo de entrada.
Cortar arquivos de áudio e video em pedaços menores
O leitor João deu uma idéia bem bacana e fiz um shell script que passado o tamanho em segundos, tempo_total_segundos, do video/áudio ele corta em pedaços menores e determinados em tempo_corte.
#!/bin/bash
tempo_total_segundos=120
tempo_corte=20
nome_video_entrada="./meuvideo.flv"
extensao_saida="flv"
div=`expr $tempo_total_segundos / $tempo_corte`
contador=0
segundos_atual=0
while [ $contador != $div ]; do
hora=`expr $segundos_atual / 3600`
minuto=`expr $segundos_atual % 3600 / 60`
segundo=`expr $segundos_atual % 3600 % 60`
start_time="$contador"
echo $start_time
echo $hora $minuto $segundo
ffmpeg -y -sameq -i $nome_video_entrada -ss $hora:$minuto:$segundo -t $tempo_corte video_saida_$contador.$extensao_saida
contador=`expr $contador + 1`
segundos_atual=`expr $tempo_corte "*" $contador`
done
Por hoje é só, com dicas do FFmpeg.
Deixe um comentário