Как разделить несколько видео из одного файла VOB?

1319
Amirreza Nasiri

Файл VOB (видеообъект) представляет собой расширение DVD, которое может содержать несколько видео. Как я могу разделить эти видео из одного файла VOB на несколько файлов MP4 (или других расширений) на платформе Windows? Я попробовал какой-то сплиттер, но они могли обнаружить только первое видео.

Я также попробовал FFMPEG с параметрами, ffmpeg -1 input.vob output.mp4но в конце один VOB-файл полностью конвертировался в MP4 без разбиения или потери части, и файл mp4 теперь полностью. и неполный результат ffmpeg -i input.vob:

ffmpeg version N-66289-gb76d613 Copyright (c) 2000-2014 разработчики FFmpeg, построенные 15 сентября 2014 г. 22:02:10 с конфигурацией gcc 4.8.3 (GCC)
: --enable-gpl --enable-version3 --disable -w32threads --enable-av
isynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab
le-iconv --enable-libass --enable-libbluray --enable-libbs2b - -enable-libcaca -
enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-lib
modplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrw
b --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinge
r --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --en
able-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis
--enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-
libx265 --enable -libxavs --enable-libxvid --enable-decklink --enable-zlib
libavutil 54. 7.100 / 54. 7.100
libavcodec 56. 1.100 / 56. 1.100
libavformat 56. 4.101 / 56. 4.101
libavdevice 56. 0.100 / 56. 0.100
libavfilter 5. 1.100 / 5. 1.100
libswscale 3. 0.100 / 3. 0.100
libswresample 1. 1.100 / 1. 1.100
libpostproc 53. 0.100 / 53. 0.100
Ввод # 0, mpeg из 'TheFile.VOB':
Продолжительность: 00:03: 45,79, старт: 0,224478, битрейт: 6197 кбит / с
Поток # 0: 0 [0x1bf]: данные: dvd_nav_packet
Поток # 0: 1 [0x1e0]: видео: mpeg1video, yuv420p (телевидение), 352x240 [SAR 49:33 DAR 9
8:45], 1150 кбит / с, 29,97 кадров в секунду, 29,97 тбр, 90 тыс. Тбн, 29,97 тбк
Stream # 0: 2 [0x1c0]: аудио: mp2, 48000 Гц, стерео, s16p, 224 кбит / с.
Необходимо указать хотя бы один выходной файл

0
Вы пробовали Ручной тормоз? Marcelo 9 лет назад 0
@ Марсело Нет, я должен попробовать это :) я напишу результат. Amirreza Nasiri 9 лет назад 0
Если вы разделите кодек, отличный от используемого источника, потребуется преобразование, а преобразование потребует либо потери качества, либо увеличения размера файла. Если вы разделите на тот же кодек, что и исходный код, преобразование может или не может потребоваться в зависимости от используемой программы. Просто что-то иметь в виду. Robin Hood 9 лет назад 0
Гектометр Боюсь, что ffmpeg не может определить главы в VOB. Может, `mplayer` может? Я не могу помочь дальше, к сожалению. slhck 9 лет назад 0

1 ответ на вопрос

1
slhck

With ffmpeg you can use the segment muxer:

ffmpeg -i in.vob -c:v libx264 -c:a aac -strict experimental -b:a 192k \ -map 0:v:0 -map 0:a:0 -f segment -segment_times 1,2,3,5,8,13,21 out%03d.mp4 

Here, the -segment_times option gives the individual durations of the segments in seconds. Use a single -segment_time 5 instead for creating segments of same duration.

The -map 0:v:0 says, take the first video stream (v:0) of the first input file (0:). Same goes for audio. You need to change the v:0 to v:2 to get the third video stream, for example.

Check the H.264 encoding guide for more options regarding quality.

The \ continues the command in Linux shells. YMMV for Windows.

Проблема в том, что полная продолжительность файла VOB не видна. Я использовал VLC и KMPlayer, но они оба показывают время видео, которое включено. например, наш VOB-файл содержит 3 видео продолжительностью 1, 3, 5 минут, поэтому наш файл будет 9 минут. игроки во время воспроизведения второго видео (которое начинается с одного и заканчивается на пятой минуте), просто показывают продолжительность видео (от 0 секунд до 1 минуты). поэтому я не могу угадать точное время для разделения на сегменты. Amirreza Nasiri 9 лет назад 0