Witam
Jestem początkujący jeśli chodzi o obsługę programu ffmpeg, a również specyfikę formatów audio i video, kodeków itp.
Mam pliki BUP, IFO i VOB, które wzięły się z płyt DVD-Video, a te z kolei są wynikiem przegrywania kaset VHS za pomocą przegrywarki SHARP VRC/DVD Recorder Combination DV-RW360S(B). Gdy otwieram (za pomocą VLC media player) plik VIDEO_TS.IFO, wszystko odtwarza się prawidłowo, wartość całkowitego czasu trwania też jest OK. Gdy natomiast otwieram VTS_01_1.VOB (albo z inną cyfrą na końcu), odtwarza się odpowiedni fragment filmu od początku do końca, ale wyświetlająca się wartość całkowitego czasu jest niezgodna z prawdą. To pewnie jest powodem problemu z importem tych plików do programu montażowego (u mnie Adobe Premiere Elements 4), który najczęściej wczytuje tylko fragmenty zawartości tych plików VOB.
Właściwości (poza długością) wideo i audio tych plików są dla każdego takie same i wydają się być OK. Trochę szukałem i kombinowałem, aż w końcu trafiłem na program ffmpeg i polecenie, które prawie rozwiązuje mój problem. Gdy wpiszę komendę (przykładowe ścieżki do plików):
ffmpeg -i "D:\VHS1\VTS_01_1.VOB" -target pal-dvd "D:\VHS1-P\VTS_01_1.vob"
trochę czekam, po czym wyświetla mi się np. takie podsumowanie:
frame=45147 fps=248 q=11.6 Lsize= 1448416kB time=00:30:05.80 bitrate=6570.7kbits/s dup=2 drop=0 speed=9.93x
video:1322842kB audio:98738kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 1.887726%
i dostaję plik, który wyświetla już prawidłową długość i importuje się do programu montażowego w całości. Problem tylko w tym, że niektóre z pozostałych właściwości pliku wynikowego są inne niż źródłowego i wynik zajmuje więcej miejsca na dysku. Poniżej strzałki pokazują, które właściwości ulegają zmianie (brak strzałki oznacza, że wartość pozostaje niezmieniona):
Obraz-kodek: MPEG-1/2 Video (mpgv)
wymiary: 720x576
szybkość danych: 6116 kb/s –> 9000 kb/s
całkowita szybkość transmisji bitów: 6372 kb/s –> 9448 kb/s
liczba klatek na sekundę: 25
zdekodowany format: Planar 4:2:0 YUV
Dźwięk-kodek: A52 Audio (aka AC3) (a52)
bitrate: 256 kb/s –> 448 kb/s
kanały: stereo
częstotliwość próbkowania: 48 kHz
rozmiar (na przykładzie jednego z plików): 0,99 GB --> 1,38 GB
Wersja programu: ffmpeg-20161107-34aeb5d-win64-static.
Pytanie: jak zmodyfikować podaną przeze mnie komendę, żeby wynikowy plik miał naprawioną długość, ale żeby nie zyskiwał na rozmiarze i nie tracił na jakości (choć już teraz zdaje się, że jakość się nie pogarsza)? Prawdopodobnie trzeba mu kazać nie zmieniać tych właściwości video i audio, które on zmienia tak jak pokazałem powyżej - tylko jak?