J'essaie de convertir un fichier VOB copié à partir d'un DVD en avi dans Ubuntu 13.10. J'ai essayé dvdrip
, ce qui a échoué en raison d'une erreur de comptage d'images ou quelque chose. J'ai également essayé acidrip, mais il a toujours choisi une piste audio que je ne voulais pas utiliser. Je préférerais avoir une solution en ligne de commande pour créer un avi avec les fonctionnalités suivantes:
- utilisable avec mplayer (c'est-à-dire en utilisant les fonctions pas à pas)
- avec le sous-titre requis (ou personne du tout)
- avec la bonne piste audio
- avec vidéo et audio synchronisés
J'ai essayé quelques - uns ffmpeg
et les avconv
commandes et a réussi à créer un fichier AVI, mais la vidéo et de l' audio étaient complètement désynchronisés. Alors, quelles options dois-je utiliser pour convertir le fichier VOB en fichier avi?
J'apprécierais quelques explications sur les options suggérées!
Information additionnelle:
La
ffmpeg
commande donne la sortie suivante pour le fichier d'entréeInput #0, mpeg, from 'Videos/Test/VIDEO_TS/VTS_01_1.VOB': Duration: 00:04:53.32, start: 0.045500, bitrate: 29284 kb/s Stream #0.0[0x1e0]: Video: mpeg2video (Main), yuv420p, 720x480 [PAR 8:9 DAR 4:3], 7500 kb/s, 27.68 fps, 59.94 tbr, 90k tbn, 59.94 tbc Stream #0.1[0x82]: Audio: ac3, 48000 Hz, 5.1, s16, 384 kb/s Stream #0.2[0x80]: Audio: ac3, 48000 Hz, 5.1, s16, 448 kb/s Stream #0.3[0x81]: Audio: ac3, 0 channels [buffer @ 0x15ca6e0] w:720 h:480 pixfmt:yuv420p
La commande suivante
ffmpeg -i Videos/Test/VIDEO_TS/VTS_01_1.VOB -ss 589 -t 274 -sameq -acodec copy -ab 320k output.avi
par exemple, a entraîné un crash de ma session Ubuntu.
La commande suivante
avconv -i Videos/Test/VIDEO_TS/VTS_01_1.VOB -acodec copy -vcodec copy output.avi
par exemple, a entraîné l'erreur suivante:
Application provided invalid, non monotonically increasing dts to muxer in stream 1: 374 >= 374 av_interleaved_write_frame(): Invalid argument
La commande suivante
avconv -i Videos/Test/VIDEO_TS/VTS_01_1.VOB -f avi -c:v mpeg4 -b:v 800k -g 300 -bf 2 -c:a libmp3lame -b:a 128k output.avi
par exemple, a entraîné l'erreur suivante:
Error while opening encoder for output stream #0:1 - maybe incorrect parameters such as bit_rate, rate, width or height
La commande suivante
avconv -i Videos/Test/VIDEO_TS/VTS_01_1.VOB -f avi -c:v mpeg4 -b:v 800k -g 300 -bf 2 -c:a ac3 -b:a 128k output.avi
par exemple, semblait fonctionner pour certains cadres. Mais très vite j'ai rencontré de nombreuses erreurs de forme
[ac3 @ 0x120d480] frame sync error Error while decoding stream #0:1 frame CRC mismatch
La commande suivante
mencoder Videos/Test/VIDEO_TS/VTS_01_1.VOB -oac copy -ovc x264 -x264encopts bitrate=2500 -o output.avi
a fait une conversion, mais (i) utilise des sous-titres bien que je ne veuille pas les utiliser (ii) s'est trompé (l'audio et la vidéo sont terriblement mal placés) et (iii) semble être plus lent que le film ne le fait réellement (peut prendre 2 heures pour un film de 90 minutes).
J'ai essayé de commander donné ici (troisième message de Xeratul), mais il s'est arrêté avec l'erreur
FATAL: Cannot initialize video driver.
J'ai essayé la suggestion faite ci-dessous pour regarder la page mencoder . Cette page propose d'utiliser deux passes:
le premier lit des informations sur le film, le second utilise ces informations pour encoder.
mais il n'est pas expliqué non plus quelles informations extraire ni comment les utiliser dans le deuxième passage. J'ai donc utilisé la commande suivante:
mencoder Videos/Test/VIDEO_TS/VTS_01_1.VOB -nosound -ovc x264 \ -x264encopts direct=auto:pass=2:bitrate=900:frameref=5:bframes=1:\ me=umh:partitions=all:trellis=1:qp_step=4:qcomp=0.7:direct_pred=auto:keyint=300 \ -vf scale=-1:-10,harddup -o video.avi
qui a converti la vidéo, mais avec un sous-titre indésirable. On ne sait pas du tout comment je peux éviter d'utiliser un sous-titre.
avconv
ensuite pour convertir les fichiers VOB en avi. La commande a avconv -i Videos/Test/VIDEO_TS/VTS_01_1.VOB -acodec copy -vcodec copy test.avi
donné une erreur Application provided invalid, non monotonically increasing dts to muxer in stream 1: 374 >= 374 av_interleaved_write_frame(): Invalid argument
...
avconv -i snatch_1.vob -f avi -c:v mpeg4 -b:v 800k -g 300 -bf 2 -c:a libmp3lame -b:a 128k snatch.avi
essayez ceci
Error while opening encoder for output stream #0:1 - maybe incorrect parameters such as bit_rate, rate, width or height
mencoder yourvob -oac copy -ovc x264 -x264encopts pass=1:preset=veryslow:fast_pskip=0:tune=film:frameref=15:bitrate=3000:threads=auto -nosub -o /dev/null
alors mencoder yourvob -oac copy -ovc x264 -x264encopts pass=2:preset=veryslow:fast_pskip=0:tune=film:frameref=15:bitrate=3000:threads=auto -nosub -o video.avi
- a pris cela en partie de l'Arch doc @ dg99 lié.
ffmpeg
est dépréciée depuis il y a longtemps, vous êtes censé utiliser son propre successeuravconv
.