S’il y a un problème de fichier source plus ou moins corrompu (images sautées, erreurs de timing,…) une piste est de lancer ffmpeg en ligne de commande. Il est un peu bavard, et tente de corriger ce qui est possible. La capacité de correction de ffmpeg est paramétrable, mais les docs sur le sujet sont loin d’être simples et à la portée du premier utilisateur venu (comme moi).
Ouep, je crois que je vais poster mon problème sur le forum de Handbrake, et je vous tiendrais au courant. Parce que j’ai quand même pas mal d’erreurs dans mon log. L’installation de libdvdcss2 a résolu l’erreur la concernant, mais pas les autres.
Arf, sur leur forum il faut attendre qu’un admin valide le topique avant qu’il soit publié, ceci afin d’éviter le problème des pubs.
Je vais devoir attendre.
De toute façon si le problème est résolu je viendrais poster la solution ici.
Sinon il n’y aurait pas un expert de ffmpeg sur ce forum ?
J’aimerais tester avec ffmpeg pour voir ce que ça donne.
Alors voilà ce que j’aimerais comme paramètres:
Input: plusieurs fichiers.vob
Vidéo: conserver l’aspect ratio, encoder en x265
Audio: encoder en aac 320kbps
Output: conteneur mkv
VIDEO_TS# ls -alrt
total 2102684
drwxr-xr-x 3 slack slack 4096 juin 2 16:53 ..
-rw-r--r-- 1 slack slack 30720 juin 2 19:21 VTS_01_0.IFO
-rw-r--r-- 1 slack slack 30720 juin 2 19:21 VTS_01_0.BUP
-rw-r--r-- 1 slack slack 116736 juin 2 19:21 VIDEO_TS.VOB
-rw-r--r-- 1 slack slack 16384 juin 2 19:21 VIDEO_TS.IFO
-rw-r--r-- 1 slack slack 16384 juin 2 19:21 VIDEO_TS.BUP
-rw-r--r-- 1 slack slack 116736 juin 2 20:33 VTS_02_0.VOB
-rw-r--r-- 1 slack slack 18432 juin 2 20:33 VTS_02_0.IFO
-rw-r--r-- 1 slack slack 18432 juin 2 20:33 VTS_02_0.BUP
-rw-r--r-- 1 slack slack 5111808 juin 2 20:33 VTS_01_1.VOB
-rw-r--r-- 1 slack slack 116736 juin 2 20:33 VTS_03_0.VOB
-rw-r--r-- 1 slack slack 57344 juin 2 20:33 VTS_03_0.IFO
-rw-r--r-- 1 slack slack 57344 juin 2 20:33 VTS_03_0.BUP
-rw-r--r-- 1 slack slack 278528 juin 2 20:33 VTS_02_1.VOB
drwxr-xr-x 2 slack slack 4096 juin 2 20:33 .
-rw-r--r-- 1 slack slack 1073565696 juin 2 20:46 VTS_03_1.VOB
-rw-r--r-- 1 slack slack 1073565696 juin 2 20:46 VTS_03_2.VOB
Voilà c’est tout ce qu’il me faut.
Salut
Pour analyser un fichier vidéo, on peut utiliser l’outil de la suite ffmpeg: ffprobe
Exemple
~/Vidéos$ ffprobe te3.mp4
ffprobe version 3.4.2-2+b1 Copyright (c) 2007-2018 the FFmpeg developers
built with gcc 7 (Debian 7.3.0-16)
configuration: --prefix=/usr --extra-version=2+b1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
WARNING: library configuration mismatch
avcodec configuration: --prefix=/usr --extra-version=2+b1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared --enable-version3 --disable-doc --disable-programs --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libtesseract --enable-libvo_amrwbenc
libavutil 55. 78.100 / 55. 78.100
libavcodec 57.107.100 / 57.107.100
libavformat 57. 83.100 / 57. 83.100
libavdevice 57. 10.100 / 57. 10.100
libavfilter 6.107.100 / 6.107.100
libavresample 3. 7. 0 / 3. 7. 0
libswscale 4. 8.100 / 4. 8.100
libswresample 2. 9.100 / 2. 9.100
libpostproc 54. 7.100 / 54. 7.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'te3.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf57.83.100
Duration: 00:00:08.41, start: 0.033991, bitrate: 4751 kb/s
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1024x576, 4620 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)
Metadata:
handler_name : VideoHandler
Stream #0:1(und): Audio: ac3 (ac-3 / 0x332D6361), 44100 Hz, stereo, fltp, 128 kb/s (default)
Metadata:
handler_name : SoundHandler
Side data:
audio service type: main
```
Oui mais quelle est la commande lorsqu’on a plusieurs fichiers.vob ?
Non sérieusement je préférerais tester un encodage avec ffmpeg comme dit dans mon post ci-dessus.
Ce que j’indique ce n’est evidemment pas pour encoder, il s’agit d’analyser un fichier vidéo, vob ou autre, pour vérifier qu’il n’est pas défectueux AVANT la transformation par un autre outil… comprenne qui pourra
Oui mais quelle est la commande lorsqu’on a plusieurs fichiers.vob ?
Bon j’étais partie pour analyser tous les fichiers.vob mais dès le premier il y a un message d’erreur:
VIDEO_TS# ffprobe VIDEO_TS.VOB
ffprobe version 3.4.2-2+b1 Copyright (c) 2007-2018 the FFmpeg developers
built with gcc 7 (Debian 7.3.0-16)
configuration: --prefix=/usr --extra-version=2+b1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
libavutil 55. 78.100 / 55. 78.100
libavcodec 57.107.100 / 57.107.100
libavformat 57. 83.100 / 57. 83.100
libavdevice 57. 10.100 / 57. 10.100
libavfilter 6.107.100 / 6.107.100
libavresample 3. 7. 0 / 3. 7. 0
libswscale 4. 8.100 / 4. 8.100
libswresample 2. 9.100 / 2. 9.100
libpostproc 54. 7.100 / 54. 7.100
Input #0, mpeg, from 'VIDEO_TS.VOB':
Duration: 00:00:00.10, start: 0.233567, bitrate: 9329 kb/s
Stream #0:0[0x1bf]: Data: dvd_nav_packet
Stream #0:1[0x1e0]: Video: mpeg2video (Main), yuv420p(tv, top first), 720x480 [SAR 8:9 DAR 4:3], 2000 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
Stream #0:2[0x20]: Subtitle: dvd_subtitle
Unsupported codec with id 100357 for input stream 0
edit: même erreur pour les autres fichiers.vob
on dirait que le flux audio n’est pas décodé par ffprobe
Est-ce que la lecture est bonne avec
ffplay VIDEO_TS.VOB
Tu peux aussi ouvrir avec VLC pour voir ce qu’il décode
dans le menu VLC
Outils -> Informations sur les codecs
Pour concaténer (fusionner) plusieurs fichiers, un exemple pour fusionner des clips issus d’un appareil de photo avec extension .MOV (exemple extrait de l’un de mes petits scripts de traitement de mes clips persos) :
$ printf “file ‘%s’\n” *.MOV > films.txt
$ ffmpeg -f concat -i films.txt -c:v libx264 -preset medium -crf 30 -c:a aac film.mp4
La première ligne crée un fichier texte avec la liste des fichiers à concaténer (mis dans un répertoire de travail, par exemple). Ce fichier possède la syntaxe qui va bien pour l’option “concat” de ffmpeg de la seconde ligne.
Cette seconde ligne crée une vidéo mp4.
Les fichiers sources doivent évidemment être nommés de façon à apparaitre dans le bon ordre.
Cela ne supprime évidemment pas la nécessité de visionner (avec vlc ou ffplay) les fichiers sources, ne serait-ce que pour éviter les images fixes des menus du dvd ainsi “transcodé” (pour être poli).
Ok merci pour vos réponses.
Sur le forum de Handbrake, on m’a dit que mon dvd contient une erreur et que Handbrake stoppe lorsqu’il arrive dessus car il l’interprète comme étant la fin de la vidéo.
Il faut que j’essaie avec ffmpeg voilà tout.
J’ai testé avec plusieurs fichiers.vob et ça lit correctement.
Pour ce qui est des options de ffmpeg, il m’est arrivé qu’une vidéo visionnée sans soucis sur le PC soit illisible sur le smartphone
ça peut se contrôler grâce à l’option -profile:v
- Pour Video: h264 (Constrained Baseline)
-profile:v baseline -level 3.0
- Pour Video: h264 (High)
-profile:v high -level 4.0
- Pour Video: h264 (Main)
-profile:v Main -level 4.0
Exemple
ffmpeg -i emily.vob -profile:v baseline -level 3.0 emily-baseline3.mp4
Le baseline est toujours bien lu
Un site pour générer la ligne de commande, généralement les options avconv vont bien dans ffmpeg
Avidemux sait concaténer des fichiers dont le nom à la même racine
Exemple j’ai tous ces fragments
~/Vidéos$ ls vod4*
vod4-10.ts vod4-14.ts vod4-18.ts vod4-21.ts vod4-5.ts vod4-9.ts
vod4-11.ts vod4-15.ts vod4-19.ts vod4-2.ts vod4-6.ts
vod4-12.ts vod4-16.ts vod4-1.ts vod4-3.ts vod4-7.ts
vod4-13.ts vod4-17.ts vod4-20.ts vod4-4.ts vod4-8.ts
Dans Avidemux, je fais ouvrir du 1er fichier vod4-1.ts
Avidemux me propose automatiquement d’ajouter tous les autres
J’ai donc un seul fichier vidéo que je peux traiter avec Avidemux et sauvegarder en entier dans un autre format
Non mais j’ai trouvé d’où vient le problème.
En faite c’est un mauvais rip.
Sur tout les fichiers.vob, il y en a que deux qui contiennent de la vidéo, et ces deux fichiers.vob durent chacun 16 minutes et quelques secondes.
Moi je disais ci-dessus que j’avais une vidéo de 33 minutes à la fin de l’encodage. 2x16 = 32 + les quelques secondes = 33
Pourtant Handbrake me détecte bien une vidéo de 58 minutes de 13 chapitres. Je ne sais pas comment il le détecte mais il le fait =)
Sur le 2ème dvd (c’est un pack de 2 dvd) c’est encore pire, il manque un fichier.vob, ça passe de VTS_03_3.VOB à VTS_03_5.VOB
Bref c’est un mauvais rip. C’est la première fois que je télécharge un mauvais rip, fallait bien que ça arrive un jour.
Donc il n’y a aucun bug de Handbrake, il a bien fait son travail.
Merci pour votre aide et en particulier grandtoubab pour ses derniers posts.
Ah non, finalement, c’est un bug de Deluge…
Il ne m’a pas tout téléchargé, c’est étrange…
Il manque plusieurs fichiers.vob, pourtant le téléchargement est bien à 100%
Je relance le téléchargement, je verrais bien, si ça refait la même j’irais poster le bug sur le forum de Deluge. En tout cas c’est la première fois qu’il me fait ça.
Ah mon avis c’est plutôt un hacker qui s’est amusé a supprimer des fichiers.vob sur mon pc, parce qu’il ne doit pas aimer le p2p. Je ne crois pas à un bug de Deluge.
En tout cas là je l’ai re-téléchargé et réencodé et la vidéo fait bien 58 minutes comme le disait handbrake lorsqu’il n’avait pas tous les vob.