Как стать автором
Обновить

Комментарии 11

mplayer --dumpaudio --vo null -ao null -benchmark -dumpfile sound.wav video_source_file.avi
Понятно, что проблему можно решить разными способами. В этом посте я показал, как ее можно решить на ависинте и с использованием командного режима виртуал даба.
Здесь мы можем использовать всю мощь ависинта, например, для высококачественного перекодирования sample rate у аудио с использованием ависинтовской функции SSRC().
mplayer снимает дамп в wav без сжатия. Как можно выжать больше качества, чем было в исходнике?
Я фанат ависинта и виртуалдаба :)

Показанный выше BAT-скрипт можно легко адаптировать, например, для пакетного перекодирования видео с максимальным качеством, с несколькими проходами Xvid-а и т.д.
К примеру, видео с Canon 5D Mark II обязательно должно быть открыто в виртуалдабе вот такой инструкцией на ависинте, для того чтобы цвета были правильными:
DirectShowSource(«MVI_1059.MOV», fps=23.976).ConvertToRGB32(matrix=«PC.709»)
ffmpeg -i 1.flv -acodec copy -vn 1.mp3

Написано за пять секунд, делает только то, что нужно, без перекодирования.
Сомневаюсь, что задачу выделения аудиопотока из flv-файлов когда-нибудь придётся адаптировать для максимального качества и нескольких проходов.
набор кодеков, такой как K-Lite Codec Pack
Но зачем загаживать систему? Для пакетного кодирования достаточно консольных x264 и xvid_encraw + опять же консольные lame или neroaacenc по вкусу.

Ваш пример с декодированием WAV не показательный, ибо, если это можно сделать проще, то нужно делать проще. Если так свербит использовать Avisynth, то для записи wav есть простые утилитки: avs2wav и wavi.

И пожалуйста, не учите людей плохому. Для пакетной обработки видео/аудио batch+Avisynth — очень ужасное решение. Как только дело дойдёт до реального применения, всплывает туча костылей и ограниченность синтаксиса батников, особенно в работе со строками.

PS Завязывайте использовать мутный DirectShowSource, который полагается на фазы луны при построении графов из системных декодеров. FFMpegSource и точка.
Как только дело дойдёт до реального применения, всплывает туча костылей и ограниченность синтаксиса батников, особенно в работе со строками.
Можно таскать с собой bash и gnuutils, они не так много весят.
Ваш набор консольных утилит не откроет, к примеру, файлы 3GP или AMR. Так что еще вопрос, что именно загаживает систему: один набор кодеков или куча индивидуальных программ от разных производителей, за которыми за каждым надо специально следить (апдейтить при появлении новых версий и т.д).

Мой принцип использования AviSynth — не для простоты, а для полного контроля за процессом. Ведь можно найти в интернете программки, которые имеют всего одну кнопку «перекодировать видео», и что-то там перекодируют по своим внутренним правилам — никакого контроля за процессом. В случае самостоятельного написания скриптов на ависинте у программиста все под контролем.

А batch — это не «ужасное решение», это просто особенный язык, с кучей лулзов в поптыке работать с переменными и строками. Если его понять — то он понравится. Поверьте, он умеет работать со строками, просто делает это по особенному.
ЗЫ кстати, обратите внимание на совершенно диковинный символ экранирования ^ который испльзован в коде выше. Без него не будет работать.

А DirectShowSource и вообще AviSynth меня еще ни разу не подводил, для моих задач нелинейного монтажа видео он справляется очень неплохо.
mplayer жуёт ВСЁ, не надо тут.
Ваш набор консольных утилит не откроет, к примеру, файлы 3GP или AMR. Так что еще вопрос, что именно загаживает систему: один набор кодеков или куча индивидуальных программ от разных производителей, за которыми за каждым надо специально следить (апдейтить при появлении новых версий и т.д).
Вас, батенька, не туда понесло. Все они принимают вывод avisynth, который читает всё с помощью FFMS без использования внешних декодеров, даже 3GP или AMR.

Насчёт batch вы мне ничего нового не рассказали. Потехи ради писал когда-то батник для перекодирования видео на телефон с учётом наличия субтитров. Котята мёрли сотнями. Batch без дополнительных приблуд ужасен.
А DirectShowSource и вообще AviSynth меня еще ни разу не подводил
Значит, вы мало с ним работали, с DSS.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории