Батч для FFMpeg нарезки видео

Тема в разделе "PHP", создана пользователем plastix, 5 ноя 2008.

Статус темы:
Закрыта.
Модераторы: latteo
  1. plastix

    plastix Постоялец

    Регистр.:
    15 сен 2008
    Сообщения:
    114
    Симпатии:
    5
    Есть задача, звучит так:
    1) 1500 видео файлов, формат мпег
    2) нужно из них вырезать 2х минутные фрагменты, прямо с начала и сохранить их под теми же именами

    насколько я понимаю можно это сделать с помощью ffmpeg
    но вот какой код писать не понял. Кто-нибудь сталкивался с такой проблемой ?

    или есть видео-редактор в котором можно такой батч запустить ?
     
  2. HatoL

    HatoL

    Регистр.:
    5 фев 2008
    Сообщения:
    206
    Симпатии:
    36
    посмотри в этих пунктах VirtualDub'а:

    1) File -> Run script...
    2) File -> Job control...
    3) File -> Load processing settings...

    Потом есть вариант программы для работы из командной строки - vdub.exe.

    А, вот еще AviSynth вспомнил. Посмотри, может там что найдешь.

    Добавлено через 57 секунд
    Честно признаюсь, никогда подобную задачу не решал, поэтому советую только утилиты, о которых знаю понаслышке.
     
  3. dee_motard

    dee_motard

    Регистр.:
    26 июл 2008
    Сообщения:
    247
    Симпатии:
    76
    обычный бат-файл + ffmpeg, ависинт нам даже и не нужен..

    Для обработки всего каталога получится что-то вроде (пишу по памяти, на работоспособность не проверял)

    Код:
    for %%a in ("*.avi") do 
    (
     ffmpeg -i %%a -f avi -t 120 -vcodec mpeg4 -sameq -acodec copy -ab 192k -y %%a
    )
    
    параметр -t задает продолжительность видео, тобишь файл обрежется после двух минут.
    В данном примере ффмпег может отказаться сохранять файл бо он уже открыт, тогда нужно будет добавить переименование исходного файла перед открытием и его удаление после сохранения 2минутного отрезка под исходным именем.
     
  4. plastix

    plastix Постоялец

    Регистр.:
    15 сен 2008
    Сообщения:
    114
    Симпатии:
    5
    вот такое решение мне еще подсказали на видеохелпе

    .bat файл (с помощью mencoder)

    Код:
    FOR %%F IN ("*.mpg") DO mencoder -ss 00:02:00 -ovc copy -oac copy %%F -o new-%%F
     
  5. plastix

    plastix Постоялец

    Регистр.:
    15 сен 2008
    Сообщения:
    114
    Симпатии:
    5
    В общем долго я провозился - решение такое:

    1) MenCoder http://www.mplayerhq.hu/design7/dload.html

    2) Кидается mencoder.exe в папку, где создается .bat файл и где лежат мпеги. В бат вставляем следующее:

    Код:
    FOR %%F IN ("*.mpg") DO mencoder -ovc copy -oac copy -of mpeg -endpos 00:02:00 %%F -o done/%%F -mpegopts tsaf:vbitrate=5800:muxrate=7500 -noskip -mc 0
    вуаля!
     
  6. dee_motard

    dee_motard

    Регистр.:
    26 июл 2008
    Сообщения:
    247
    Симпатии:
    76
    ну так ты не заменяешь файлы а создаешь копии, тоже самое можно и с ффмпегом было сделать по моему примеру
     
  7. plastix

    plastix Постоялец

    Регистр.:
    15 сен 2008
    Сообщения:
    114
    Симпатии:
    5
    я не успел попробовать твой способ, сегодня наверное попробую. Действительно, я копирую полученные файлы. А ты не знаешь параметр в mencoder который будет поверху записывать или просто указать -o тот же и попрет. Я чего-то не нашел в мануале, тк не особо понимаю в этом деле -)
     
  8. plastix

    plastix Постоялец

    Регистр.:
    15 сен 2008
    Сообщения:
    114
    Симпатии:
    5
    FFMpegом качество хуже получается.

    Я кстати нашел способ батч тримминга под мак. Тот я запускал из под виртуальной машины - вот такое извращение, так что если кому нужно - выложу.
     
  9. HatoL

    HatoL

    Регистр.:
    5 фев 2008
    Сообщения:
    206
    Симпатии:
    36
    а зачем заново кодировать видео? Вырезать нужные куски можно и напрямую в VirtualDub'е (Video -> Direct stream copy). Тогда и скорость намного выше и качество НИЧУТЬ не теряется - какое было в оригинале, такое и осталось.
     
  10. plastix

    plastix Постоялец

    Регистр.:
    15 сен 2008
    Сообщения:
    114
    Симпатии:
    5
    я кодировать пробовал мп4 в мпег. тогда качество хуже.
    а если вырезать куски без перекодировки, то наверное по барабану, что ффмпег что менкодер.

    Я вообще на маке работаю, у нас нет виртуал даба, его только на виртуалки могу запускать.

    А я нашел способ через терминал на ОСХ резать куски (менкодером). 2-3 секунды на каждый клипак уходит - очень быстро
     
Статус темы:
Закрыта.