[ Обновленные темы · Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: Andrey_A, simup, ХарВик, chip642  
Форум » • Программы • Утилиты • » Утилиты » FFmpeg (Библиотека для обработки видео- и аудиофайлов)
FFmpeg
Andrey_AДата: Понедельник, 29.09.2014, 04:11 | Сообщение № 1
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7163
Награды: 139
Репутация: 124
Аверин Андрей
Библиотека для обработки видео- и аудиофайлов FFmpeg




ffmpeg — это кроссплатформенная open-source библиотека для обработки видео- и аудиофайлов. В ней есть полезные и удивительные команды, покрывающие почти все нужды: конвертация видео, извлечение звуковой дорожки, конвертирование для iPod или PSP, и многое другое.

Несколько примеров использования

Скачать FFmpeg32.zip

Для работы с изображениями есть несколько утилит (IrfanView,Nconv...), для обработки видео и аудио тоже есть, FFmpeg - одна из них. Я думаю обсуждение будет интересным в плане интеграции утилиты с Total Commander, а также с другими средствами автоматизации...



В этой теме будут обсуждаться параметры FFmpeg, а готовые кнопки будут выкладываться в теме:

Кнопки для Total Commander связанные с обработкой видео и аудио


 
Andrey_AДата: Понедельник, 29.09.2014, 04:35 | Сообщение № 2
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7163
Награды: 139
Репутация: 124
Аверин Андрей
Из всего скачанного архива я взял один файл ffmpeg.exe и поместил в папку %COMMANDER_PATH%\Utilities\MultiMedia\FFmpeg\ffmpeg.exe, кроме того сжал UPX - получил 9mb вместо 28

После короткого общения с параметрами (спасибо shveicar) получил кнопку:

Код
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utilities\MultiMedia\FFmpeg\ffmpeg.exe
-i %P%N -vn -ar 44100 -ac 2 -ab 128 -f mp3 %T%N
%COMMANDER_PATH%\TOTALCMD.EXE,3
Изменить битрейд для аудиофайла под курсором, новый создать в другой панели

-1


Чтобы убрать консоль, воспользовался утилитой TCIMG
Прописал в TCIMG.ini в секции:
Код
[Programs]
FFmpeg=%COMMANDER_PATH%\Utilities\MultiMedia\FFmpeg\ffmpeg.exe


Доступно только для пользователей

Так что первый опыт есть, спасибо chip642 за идею темы...


 
chip642Дата: Понедельник, 29.09.2014, 06:44 | Сообщение № 3
Генералиссимус

На сайте с: 24.04.2013
Город: Москва
Сообщений: 1495
Награды: 62
Репутация: 58
Цитата
imgpr=1 start=FFmpeg||-i||%P%N||-vn||-ar||44100||-ac||2||-ab||128||-f||mp3||%T%N||&&hide||&&wait

Не совсем понятно, для чего в обработке mp3 присутствует параметр -vn, ведь "-vn" — не кодировать видео.
=========
Кнопка извлечения звука:
Код
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\TCIMG.exe
imgpr=1 start=FFmpeg||-i||%P%N||-vn||-ar||44100||-ac||2||-ab||128||-f||mp3||"%p%O".mp3||&&hide||&&wait
%COMMANDER_PATH%\Wcmicons.dll,19
Извлечение звука из видео в формате MP3 с сохранением в активной панели с именем видеофайла

-1
-1

Если качество не важно, то можно в низком, без условий:
Код
imgpr=1 start=FFmpeg||-i||%P%N||"%p%O".mp3||&&hide||&&wait


Сообщение отредактировал chip642 - Понедельник, 29.09.2014, 09:03
 
shveicarДата: Понедельник, 29.09.2014, 08:10 | Сообщение № 4
Генерал-лейтенант

На сайте с: 18.05.2012
Город: Санкт-Петербург
Сообщений: 562
Награды: 10
Репутация: 23
Цитата chip642 ()
Не совсем понятно, для чего в обработке mp3 присутствует параметр -vn, ведь "-vn" — не кодировать видео.

Привет.
Ну только начал знакомиться с утилитой. Многие параметры еще не известны, пользовался комбинациями из разных примеров. Многие вещи в обще не понятны (особенно если учесть запутанную справку). Также пока непонятно почему, - не срабатывают некоторые примеры. Например обрезка видео при конвертировании или наложение фоновых полос снизу и сверху.
Доступно только для пользователей и Доступно только для пользователей
Также, не получается выбирать различные кодеки для использовании при конвертации. Если есть подробная информация об этом и человеческое описание параметров Прошу поделится.
Описание ключей с примерами для IrfanView в этом плане, - просто букварь typing
Чувствую придется основательно изучить их форум Ссылка
Утилита выглядит очень перспективно..
вот нашел интересную информацию
Цитата
Библиотека кодеков libavcodec содержит, кстати, и свою реализацию H.264. Сам ffmpeg может подключать и внешние кодеки, такие, например, как lame, xvid, a52 и другие. Для этого он должен быть скомпилирован с поддержкой этих медиакодеков

Получается, что базовая версия для Win - не содержит полной библиотеки кодеков. И нужно создать или найти расширенную скомпилированную версию для работы?.
набрал Доступно только для пользователей вроде список большой, тогда как правильно менять кодеки при обработке видео?


Сообщение отредактировал shveicar - Понедельник, 29.09.2014, 08:25
 
chip642Дата: Понедельник, 29.09.2014, 09:10 | Сообщение № 5
Генералиссимус

На сайте с: 24.04.2013
Город: Москва
Сообщений: 1495
Награды: 62
Репутация: 58
shveicar, сам только постигаю азы, много примеров не срабатывают, будем разбираться. Насчет отсутствия кодеков, да, будем искать расширенную версию, что-то уже нашел, разбираюсь вот. Описания никакого нет, пока в стадии проверки элементарного, бегаю по англоязычным форумам, выхватываю что могу. Там масштаб возможностей неописуемый, будем изучать!
===========
Кнопка удаления звука.
Код
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\TCIMG.exe
imgpr=1 start=FFmpeg||-i||%P%N||-an||-vcodec||copy||%T%N||&&hide||&&wait
%COMMANDER_PATH%\Wcmicons.dll,19
Удалить звук из видео и сохранить в противопожной панели с тем же именем

-1
-1

Конвертировать аудифайл под курсором в WAV:
Код
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\TCIMG.exe
imgpr=1 start=FFmpeg||-i||%P%N||-acodec||pcm_s16le||-ac||2||"%p%O".wav||&&hide||&&wait
%COMMANDER_PATH%\Wcmicons.dll,19
Конвертировать аудифайл под курсором в WAV - стерео

-1
-1

Если нужно МОНО:
Код
imgpr=1 start=FFmpeg||-i||%P%N||-acodec||pcm_s16le||-ac||1||"%p%O".wav||&&hide||&&wait

С указанием частотных характеристик:
Код
imgpr=1 start=FFmpeg||-i||%P%N||-acodec||pcm_s16le||-ac||2||-ar||16000||"%p%O".wav||&&hide||&&wait


Конвертировать аудифайл под курсором в mp3:
Код
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\TCIMG.exe
imgpr=1 start=FFmpeg||-i||%P%N||-ar||44100||-ac||2||-ab||128||-f||mp3||"%p%O".mp3||&&hide||&&wait
%COMMANDER_PATH%\Wcmicons.dll,19
Конвертировать аудифайл под курсором в mp3:

-1
-1


Сообщение отредактировал chip642 - Среда, 01.10.2014, 16:49
 
shveicarДата: Понедельник, 29.09.2014, 11:06 | Сообщение № 6
Генерал-лейтенант

На сайте с: 18.05.2012
Город: Санкт-Петербург
Сообщений: 562
Награды: 10
Репутация: 23
Вот еще задачка - есть команда создания видео файла из нескольких изображений. В исходном виде работает из командной строки
Доступно только для пользователей если переделать под утилиту - то работает только с одним файлом
Доступно только для пользователей %L в данном случае не помогает, - у кого какие есть варианты?
аналогично, не срабатывает и вариант разрезания видео на кадры, например 10 кадров с интервалом в 10 секунд в оригинале выглядит так:
Доступно только для пользователей
а так, не идет Доступно только для пользователей
видимо из за параметра %d? нужно с ним разобраться.


Сообщение отредактировал shveicar - Понедельник, 29.09.2014, 11:19
 
Andrey_AДата: Понедельник, 29.09.2014, 16:28 | Сообщение № 7
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7163
Награды: 139
Репутация: 124
Аверин Андрей
Цитата shveicar ()
если переделать под утилиту - то работает только с одним файлом

Так в примере image_0%d , где файлы должны быть image_01, image_02 ...
кроме того параметр %d - это цифра, НО %d в чистом виде использовать нельзя т.к. это параметр тотала:

[helpquote]%d - Короткие имена файлов без пути, но с использованием набора символов DOS для диакритических знаков. [/helpquote]

Надо прописывать %%d

тогда будет:

Код
imgpr=1 start=FFmpeg||-r||1||-i||image_0%%d||-y||-r||1||"%ptest".mp4||&&hide||&&wait


для списков в start есть параметр list<>, но в данном случае он вряд ли поможет, нужно искать параметр который может передать список файлов...

Или выделенные файлы заранее переименовывать под шаблон img1.jpg, img2.jpg, img3.jpg , а далее запускать команду...

Цитата shveicar ()
не срабатывает и вариант разрезания видео на кадры, например 10 кадров с интервалом в 10 секунд в оригинале выглядит так

У меня даже оригинальная версия не работает... возможно проблема в видеофайлах

----------- Добавлено --------------
Заработало, надо было добавить файл ffprobe.exe
Порезать видео под курсором на картинки:
Код
imgpr=1 start=FFmpeg||-i||%P%N||"%pimage%%d.jpg"


 
chip642Дата: Понедельник, 29.09.2014, 18:24 | Сообщение № 8
Генералиссимус

На сайте с: 24.04.2013
Город: Москва
Сообщений: 1495
Награды: 62
Репутация: 58
Цитата shveicar ()
аналогично, не срабатывает и вариант разрезания видео на кадры, например 10 кадров с интервалом в 10 секунд

Код
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\TCIMG.exe
imgpr=1 start=FFmpeg||-i||%P%N||-ss||00:00:25||-r||0.1||-vframes||15||-s||640x480||images%%d.jpg||&&hide||&&wait
%COMMANDER_PATH%\Wcmicons.dll,19
Сохранить в активной панели 15 кадров из видеофайла под курсором, начиная с 25-й секунды с интервалом в 10 сек

-1
-1


Первые три кадра он сохраняет покадрово, надо учитывать. Проверяйте.
Андрей вовремя подсказал насчет %%d
Код
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\TCIMG.exe
imgpr=1 start=FFmpeg||-i||%P%N||-r||25||-ss||00:00:10||-t||00:00:05||images%%05d.jpg||&&hide||&&wait
%COMMANDER_PATH%\Wcmicons.dll,19
Извлечь кадры пятисекундного отрезка, начиная с десятой секунды из видеофайла под курсором и сохранить в активной панели

-1
-1


Сообщение отредактировал chip642 - Понедельник, 29.09.2014, 22:21
 
shveicarДата: Понедельник, 29.09.2014, 21:30 | Сообщение № 9
Генерал-лейтенант

На сайте с: 18.05.2012
Город: Санкт-Петербург
Сообщений: 562
Награды: 10
Репутация: 23
Всем Спасибо, начало положено. Теперь, хоть есть за что зацепиться.
Вот еще непонятка, при попытке сохранить извлекаемые изображения в нужную папку с полным путем, команда перестает работать
Доступно только для пользователей
Как можно задать нужный каталог для сохранения результата? Кажется понял, - утилита FFmpeg не может создавать каталоги, она может использовать только предварительно созданные.
Вот вариант с созданием каталога в текущей панели и сохранением полученных файлов в него
Доступно только для пользователей
В общем в итоге, для работы с несколькими выделенными видео файлами, - использовал цикл. Имя каталога берется из видео файла + хеш для предотвращения возможных совпадений (если каталог с именем видео уже существует)
Доступно только для пользователей
А вот вариант для извлечения изображений и звука из всего видео, для выделенных файлов
Доступно только для пользователей
Ну и конвертация выделенных аудио файлов в 128к битрейд mp3
Доступно только для пользователей
Мне нравится эта утилита :)


