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