Introdução
FFmpeg é um processador multimídia, um conjunto de bibliotecas que permitem gravar, processar e converter materiais de vídeo e / ou áudio em vários formatos. Com esta ferramenta, você pode fazer edição de vídeo de quase qualquer complexidade. Ele é usado por muitos jogadores, conversores, editores e bibliotecas de visão computacional. Neste artigo, compartilharei alguns dos truques e truques do FFmpeg que costumo usar em meu trabalho.
Cortar vídeo por tempo
Freqüentemente, você precisa cortar um pequeno fragmento de n a m segundos de um vídeo . Para fazer isso, você precisa especificar o segundo com o qual cortar e a duração.
ffmpeg -i i.mp4 -ss 00:01:00 -t 00:02:00 -c copy o.mp4
O parâmetro -ss
indica o ponto de partida e -t
a duração.
Nota importante! Se a duração do vídeo for de 5 minutos, indicaremos o ponto de partida às 00:04:00, e a duração às 00:02:00, a duração do vídeo final será de 1 minuto.
Aqui e mais adiante no texto do artigo, i.mp4
está o caminho para o arquivo de entrada e o.mp4
- para a saída.
Criar vídeo a partir de fotos
Suponha que temos uma câmera de vigilância que tira uma foto a cada minuto durante o dia, e queremos obter um vídeo contínuo.
, .jpg , 10 FPS, H.264 .
ffmpeg -framerate 10 -pattern_type glob -i '*.jpg' -c:v libx264 o.mp4
— .
ffmpeg -i o.mp4 -r 1 -q:v 2 -f image2 img-3%d.jpeg
, list.txt , , :
file 'video1.mp4'
file 'video2.mp4'
file 'videoN.mp4'
:
ffmpeg -f concat -i list.txt -c copy o.mp4
, , , :
for f in ./*.mp4; do echo "file '$f'" >> list.txt; done
:
printf "file '%s'\n" ./*.mp4> list.txt
:
ffmpeg -i i.mp4 -c:v copy -an o.mp4
:
ffmpeg -i i.mp4 -vn 0.wav
, , 16:9 3:4, .
ffmpeg -i i.mp4 -filter:v "crop=w:h:x:y" o.mp4
crop , , .
(stack video)
, , , :
.
.
:
ffmpeg -i i0.mp4 -i i1.mp4 -filter_complex hstack=inputs=2 o.mp4
:
ffmpeg -i i0.mp4 -i i1.mp4 -filter_complex vstack=inputs=2 o.mp4
2x2:
ffmpeg \
-i i0.mp4 -i i1.mp4 -i i2.mp4 -i i3.mp4 \
-filter_complex \
"[0:v][1:v]hstack=inputs=2[top]; \
[2:v][3:v]hstack=inputs=2[bottom]; \
[top][bottom]vstack=inputs=2[v]" \
-map "[v]" \
o.mp4
3x2:
ffmpeg \
-i i0.mp4 -i i1.mp4 \
-i i2.mp4 -i i3.mp4 \
-i i4.mp4 -i i5.mp4 \
-filter_complex \
"[0:v][1:v][2:v]hstack=inputs=3[top];\
[3:v][4:v][5:v]hstack=inputs=3[bottom];\
[top][bottom]vstack=inputs=2[v]" \
-map "[v]" \
o.mp4
ffmpeg -i i.mp4 -vf "transpose=0" o.mp4
transpose :
0 - 90 . .
1 - 90 .
2 - Gire 90 graus no sentido anti-horário.
3 - Gire 90 graus no sentido horário e gire verticalmente.
Posfácio
FFmpeg é uma ferramenta de processamento de vídeo muito poderosa. Com sua ajuda, tendo uma folha de dicas sobre seus recursos, você pode economizar muito tempo - é muito mais rápido inserir alguns comandos para processar um vídeo do que iniciar um editor.
Se você conhece mais truques e truques úteis - sinta-se à vontade para compartilhá-los nos comentários. Obrigado!