Сообщение отредактировал shveicar - Вторник, 30.09.2014, 02:33
 
chip642Дата: Вторник, 30.09.2014, 09:20 | Сообщение № 10
Генералиссимус

На сайте с: 24.04.2013
Город: Москва
Сообщений: 1495
Награды: 62
Репутация: 58
Уххх, shveicar провел плодотворную ночь, вынудил FFmpeg безропотно выполнять задуманное TCIMG, но толи еще будет, предвкушаю ... up

Сообщение отредактировал chip642 - Вторник, 30.09.2014, 09:44
 
shveicarДата: Вторник, 30.09.2014, 13:26 | Сообщение № 11
Генерал-лейтенант

На сайте с: 18.05.2012
Город: Санкт-Петербург
Сообщений: 562
Награды: 10
Репутация: 23
Удалось добиться обработки всех видео файлов с маской wmv в нужном каталоге (в данном случае H:\1) с рекурсией - извлечение изображений и аудио в свои внутренние каталоги, - без использования %P и прочих примочек тотала.. Удобно для составной автоматизации, при вызове списка команд через файл .tcg
Доступно только для пользователей
Если нужно с тоталом (для выделеного каталога и всех лежащих внутри видео файлов wmv), то вместо slist и пути к каталогу H:\1 - ставим Доступно только для пользователей


