Работаем с FFmpeg.
В предыдущей статье - Как конвертировать .flv в .mpg (.avi) - я описал как конвертировать видео с .flv в .mpg (.avi). А сегодня хочу поведать о том:
как можно извлечь аудио из видео-файла;
как создать thumbnail c файла .flv;
как создать видео файл из набора изображений в формате JPG.
Все это я буду делать с помощью утилиты FFmpeg. Поэтому для начала расскажу немного о ней.
FFmpeg - это набор программ с помощью которых можно записывать, перекодировать и проигрывать аудио и видео файлы. Данные программы используют библиотеку libavcodec. FFmpeg изначально разрабатывался под Linux, но на данный момент эту программу можно использовать из-под большинства операционных систем, включая Windows. Стоит также заметить, что большинство разработчиков FFmpeg также участвуют и в разработке Mplayer, поэтому эти два проекта тесно связаны. Следовательно саму программу и документацию к ней можно найти на сервере Mplayer.
В случае Debian (Ubuntu) программу устанавливаем стандартным способом:
На самом деле это не одна программа, а пакет, состоящий из различных утилит:$sudo apt-get install ffmpeg
ffmpeg - это утилита позволяющая конвертировать видео файлы в различные форматы. Также она позволяет захватывать и кодировать видео с TV-карт в режиме реального времени.
ffserver - это HTTP (RTSP is being developed) мультимедиа сервер для телевещания
ffplay - медиаплеер.
libavcodec, libavformat, libavutil, libpostproc, libswscale - различные библиотеки
Рассмотрим некоторые полезные примеры применения ffmpeg:
Вытягиваем аудио с видео файла:
Не буду сильно отклонятся от темы предыдущего поста, поэтому экспериментировать буду с файлами .flv.
В комментариях к предыдущему посту были упомянуты два расширения для Firefox, с помощью которых можно скачать видео файл в формате .flv, например с YouTube, а именно - UnPlug и Fast Video Download. Будем считать, что с первой половиной задания мы справились - файл скачали. Теперь извлекаем из него аудио:
В комментариях к предыдущему посту были упомянуты два расширения для Firefox, с помощью которых можно скачать видео файл в формате .flv, например с YouTube, а именно - UnPlug и Fast Video Download. Будем считать, что с первой половиной задания мы справились - файл скачали. Теперь извлекаем из него аудио:
где,ffmpeg -i video.flv -f mp3 -vn -acodec copy audio.mp3
-i - задает файл, из которого будем извлекать аудио.
-f - задает формат аудио файла.
-vn - отключает запись видео.
-acodec - задает аудио кодек.
Полученный файл можно прослушать в ffplay:
Также можно перекодировать видео с .flv в .avi и после этого извлечь аудио с .avi c помощью mplayer:$ffplay audio.mp3
(Извлечь напрямую с .flv у меня не получилось)mplayer -dumpaudio video.avi
Еще можно воспользоваться услугами специально созданного для этого сайта http://flv2mp3.com/. Загружаем на сайт нужный файл или указываем его URL и ждем когда нам на E-mail придет аудио с этого файла.
Создаем thumbnail c видео-файла:
гдеffmpeg -i video.flv -an -ss 00:00:02 -an -vframes 1 -y %d.jpg
-an - запрещает перекодировку
-ss - время. В нашем случае это будет кадр на второй секунде (избегаем снимка черного экрана)
-vframes - устанавливает количество кадров
-y - переписать полученный файл
-ss - время. В нашем случае это будет кадр на второй секунде (избегаем снимка черного экрана)
-vframes - устанавливает количество кадров
-y - переписать полученный файл
В результате выполнения данной программы, появится файл 1.jpg, представляющий собой кадр второй секунды видео.
Также, можно создать thumbnail и в PNG-формате:
гдеffmpeg -i video.flv -vcodec png -vframes 1 -an -f rawvideo png.png
-vcodec - выставить видео кодек.
Создаем видео с набора JPG файлов:
Заходим в папку, в которой находятся изображения в формате JPG и запускаем следующую команду:
(предполагается что названия файлов имеют следующий вид - 001.jpg, 002.jpg)ffmpeg -r 5 -b 1800 -i %03d.jpg video.avi
-r - задает количество кадров в секунду
-b - устанавливает видеобитрейт в килобитах в секунду (по умолчанию 200 кб/с)
Полученный файл просматриваем с помощью ffplay:
Таким образом, на основе нескольких примеров я показал что можно сделать с помощью программы FFmpeg. Естественно, это лишь малая часть того, что может делать данная утилита. Для более подробной информации обратитесь к man ffmpeg или на сайте разработчика.$ ffplay video.avi
Используемые источники:
1.Making movies from image files using ffmpeg/mencoder.
2.Using ffmpeg to create jpg thumbnails from flv files
3. copy-mode extract of audio from youtube flv video
5 коммент.:
ffmpeg - хорошо, а mencoder лучше :-) Хотя не все flv-шки перекодируются так. Надо кодеки обновлять...
Както раньше не сталкивался с вопросами перекодирования видео. Поэтому не сильно хорошо разбираюсь в предназначенных для этого программах. Но в последнее время это меня заинтересовало, не так со стороны полезности (не сильно люблю с видео возится), а больше со стороны здорового интереса. В ближайшее время собираюсь подробней разобраться с ffmpeg и mencoder. Вот тогда и пойму что из них лучше.
Эту программу можно использовать из-под большинства операционных систем, включая Windows.
Както раньше не сталкивался с вопросами перекодирования видео. Поэтому не сильно хорошо разбираюсь в предназначенных для этого программах. Но в последнее время это меня заинтересовало, не так со стороны
с помощью ffmpeg лучший с ним можно делать много вещей например захват видео с экрана и звука со звуковой карты
ffmpeg -f alsa -i default -f x11grab -r 30 -s wxga -i :0.0 -sameq выходной_файл.mkv # со звуком с линейного выхода (колонок)
видео запись с вебки
ffmpeg -f video4linux2 -s 640x480 -i /dev/video0 ~/выходной_файл.mkv # запись без звука
ffmpeg ffmpeg -f alsa -i hw:0 -f video4linux2 -s 640x480 -i /dev/video0 ~/выходной_файл.mkv # запись звуком с микрофона
взято с
http://linuxffmpeg.blogspot.ru/
Отправить комментарий