FFMpeg открыть цепочку DVD VOB?
Я новичок в FFMpeg, поэтому это может быть глупый вопрос, но я не вижу ответа в документации.
Я хочу декодировать кадры из файлов DVD vob. Открытие первого VOB в группе работает нормально, но как я могу сказать ffmpeg, чтобы перейти к следующему VOB и прочитать все VOBs на DVD?
У меня есть файлы VOB в папке на жестком диске.
4 ответов
формат VOB является подмножеством в формате MPEG, поэтому вы должны иметь возможность комбинировать VOBs, которые вы хотите прочитать, так же, как и данные mpeg: путем их объединения.
cat first.VOB second.VOB third.VOB | ffmpeg -i - outfile.mp4
поднимать комментарий Мэтта Галлахера для увеличения долговечности/видимость:
более новые версии ffmpeg поддерживают конкатенацию в качестве оператора входного файла. Так что вы могли бы использовать...
ffmpeg -i concat:VTS_01_0.VOB\|VTS_01_1.VOB\|VTS_01_2.VOB outfile.mp4
вы можете фактически использовать функциональность конкатенации ffmpegs builtin, которую, я думаю, вы ищете:
ffmpeg -i "concat:$(echo *.VOB|tr \ \|)" -f mpeg -c copy -sn -y combined.mpg
см.: http://ffmpeg.org/trac/ffmpeg/wiki/How%20to%20concatenate%20(join,%20merge)%20media%20files
встроенная функциональность concatenate, похоже, основана на *NIX и не работает на Windows для меня. На Windows VobMerge казалось, работал, чтобы присоединиться к соответствующим файлам VOB (которые для основного фильма на DVD, казалось, были установлены, начиная с 1 ГБ).
дополнения
вы также можете присоединиться к VOB-файлам в Windows непосредственно из командной строки:
copy /b "vob1.vob" + "vob2.vob" + "vob3.vob" "voboutput.vob"
вы можете опустить цитаты, Если есть нет пробелов в именах файлов, но обязательно помните /b
и +
знаки.
в windows я предпочитал конкатенацию" рефакторинг", а также не полагаться на предопределенные имена файлов:
copy /b e:\VIDEO_TS\vts*.vob temp.vob
ffmpeg -i temp.vob .... newfile.ogg
/b означает: двоичная копия; в противном случае новые строки и такие обрабатываются по-разному.
предостережения:
- иногда есть файлы VOB, которые не являются частью фильма, и я не мог найти автоматический способ определить, что есть что
- на медленных системах ввода-вывода это добавляет огромное время свиньи: требуется время, чтобы написать и прочитать темп файл.