Сообщение отредактировал shveicar - Вторник, 30.09.2014, 13:49
 
Andrey_AДата: Вторник, 30.09.2014, 16:32 | Сообщение № 12
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7163
Награды: 139
Репутация: 124
Аверин Андрей
chip642, shveicar, большая просьба готовые решения оформлять в виде кнопок и выкладывать в теме: Обработка видео- и аудиофайлов

 
chip642Дата: Вторник, 30.09.2014, 16:54 | Сообщение № 13
Генералиссимус

На сайте с: 24.04.2013
Город: Москва
Сообщений: 1495
Награды: 62
Репутация: 58
Мда, столько времени убить, а ларчик-то просто открывался:
Код
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\TCIMG.exe
imgpr=1 start=FFmpeg||-i||%P%N||-ss||00:01:00||-t||00:05:00||-c||copy||%T%N||&&hide||&&wait
%COMMANDER_PATH%\Wcmicons.dll,19
Из видеофайла под курсором вырезать фрагмент начиная с 1-ой минуты продолжительностью 5 минут, сохранить в противоположной панели

-1
-1


Код
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\TCIMG.exe
imgpr=1 start=FFmpeg||-i||%P%N||-ss||00:01:00||-to||00:05:00||-c||copy||%T%N||&&hide||&&wait
%COMMANDER_PATH%\Wcmicons.dll,19
Из видеофайла под курсором вырезать фрагмент с 1-ой по 5 минуты, сохранить в противоположной панели

