Jak podzielić wiele filmów z jednego pliku VOB?

0

Plik VOB (Video Object) to rozszerzenie nośnika DVD, które może pomieścić wiele filmów. Jak mogę podzielić te filmy z jednego pliku VOB na wiele plików MP4 (lub innych rozszerzeń) na platformie Windows? Próbowałem jakiegoś rozdzielacza, ale mogli wykryć tylko pierwszy film.

Próbowałem również FFMPEG z parametrami, ffmpeg -1 input.vob output.mp4ale na końcu pojedynczy plik VOB został w pełni przekonwertowany do MP4 bez podziału lub utraty części, a plik mp4 jest teraz całkowicie. a niepełny wynik ffmpeg -i input.vobto:

wersja ffmpeg N-66289-gb76d613 Copyright (c) 2000-2014 programiści FFmpeg zbudowani 15 września 2014 22:02:10 z konfiguracją gcc 4.8.3 (GCC)
: --enable-gpl --enable-version3 --disable -w32 wątki --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
enable-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
Input # 0, mpeg, z 'TheFile.VOB':
Czas trwania: 00:03: 45,79, start: 0,224478, przepływność: 6197 kb / s
Strumień # 0: 0 [0x1bf]: Dane: dvd_nav_packet
Strumień # 0: 1 [0x1e0]: Wideo: mpeg1video, yuv420p (tv), 352x240 [SAR 49:33 DAR 9
8:45], 1150 kb / s, 29,97 fps , 29,97 tbr, 90k tbn, 29,97 tbc
Strumień # 0: 2 [0x1c0]: Audio: mp2, 48000 Hz, stereo, s16p, 224 kb / s
Należy podać co najmniej jeden plik wyjściowy

Amirreza Nasiri
źródło
Czy próbowałeś Handbrake?
Marcelo
@Marcelo Nie, powinienem spróbować :) Napiszę wynik.
Amirreza Nasiri
Jeśli podzielisz się na kodek inny niż używany źródło, konwersja BĘDZIE wymagana, a konwersja wymaga utraty jakości lub zwiększenia rozmiaru pliku. Jeśli podzielisz się na ten sam kodek, co konwersja źródłowa może, ale nie musi być wymagana, w zależności od używanego programu. Tylko coś do zapamiętania.
Robin Hood
Hm Obawiam się, że ffmpeg nie może zidentyfikować rozdziałów w VOB. Może mplayermoże? Niestety nie mogę już pomóc.
slhck

Odpowiedzi:

1

Z ffmpeg możesz użyć segmentmultipleksera :

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

Tutaj -segment_timesopcja podaje indywidualne czasy trwania segmentów w sekundach. -segment_time 5Zamiast tego użyj pojedynczego do tworzenia segmentów o tym samym czasie trwania.

-map 0:v:0Mówi, wziąć pierwszy strumień wideo ( v:0) pierwszego pliku wejściowego ( 0:). To samo dotyczy dźwięku. Na przykład musisz zmienić na, v:0aby v:2uzyskać trzeci strumień wideo.

Sprawdź instrukcji kodowania H.264 dla większej liczby opcji dotyczących jakości.

\Kontynuuje polecenie skorup Linux. YMMV dla Windows.

slhck
źródło
Problem polega na tym, że pełny czas trwania pliku VOB nie jest widoczny. użyłem VLC i KMPlayera, ale oba pokazują czas wideo, które jest włączone. na przykład nasz plik VOB zawiera 3 filmy o czasie trwania 1, 3, 5 minut, więc nasz plik będzie trwał 9 minut. gracze podczas odtwarzania drugiego wideo (który zaczyna się od jednego i kończy w piątej minucie), po prostu pokazują czas trwania wideo (od 0 sekundy ro 1 minuta). więc nie mogę odgadnąć dokładnego czasu podziału na segmenty.
Amirreza Nasiri