Как конвертировать VOB-файлы в mp4 (Linux) · Заметки

Допустим, у нас есть каталог VOB файлов с видеодиска, из которых хочется получить один файл, например, для удобства просмотра на смарт-ТВ по сети.

  1. Убираем с дороги файлы других расширений и VOB-файлы очень маленькой длины (единицы килобайт) - это какая-то магия видеодисков, нам они не нужны. В случае сомнений, посмотрите, что в них, с помощью видеоплеера - скорее всего, они не играются или там просто чёрный кадр. Если там короткое видео с какой-нибудь заставкой - можно оставить.
  2. Выявляем разрезанные по размеру последовательности файлов. Допустим, для VTS_01 есть: VTS_01_0.VOB, VTS_01_1.VOB, VTS_01_2.VOB и мы видим, что файлы с номерами 0 и 1 имеют длину ровно 1024М, а номер 2 какой-то более короткий. Это значит, что их надо склеить:
    cat VTS_01_0.VOB VTS_01_1.VOB VTS_01_2.VOB > VTS_01.VOB.
    Примечание: этот шаг может быть не обязателен, но иногда ffmpeg на таких нарезках на следующем шаге падает.
    Исходные файлы после склейки убираем с дороги, оставляем склеенный.
  3. Конвертируем VOB-ы в mp4:
    for X in *.VOB ; do ffmpeg -i $X -c copy $X.mp4 ; done
    VOB-файлы больше не нужны, убираем в другой каталог.
  4. Создаём список файлов для склейки окончательного файла, вида:
    file VTS_01.VOB.mp4
    file VTS_02_0.VOB.mp4
    file VTS_02_1.VOB.mp4
    file VTS_03_1.VOB.mp4
    file VTS_04_1.VOB.mp4

    Можно это сделать так:
    (for X in *.mp4 ; do echo "file $X"; done) > list.txt
    Убедитесь, что список получился в правильном порядке, при необходимости отредактируйте.
  5. Склеим файлы по списку в одно видео:
    ffmpeg -safe 0 -f concat -i list.txt -c copy output.mp4

Готово!
Примечание: необходимость шага 3 не проверял, обоснование не знаю :)


Tags: Linux, Видео.


Comments:

No Comments for this post yet...

Leave a comment:

Your email address will not be displayed on this site.
Your URL will not be displayed on this site. Comments containing URL's of non-personal pages may be removed.
Confirmation Code:
Human Confirmation Code (Captcha)

HTML tags and "<", ">" symbols are not allowed. Links will not be converted to hyperlinks. Any commercials are removed and reported as abuse.

Archives

                                                                                                                                                                                                                                                                   


© Sergey A. Galin, 1998-2021 sageshome.net/blog/