-1
-1

Скорость поражает 100мб за 1 секунду вырезает.
==========
Код
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\TCIMG.exe
imgpr=1 start=FFmpeg||-i||%P%N||-vf||transpose=1||-qscale||0||%T%N||&&hide||&&wait
%COMMANDER_PATH%\Wcmicons.dll,4
Повернуть видео на 90° по часовой стрелке

-1
-1

Код
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\TCIMG.exe
imgpr=1 start=FFmpeg||-i||%P%N||-vf||transpose=2||-qscale||0||%T%N||&&hide||&&wait
%COMMANDER_PATH%\Wcmicons.dll,4
Повернуть видео на 90° против часовой стрелке

-1
-1

[plus]Значения ключа transpose:
0 — против часовой стрелки и зеркально;
1 — по часовой стрелке;
2 — против часовой стрелки;
3 — по часовой стрелке и зеркально[/plus]

Добавлено (30.09.2014, 16:54)
---------------------------------------------
Цитата Andrey_A ()
большая просьба готовые решения оформлять в виде кнопок и выкладывать в теме: Обработка видео- и аудиофайлов

Андрей, ну пока предварительная работа идет, люди должны протестить, проверить, я же не знаю может только у меня работает и еще тут главное найти правильные параметры, чтобы зацепиться за выполнение той или иной задачи, а потом пойдет всё.
Связи ни с кем нет, shveicar аську написал, я его добавил написал ему и тишина, написал ему на почту свою аську опять тишина.


Сообщение отредактировал chip642 - Четверг, 02.10.2014, 16:55
 
asmadeusДата: Вторник, 30.09.2014, 19:50 | Сообщение № 14
Генералиссимус

На сайте с: 14.12.2012
Город: Кривой Рог
Сообщений: 1375
Награды: 29
Репутация: 32
chip642, Andrey_A, shveicar, ну вы ребята даете up
 
shveicarДата: Вторник, 30.09.2014, 20:43 | Сообщение № 15
Генерал-лейтенант

На сайте с: 18.05.2012
Город: Санкт-Петербург
Сообщений: 562
Награды: 10
Репутация: 23
Есть такой вопрос, - удалось добиться склеивания нескольких mp3 с одновременным изменением битрейда на нужное значение.
Доступно только для пользователей
для TCIMGU.ini секция [FormatUser]
Доступно только для пользователей
Загвоздка в том, что выходной файл должен иметь имя copy в противном случае образуется файл в конце которого остается пустое место (это видно при попытке перемотать на нужный фрагмент) Возможно команда не совсем правильная, но пробовал экспериментировать переставляя параметры и лучшего добиться не удалось.
У кого какие идеи?


Сообщение отредактировал shveicar - Четверг, 02.10.2014, 13:32
 
Форум » • Программы • Утилиты • » Утилиты » FFmpeg (Библиотека для обработки видео- и аудиофайлов)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Интеллектуальные права и отказ от ответственности