FFmpeg'de VOB dönüşüm kalitesi


16

Böyle bir mpeg için bir VOB dosyasını dönüştürmek çalışıyorum:

./ffmpeg.exe -i VTS_01_2.VOB -r 24  out1.mpeg

Ancak, kalitesi çok düşük.

denedim ./ffmpeg.exe -i VTS_01_2.VOB -vcodec copy out1.mpeg

Ancak dosya boyutu çok büyük (orijinalin% 90'ı - 4 dakikalık video için 300 MB) ve Windows Movie Maker içe aktarmaya çalışıyor.

VOB'umdan nasıl iyi kalitede bir MPEG alabilirim?


Bu iş parçacığı üzerinde tavsiyelerde bakınız: dönüştürme şifresi çözülen .vobs için .avi ile ffmpeg ubuntu üzerinde
harrymc

Yanıtlar:


28
ffmpeg -i input.vob -c:v copy -c:a copy output.mpg  

Bu komut boyutu azaltmaz veya kaliteyi değiştirmez. Bu sadece VOB'u çıkarır ve MPEG olarak yeniden paketler. Aynı kalitede kalmanız gerekir. VOB konteynerinin ek yükünü kaybetmesi nedeniyle boyut minimum düzeyde değişir.

Kaliteyi korumak ve boyutu azaltmak istiyorsanız, bunu x264 veya XviD gibi başka bir kodlayıcıyla bir MKV veya MP4 kabına dönüştürmeniz gerekecektir, örneğin:

ffmpeg -i input.vob -c:v libx264 -c:a aac -strict experimental output.mp4

Bu size H.264 video ve AAC ses sunar. -crf 23Daha az daha iyi kalite anlamına gelen video kalitesi için ayarlayın (aklı başında değerler 18-28 arasındadır). -b:a 192kSabit bit hızı için ses kalitesi ile değiştirilebilir veya gibi başka bir kodlayıcı kullanmak -c:a libfaacisterseniz, -q:a 100(% 100 varsayılan kalite) ile VBR'yi seçebilirsiniz .


Görüyorum ki, bu iyi bir bilgi. Kaliteyi sıkıştırmak ve korumak için hala makul bir yol arıyor (10-20 MB'da iyi kalitede 4 dakika mümkün olmalı ... belki 50MB bile iyidir).

1
filmin bir parçası olan başka bir VOB varsa. Ffmpeg bunları dahil etmeyi biliyor mu?
Paz

1
yapabilirsincat *.VOB > output.vob
dmgl

Windows için, öncelikle birden VOBS'ta birleştirmek gerekirse: copy /b "1.vob" + "2.vob" + "3.vob" "temp.vob". Ayrıca bkz. Stackoverflow.com/a/29729610
Basj

4

Geçenlerde birkaç vazgeçilmez DVD ripping sonra bazı VOB kodlama yapıyorum. ffmpeg version 1.2.4Homebrew dışı OSX'de kullanma :

ffmpeg -probesize 2G -analyzeduration 2G \
    -i VTS_04.VOB \
    -map 0:0 -map 0:1 -map 0:2 -map 0:9 \
    -metadata:s:a:0 language=eng -metadata:s:a:0 title="English Stereo" \
    -metadata:s:a:1 language=jap -metadata:s:a:1 title="Japanese Stereo" \
    -metadata:s:s:0 language=eng -metadata:s:s:0 title="English"
    -c:v libx264 -filter:v yadif -crf 18 -level 3.1 -tune film \
    -c:a copy \
    -c:s copy \
    OutputMovie.mkv

Ayarlamak zorunda kaldım -probesizeve -analyzeduration5.4GB VOB dosyasında daha sonra bu seçenekler olmadan bulunmayan akışlar vardı.

Daha sonra -mapparametre çıkışa hangi akışların geçeceğini seçmeme izin veriyor - video akışı, ilk iki ses akışı ve altyazı olan 9. akış. Kullanın ffprobe(ile -probesize& -analyzedurationakışlarının listesini görmek için).

-metadataÇıktıdaki ses ve altyazı akışlarına bir miktar ekleyin .

Başka bir yerde-c:v okuyabildiğiniz video kodlama seçenekleri .

Son olarak as-as kopyala ses ve altyazı akışları çıktı dosyasına. MKVAltyazıları ve tüm meta verileri doğru şekilde gömmek için çıktı olmalıdır .

Macbook Air 2011'de, bu kodlama yaklaşık 6 saat sürdü ve mükemmel bir 2.4GB MKV dosyası tükürdü.


-1

Önceki yanıttaki sözdizimi Mac OS'ımda çalışmıyor. Bu, biraz farklı seçeneklerle ( -sameqgiriş nicelleştiriciyle eşleşmek -ss, başlangıç ​​zamanı ofseti ve -tsüre için) iyi çalışıyor gibi görünüyordu:

ffmpeg -i VTS_01_1.VOB -sameq -strict experimental -ss 1612 -t 28 test.mpg

3
Yanıtlar zamana göre değil, oylamaya göre sıralanır. Daha önce hangi cevabı ifade ettiğinizi netleştirmek için cevabınızı düzenlemelisiniz.
Isaac Rabinovitch

1
-sameqSeçenek eski olduğu için eski bir sürüm kullanıyor olmalısınız . Eski sürümler kullanmak ise -vcodec/ -acodecyerine -c:v/-c:a .
mark4o
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.