Qualité de conversion VOB dans FFmpeg

16

J'essaie de convertir un fichier VOB en mpeg comme ceci:

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

Cependant, la qualité est très mauvaise.

j'ai essayé ./ffmpeg.exe -i VTS_01_2.VOB -vcodec copy out1.mpeg

Mais la taille du fichier est trop grande (90% de l'original - 300 Mo pour une vidéo de 4 minutes), et Windows Movie Maker se bloque en essayant de l'importer.

Comment puis-je obtenir un MPEG de bonne qualité de mon VOB?

slhck
la source

Réponses:

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

Cette commande ne réduit ni la taille ni la qualité. Cela démuxe simplement le VOB et le reconditionne en MPEG. Vous devriez vous retrouver avec exactement la même qualité. La taille change de façon minimale en raison de la perte de la surcharge du conteneur VOB.

Si vous voulez maintenir la qualité et réduire la taille, vous devrez le convertir avec un autre encodeur comme x264 ou XviD en un conteneur MKV ou MP4, par exemple:

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

Cela vous donnera la vidéo H.264 et l'audio AAC. Défini -crf 23pour la qualité vidéo, où moins signifie meilleure qualité (les valeurs saines sont comprises entre 18 et 28). La qualité audio peut être modifiée avec -b:a 192kpour un débit binaire fixe, ou si vous souhaitez utiliser un autre encodeur tel que -c:a libfaac, vous pouvez choisir VBR avec -q:a 100(qualité 100% par défaut).

Stanley Williams
la source
Je vois, c'est une bonne info à savoir. Toujours à la recherche d'un moyen raisonnable de compresser et de maintenir la qualité (4 minutes à une qualité décente devraient être possibles en 10-20 Mo à coup sûr ... peut-être même 50 Mo suffisent).
1
et s'il y a d'autres VOB qui font partie du film. Est-ce que ffmpeg sait les inclure?
dim
1
vous pouvezcat *.VOB > output.vob
dmgl
Pour Windows, si vous devez d' abord fusionner plusieurs fichiers VOB: copy /b "1.vob" + "2.vob" + "3.vob" "temp.vob". Voir aussi stackoverflow.com/a/29729610
Basj
4

J'ai récemment fait de l'encodage VOB après avoir extrait quelques DVD irremplaçables. Utilisation de ffmpeg version 1.2.4out of Homebrew sur OSX:

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

J'ai dû définir -probesizeet -analyzedurationpuisque le fichier VOB de 5,4 Go avait des flux commençant plus tard dans le fichier qui ne sont pas trouvés sans ces options.

Ensuite, le -mapparamètre me permet de choisir les flux à transmettre à la sortie - le flux vidéo, les deux premiers flux audio et le 9e flux, qui sont des sous-titres. Utilisez ffprobe(avec -probesize& -analyzedurationpour voir la liste des flux).

Ajoutez- -metadataen aux flux audio et de sous-titres dans la sortie.

Options d'encodage vidéo après avoir -c:vlu ailleurs .

Enfin, copiez tels quels les flux audio et de sous-titres dans le fichier de sortie. La sortie doit être MKVafin d'intégrer correctement les sous-titres et toutes les métadonnées.

Sur mon Macbook Air 2011, cet encodage a pris environ 6 heures et a craché un fichier MKV de 2,4 Go parfait.

mafrosis
la source
-1

La syntaxe de la réponse précédente ne fonctionne pas sur mon Mac OS. Celui-ci semblait bien fonctionner, avec des options légèrement différentes ( -sameqpour correspondre au quantificateur d'entrée, -sspour le décalage de l'heure de début et -tpour la durée):

ffmpeg -i VTS_01_1.VOB -sameq -strict experimental -ss 1612 -t 28 test.mpg
Jeff
la source
3
Les réponses sont triées par vote et non par heure. Vous devez modifier votre réponse pour indiquer clairement quelle réponse précédente vous voulez dire.
Isaac Rabinovitch
1
Vous devez utiliser une ancienne version, car l' -sameqoption est obsolète. Dans les anciennes versions, utilisez -vcodec/ -acodecau lieu de -c:v/ -c:a.
mark4o