ffmpeg и прочее для работы с видео

Сделать демо

Из видеоролика video.avi необходимо сделать демо версию mpg высокого качества

ffmpeg -i video.avi -b 1542k -ab 128k demo.mpg

Полу демо

Получить демоверсию половинного размера среднего качества.

ffmpeg -i video.avi -b 1024k -ab 128k -s 360x288 demo.mpg

Ещё кадр

Взять третий кадр со второй секунды. (1/25=0.04)

ffmpeg -i video.mpg -f image2 -ss 00:00:01.08 -vframes 1 -y frame.jpg

Разложить видео на отдельные кадры

Имеется видео на 15 сек. - надо разложить на отдельные кадры (будет 376 файлов)

mkdir tmp
ffmpeg -i 1tv_15sec.avi -f image2 tmp/kadr_%05d.png

Вытащить из видео звук в отдельный файл

из видео получить звук в sound.wav

ffmpeg -i 1tv_15sec.avi -vn -acodec pcm_s16le -ar 48000 -ac 2 tmp/sound.wav

Получить 25 кадров, начиная с пятой секунды

Имеется видео. Начиная с пятой секунды, нужно получить 25 кадров в отдельные файлы.

mplayer -ss 5 -frames 25 -vo jpeg: outdir=tmp/ -nosound 1tv_15sec.avi

Вырезать кусочек видео

Из файла wini.avi, начиная с 8 мин. 5 сек., вырезать кусочек длиной 8 сек. и 22 кадра. Результат сохранить в wini_gun.mpg

ffmpeg -i wini.avi -ss 00:08:05.00 -t 8.22 -r 25 wini_gun.mpg
- Эй, Пятачок! У тебя есть дома ружьё?
- Ага!
- Неси сюда его скорей!

отрезать концовку видео

Есть входное видео history_7_1.2.flv, не изменяя качество звука и видео, убрать концовку - всё, что после 12 мин. 35 сек.

ffmpeg -i history_7_1.2.flv  -t 00:12:35 -vcodec copy -acodec copy  out1.flv
Получим файл out1.flv продолжительностью 12 мин. 35 сек.

Убрать начало видео

Убирает из видео всё, что находится до 13 минуты 51 секунды

ffmpeg -i history_7_1.2.flv -ss 00:13:51 -vcodec copy -acodec copy   out2.flv
out2.flv - вторая часть видео

Объединение нескольких видео

Имеется несколько видеофайлов (out2 и out2), которые надо объединить в один без перекодировки.

mencoder -oac copy -ovc copy out1.flv out2.flv -o out.avi
out.flv - результат склейки двух видео

Кадры в видео

Объединение последовательности изображений в видеофайл. Файлы должны быть по порядку начиная с 0001.

ffmpeg -f image2 -i dima2_%04d.jpg -r 25 -s 1280x1024 output.avi

или как вариант - перенумеруем и соберём:

#!/usr/bin/perl
for(<*.JPG>){
  $name=sprintf("IMG_%04d.JPG",++$n);
  rename $_, $name;
}
`ffmpeg -f image2 -i IMG_%04d.JPG -r 25 -b 12000k output.mpg`;
все файлы соберутся в один видеоролик

Видео в звук

Есть видеофайл, из него надо выделить в отдельный файл только звук, не перекодируя.

ffmpeg -i "Babylon 5 - S02E07 - Soul Mates.avi" -vn -acodec copy -f mp3 /home/illari/babylon5s02e07.mp3
Появится файл MP3 с тем же параметрами что и в исходном файле:
Stream #0.1: Audio: mp3, 48000 Hz, stereo, s16, 64 kb/s
При этом размер минимальный, так как не перекодировывается.

#Редактировать +Добавить