#1 Le 07/12/2010, à 23:50
- lox
DVD en MPEG2, découpé en séquences
Bonjour,
J'ai un caméscope Sony DVD. Le logiciel de Sony pour windows extrait très bien les DVD en format MPEG2, en plusieurs séquences (un fichier pour chaque séquence filmée)
J'aimerai faire la même chose avec Ubuntu vu que le logiciel sony ne tourne ni sous wine ni sous virtualbox (il ne detecte pas le camescope à l'installation ce qui est nécessaire)
Quand je branche mon camescope, il est détecté comme un lecteur de DVD par ubuntu ce qui est normal. J'ai donc accès au contenu des DVD et je peu copier les .vob. Maintenant j'aimerai les convertir au format mpeg (sans perte) et qu'ils soient découpés en séquences pour les archiver en haute qualité et pouvoir ensuite en faire des montages.
Quelqu'un a une idée?
Dernière modification par lox (Le 08/12/2010, à 00:15)
Lox
Hors ligne
#2 Le 07/12/2010, à 23:57
- xabilon
Re : DVD en MPEG2, découpé en séquences
Salut
Le format DVD-vidéo (dans les fichiers vob) est déjà en MPEG2, donc il n'y a pas de conversion à faire.
il faut savoir ensuite comment ton camescope gère tout ça. Incorpore-t-il les séquences dans plusieurs suites de fichiers vob, ou comme différents chapitres d'une seule suite ?
Autrement dit, as-tu une seule suite de fichier VTS_01_0. VOB, VTS_01_1.VOB, etc ... ou plusieurs suites VTS_01_x.VOB, VTS_02_x.VOB, etc ... ?
Pour passer un sujet en résolu : modifiez le premier message et ajoutez [Résolu] au titre.
Hors ligne
#3 Le 08/12/2010, à 00:08
- lox
Re : DVD en MPEG2, découpé en séquences
Le format DVD-vidéo (dans les fichiers vob) est déjà en MPEG2, donc il n'y a pas de conversion à faire.
il faut savoir ensuite comment ton camescope gère tout ça. Incorpore-t-il les séquences dans plusieurs suites de fichiers vob, ou comme différents chapitres d'une seule suite ?
Merci pour cette réponse rapide.
Je savais que c'était du mpeg2. Mais si je mets le .vob directement dans, par exemple, pitivi, j'ai comme des lignes horizontales sur l'image que je n'ai pas en lisant directement a partir du caméscope.
Le caméscope me crée un .vob unique pour toutes les séquences filmées (VTS_01_1.VOB), d'ou mon besoin qu'il soit découpé.
Lox
Hors ligne
#4 Le 08/12/2010, à 00:15
- xabilon
Re : DVD en MPEG2, découpé en séquences
Je sais que K9Copy peut le faire : extraction en MPEG2 avec un fichier par chapitre. Peut-être que DVD95 peut le faire aussi.
En supposant que les séquences correspondent aux chapitres
Pour passer un sujet en résolu : modifiez le premier message et ajoutez [Résolu] au titre.
Hors ligne
#5 Le 08/12/2010, à 00:29
- lox
Re : DVD en MPEG2, découpé en séquences
Je sais que K9Copy peut le faire : extraction en MPEG2 avec un fichier par chapitre. Peut-être que DVD95 peut le faire aussi.
En supposant que les séquences correspondent aux chapitres
Merci, mais hélas K9Copy est un programme KDE et je ne souhaite pas installer les bibliothèques de kde. DVD95 me dit "Erreur de conversion ...." et ne propose de toute façon pas de créer des fichiers MPEG ni de découper les séquence (qui sont effectivement des chapitres).
Lox
Hors ligne
#6 Le 08/12/2010, à 00:36
- xabilon
Re : DVD en MPEG2, découpé en séquences
Oui, bon, c'est pas ça qui va étouffer ton disque dur, surtout que tu as peut-être déjà les bibliothèques Qt4 installées (si tu utilises VLC)
Sinon, il y a peut-être moyen avec mplayer en ligne de commande, avec son option -dumpstream. Il faudrait se pencher sur le (volumineux) manuel de mplayer, pour voir l'extraction par chapitre.
Essaye déjà :
mplayer -dumpstream dvd://1 -dumpfile video.mpeg
et ouvre video.mpeg avec Pitivi, voyons si tu as toujours des défauts d'affichage
Avidemux peut faire la même chose en graphique
Dernière modification par xabilon (Le 08/12/2010, à 00:38)
Pour passer un sujet en résolu : modifiez le premier message et ajoutez [Résolu] au titre.
Hors ligne
#7 Le 08/12/2010, à 00:47
- lox
Re : DVD en MPEG2, découpé en séquences
Sinon, il y a peut-être moyen avec mplayer en ligne de commande, avec son option -dumpstream. Il faudrait se pencher sur le (volumineux) manuel de mplayer, pour voir l'extraction par chapitre.
Essaye déjà :mplayer -dumpstream dvd://1 -dumpfile video.mpeg
et ouvre video.mpeg avec Pitivi, voyons si tu as toujours des défauts d'affichage
Arf...
Playing dvd1://1.
No stream found to handle url dvd1://1
J'ai essayé:
sr1://1
sr0://1
/dev/sr1://1
/dev/sr0://1
et même
/media/SONY_MOBILE://1
Lox
Hors ligne
#8 Le 08/12/2010, à 00:56
- lox
Re : DVD en MPEG2, découpé en séquences
Il fallait spécifier le périphérique dvd avec -dvd-device /dev/sr1
Bon c'est en cours et ça a l'air un peu bloqué, j'ai plein d'erreurs comme:
*** libdvdread: CHECK_VALUE failed in /build/buildd/libdvdread-4.1.3/src/nav_read.c:263 ***
*** for dsi->dsi_gi.zero1 == 0 ***
Mais bon je vais laisser tourner un moment pour voir.
Lox
Hors ligne
#9 Le 08/12/2010, à 01:04
- xabilon
Re : DVD en MPEG2, découpé en séquences
Mouais ... peut-être le DVD généré par ton camescope n'est pas "tout à fait" standard.
Essaye avec Avidemux (en ouvrant le fichier VOB)
Pour passer un sujet en résolu : modifiez le premier message et ajoutez [Résolu] au titre.
Hors ligne
#10 Le 08/12/2010, à 01:20
- lox
Re : DVD en MPEG2, découpé en séquences
Mouais ... peut-être le DVD généré par ton camescope n'est pas "tout à fait" standard.
Essaye avec Avidemux (en ouvrant le fichier VOB)
J'aivais essayé avec avidemux, mais il sort en erreur.
C'est pas grave, cela a fonctionné nickel avec mplayer Merci beaucoup.
Maintenant il me reste deux choses pour remplacer le logiciel sony:
- détecter le nombre de chapitres pour pouvoir les extraires en une commande (avec un script sh)
- le plus difficile: dater automatiquement les fichiers, que le nom des fichiers soient la date de prise de vue. Cette information doit bien être quelque part car quand je lis le dvd directement, j'ai un sous titre (que je peux activer ou désactiver) avec la date de prise de vue...
Une idée?
Lox
Hors ligne
#11 Le 08/12/2010, à 01:29
- lox
Re : DVD en MPEG2, découpé en séquences
Ah ben non en fait mplayer m'a sortit tous les chapitre dans le fichier video.mpeg...
Et par défaut le film de sortie ne se lit pas en 16:9, il faut que je l'active manuellement. (Résolu avec l'option -chapter, mais je ne trouve toujours pas comment connaitre le nombre de chapitre du dvd)
Quelle galère.
Dernière modification par lox (Le 08/12/2010, à 01:35)
Lox
Hors ligne
#12 Le 08/12/2010, à 01:56
- xabilon
Re : DVD en MPEG2, découpé en séquences
Tu peux aussi extraire les chapitres avec mencoder :
mencoder dvd://1 -chapter 1 -ovc copy -oa copy -o chapitre1.mpg
Remarque : j'ai du mettre - chapter 1-1 pour extraire le chapitre 1, sinon ça prenait tout le film.
Si la date est un fichier de sous-titres, alors il est dans les sous-titres des fichiers VOB
Consulte cette page : http://doc.ubuntu-fr.org/encodage_dvd_mkv
Elle présente les différentes étapes d'extraction d'un DVD
Le logiciel Sony est un logiciel dédié à une tâche pour un certain type de matériel, qui organise les données d'une certaine façon.
Le logiciel sait donc comment ces données sont organisées, et sait où aller les chercher.
Quand on le fait à la main, ben faut tout aller chercher soi-même ...
Pour passer un sujet en résolu : modifiez le premier message et ajoutez [Résolu] au titre.
Hors ligne
#13 Le 08/12/2010, à 03:10
- lox
Re : DVD en MPEG2, découpé en séquences
Bon j'espère que je vais y arriver. Ça pourra servir a plein de personne et je compte bien l'intégrer dans la documentation une fois le script fini.
Voilà ou j'en suis:
o Extraire un chapitre spécifique, example pour le chapitre 2:
mplayer -dumpstream dvd://1 -dvd-device /dev/sr1 -chapter 2 -dumpfile video.mpeg
o Pour intégrer cela a un script sh il me faut la liste des chapitres que j'obtiens avec:
dvdxchap /dev/sr1
Mais là je n'arrive pas a récupérer les numéros de chapitres, j'ai essayé avec
dvdxchap /dev/sr1 | egrep ^CHAPTER[0-9]+=
Mais ça ne capture pas QUE les numéros des chapitres...
o Ensuite il me restera a récupérer le sous-titre de la première frame de chaque chapitre, pour le nom des fichiers, mais c'est pas gagné....
Dernière modification par lox (Le 08/12/2010, à 03:11)
Lox
Hors ligne
#14 Le 08/12/2010, à 03:30
- xabilon
Re : DVD en MPEG2, découpé en séquences
Ben je t'ai aiguillé sur les outils, mais pour ton script je peux pas t'aider. Peut-être dans la section "Développement et programmation" ...
Tu n'as pas besoin des numéros de chapitre, mais simplement du nombre de chapitres, pour faire une boucle d'extraction de chacun.
Pour les sous-titres, ça peut effectivement être compliqué. Il est possible que ceux-ci ne soient pas sous forme de fichier texte, mais d'images avec fond transparent
Pour passer un sujet en résolu : modifiez le premier message et ajoutez [Résolu] au titre.
Hors ligne
#15 Le 08/12/2010, à 03:40
- lox
Re : DVD en MPEG2, découpé en séquences
Ben je t'ai aiguillé sur les outils, mais pour ton script je peux pas t'aider. Peut-être dans la section "Développement et programmation" ...
Effectivement tu m'as bien aidé, merci.
Tu n'as pas besoin des numéros de chapitre, mais simplement du nombre de chapitres, pour faire une boucle d'extraction de chacun.
Pour sur, mais dvdxchap retourne la liste des chapitres et je n'ai pas trouvé d'autre outil pour l'instant
Pour les sous-titres, ça peut effectivement être compliqué. Il est possible que ceux-ci ne soient pas sous forme de fichier texte, mais d'images avec fond transparent
C'est bien du texte car le temps s'incrémente et qu'il apparait différemment suivant le lecteur. Je continue d'investiguer.
Lox
Hors ligne
#16 Le 08/12/2010, à 07:04
- lox
Re : DVD en MPEG2, découpé en séquences
Voila le script attaché.
Il ne me manque plus qu'a pouvoir extraire le sous titre de la première image de chaque chapitre au format text....
#!/bin/sh
if test $# -lt 2; then
echo "Usage: $0 DVD_DEVICE OUTPUT_DIR"
exit 1
fi
TITLE=1;
CHAPTERS=`dvdxchap "$1" 2> /dev/null | egrep ^CHAPTER[0-9]+= | grep -oEi '[0-9]+=' | grep -oEi '[0-9]+'`
for c in $CHAPTERS;
do
FILE="$2/Chapter$c.mpeg";
mplayer -dumpstream dvd://$TITLE -dvd-device "$1" -chapter $c -dumpfile "$FILE" 2> /dev/null;
done;
Lox
Hors ligne
#17 Le 10/12/2010, à 17:24
- twocats
Re : DVD en MPEG2, découpé en séquences
Remplace :
CHAPTERS=`dvdxchap "$1" 2> /dev/null | egrep ^CHAPTER[0-9]+= | grep -oEi '[0-9]+=' | grep -oEi '[0-9]+'`
par :
CHAPTERS=`dvdxchap "$1" 2> /dev/null | awk '/Ch/ {print $2}'`
C'est beaucoup plus simple.
Les ';' en fin de ligne sont inutiles. Si tu n'as pas de contrainte je te conseil de mettre bash (si tu as bash d'installer) en shebang plutôt que sh, il offre beaucoup plus de possibilités.
La réponse est 42
Hors ligne