Объединить файлы VOB через командную строку?

Действительно ли возможно объединиться два (или больше) видеофайлы из командной строки? В Windows можно было сделать это:

copy /b VTS_01_1.vob + VTS_01_2.vob + VTS_01_3.vob + VTS_01_4.vob Output.vob

Я нахожу, что это намного легче и быстрее, чем использование специализированной программы GUI. В Ubuntu существует ли эквивалент?

4
задан 12 March 2019 в 12:55

4 ответа

cat VTS_01_*.vob > output.vob

Улучшенная версия (это покажет индикатор выполнения):

cat VTS_O1_*.VOB | pv | dd of=output.vob

Подобный 2-му:

 pv VTS_01_*.vob > output.vob
<час>

, О, и Вы могли также mv output.vob к .mpeg и иметь его игра в VLC или другом videoplayer.

<час>

Используя ffmpeg:

ffmpeg -i "concat:VTS_01_1.VOB|VTS_01_2.VOB|VTS_01_3.VOB|VTS_01_4.VOB" -f mpeg -c copy output.mpeg
<час>

методы с помощью cat НЕ интерпретируют файлы и просто добавляют их вместе. 1 типичной вещью, которую Вы заметите, является легкое отклонение, когда плеер идет от 1 до следующего VOB. Avidemux (GUI), например, также демультиплексирует (который является корректным словом?) файлы, таким образом, это - более гладкий опыт.

<час>

, Если Вы получаете сообщение об ошибке

ac3 в системных потоках MPEG-1, широко не поддерживается, рассмотрите использование vob или DVD muxer для принуждения потока MPEG-2 программы

затем, необходимо будет указать DVD как выходной формат путем корректировки вышеупомянутого ffmpeg команда с ... -f dvd ....

4
ответ дан 23 November 2019 в 11:41

можно использовать эти cat (связывают) команду для этого.

В Вашем случае:

cat VTS_01_1.vob VTS_01_2.vob VTS_01_3.vob VTS_01_4.vob > Output.vob
3
ответ дан 23 November 2019 в 11:41

Если Вы интересуетесь использованием FFmpeg (который открывает возможность конкатенации другой типы среды, менее послушные, чем .vob), можно использовать следующее для примера:

ffmpeg -i "concat:VTS_01_1.vob|VTS_01_2.vob|VTS_01_3.vob|VTS_01_4.vob" -c copy output.vob

я признаюсь, что FFmpeg является 'специализированной' программой, которую Вы предпочли бы не использовать, но отмечать, что другие типы среды могут потребовать транскодирование , прежде чем конкатенация и в этих сервисах FFmpeg's случаев будет требоваться...

Ссылки:

4
ответ дан 23 November 2019 в 11:41

VOB

VOB требует специального ухода, должного их потенциально сложная структура и несовместимости метки времени, так вслепую связывающий их может иметь неожиданные результаты. Необходимо использовать структуру DVD осведомленные инструменты для этого формата.

исходный код FFmpeg идет с инструментом (tools/dvd2concat), который использует lsdvd для создания надлежащего сценария конкатенации:

cd ffmpeg/tools
./dvd2concat path/to/dvd/structure > file.concat
ffmpeg -safe 0 -protocol_whitelist subfile,file,concat -f concat -i file.concat -map 0 -c copy -f dvd output.vob

Другие типы файлов

ffmpeg имеет три метода для конкатенации:

  • concat demuxer - Для общей конкатенации или для того, чтобы сделать так без перекодирования.
  • concat протокол - Подобный просто использованию cat. Для форматов, к которым можно просто присоединиться без проблем (MPEG-1, MPEG 2 пз, DV, rawvideo).
  • фильтр concat - Полезный, если Вы выполняете какую-либо фильтрацию (масштабирование, оверлейные программы, и т.д.).

Также см. Wiki FFmpeg: Конкатенируйте и FAQ FFmpeg: Как я могу связать видеофайлы?

1
ответ дан 23 November 2019 в 11:41

Другие вопросы по тегам:

Похожие вопросы: