Vous n'êtes pas identifié(e).
Bravo à toi aussi enicar !
Merci. Il me semble que j'ai toujours ton script que je n'ai jamais utilisé. Ça vaudrait peut-être
le coup de voir ce qui fonctionne ou pas. À toi de me dire.
Hors ligne
Remarque que ce décalage entre le début de la piste vidéo et la piste son est quelque chose
d'assez courant, mais général ça ne pose pas de problème.
Quand j'avais fait ce script qui ressemble à ce que vous voulez faire, j'avais aussi eu des problèmes de décalage vidéo audio.
La solution que j'avais trouvé était des riper le titre du DVD en vob et de le convertir vidéo et audio simultanément
Pour extraire en vob voici la commande que j'utilisais:
et pour convertir le vob en mkv (x264 et aac) je faisais cela avec une commande "classique" avec FFmpeg (en utilisant les map du fichier vob pour les diverses stream vidéo, audio, sous-titre).
Lien du (vieux) script: https://debian-facile.org/utilisateurs: … :dvd6clone
NB:
Vu que cela fait longtemps que je n'ai retouché à ce script, il presque certain qu'il y a quelques bug mais peut-être qui pourra vous aider... en fait c'est juste pour le partage d'astuce (sens aucune prétention).
Dernière modification par Slyfox (01-09-2019 00:57:46)
Hors ligne
Cette détectetion est à placer juste après la création du vob, et donc
avant les différents tests pour savoir dans quel cas on se trouve.
Pour utiliser la variable « DIF », il suffit de la placer
devant le -y des commandes ffmpeg, en utilisant
C'est tout.
J'ai mis 200 frames pour le test, ça peut être changé bien sûr.
Fais à ta guise.
Je pense que la solution qui me plaît le mieux et de faire faire tout
cela à yadif avec :
que je t'avais déjà proposé.
Hors ligne
Merci. Il me semble que j'ai toujours ton script que je n'ai jamais utilisé. Ça vaudrait peut-être
le coup de voir ce qui fonctionne ou pas. À toi de me dire.
Honnêtement oui cela vaudrait la peine, je vais voir si j'ai le temps de le faire... (mais quand ça je ne sais pas, je suis bien occupé ces temps)
Hors ligne
@Anonyme donc le problème que tu as exposé post #429 était du à ce décalage entre
le son et la vidéo, c'est ça ?
Parce que là je ne comprends plus ce que tu cherches à faire https://debian-facile.org/img/smilies/x … chhead.gif
Remarque que ce décalage entre le début de la piste vidéo et la piste son est quelque chose
d'assez courant, mais en général ça ne pose pas de problème.
On ne peut pas dire, je pense, que c'est un décalage. ffmpeg analyse les bandes audios dans le fichier et en trouve une "sans audio"
https://trac.ffmpeg.org/ticket/386
Je retiens ça :
Exemple : le dump
L'analyse :
Donc:
Ce qui amène à :
logique.
Avec ffprobe sur le fichier :
Tiens, mieux, sur un DVD " TELEPHONE Public, avec le groupe TELEPHONE", j'ai un reportage de 45 minutes avec aucune bande son. C'est pas beau ça ? Même Handbrake le signal
Regarde un peu pour ce titre :
Au dump on a une info sur l'audio:
et l'analyse pas d'audio :
Dernière modification par Anonyme (01-09-2019 10:07:44)
enicar a écrit :
Remarque que ce décalage entre le début de la piste vidéo et la piste son est quelque chose
d'assez courant, mais général ça ne pose pas de problème.
Quand j'avais fait ce script qui ressemble à ce que vous voulez faire, j'avais aussi eu des problèmes de décalage vidéo audio.
La solution que j'avais trouvé était des riper le titre du DVD en vob et de le convertir vidéo et audio simultanément
Pour extraire en vob voici la commande que j'utilisais:mplayer -dvd-device "$pathDevice" -dumpstream dvdnav://$i -dumpfile "$cheminVideo-Titre-$i.vob" 2>&1
et pour convertir le vob en mkv (x264 et aac) je faisais cela avec une commande "classique" avec FFmpeg (en utilisant les map du fichier vob pour les diverses stream vidéo, audio, sous-titre).
Lien du (vieux) script: https://debian-facile.org/utilisateurs: … :dvd6clone
NB:
Vu que cela fait longtemps que je n'ai retouché à ce script, il presque certain qu'il y a quelques bug mais peut-être qui pourra vous aider... en fait c'est juste pour le partage d'astuce (sens aucune prétention).
On rip bien le VOB entier dans ce script. Une fois le VOB en dur, on récupère les infos sur le DVD "lecteur" que l'on ré-injecte pour "taguer" les bandes audio.
Le décalage que tu parles, je pense, c'est le rip de la vidéo et ensuite d'éventuelle bandes audios que tu multiplexera ensuite. C'est bien cela ?
Dernière modification par Anonyme (01-09-2019 10:27:06)
Dernière modification par Anonyme (02-09-2019 14:11:02)
ça me fait bien ch.
C'est sûr, il va falloir refaire une bonne partie du script. Ceci dit c'est souvent
comme ça quand on commence à écrire un truc un peu gros. Et puis un projet
il faut souvent le ré-écrire.
Hors ligne
Juste un truc aussi. Sur un ou deux titres: 4 bandes audios fr, de, it, en, déclaré mais une seule est audible
Dernière modification par Anonyme (02-09-2019 18:42:10)
Dans la partie du script principale j'ai :
La commande serait :
Je dois pas passer à côté
Dernière modification par Anonyme (05-09-2019 18:50:23)
Dernière modification par Anonyme (05-09-2019 20:11:50)
qui fonctionne dans le script et ça :
qui ne fonctioone pas.
?
@enicar
Quelle différence y a t'il entre:
$FOLDER/*.ac3
qui fonctionne dans le script et ça :
"$FOLDER/*.ac3"
qui ne fonctioone pas.
?
Entre les « " », l'expansion des motif du shell n'est pas fait. Donc ça ne peut pas
marcher. La bonne façon d'écrire est :
Hors ligne
@enicar
bonsoir, j'ai réussi à régler le problème du Channel 0 sur certains DVD-Vidéo. Il faut donc en passer par l'extraction des streams audio. Mais maintenant, pour ne pas trop de donner de travail après pour dégribouiller tout ça, j'ai essayé les fonctions.
Mais là ....... je peine sur un truc.
La fonction qui va bien :extract_all_audios_ac3 () {
local output="$2"
for n in $AIDS_AC3; do
mplayer -endpos 120 -identify -dvd-device "$DEVICE" dvd://$i \
-ni -aid $n \
-dumpaudio -dumpfile "$FOLDER/$n-$TITLE.ac3"
done
}
Dans la partie du script principale j'ai :
## ENCODAGE
## GPU
## FILMS
## AC3 & DTS & MPEG1
## SOUS-TITRAGE(S) VF
if [[ "$COUNT_LPCM" -eq "0" ]] && \
[[ "$COUNT_AC3_DTS_MPEG1" -ge "1" ]] && \
[[ "$COUNT_SID_FR" -ge "1" ]]
then
ffmpeg -hwaccel auto -c:v mpeg2_cuvid -i "$FOLDER/$i-$TITLE.vob" \
-map 0:v -metadata title="$TITLE" \
-c:v h264_nvenc -preset slow -profile:v high -level 4.2 \
-loglevel repeat+verbose \
-an -movflags +faststart -qmin 18 -qmax 23 \
AJOUT $DIF -y "$FOLDER/$i-$TITLE.mkv"
QUI VA--> extract_all_audios_ac3 "$i" "$FOLDER/$n-$TITLE.ac3"
BIEN
------> Ici, je dois trouver "$FOLDER/$i-$TITLE.mkv" sans audio que je dois multiplexer avec les $n-$TITLE.ac3" qui ont bien été crée dans le dossier. Je précise aussi que $i-$TITLE.mkv" est bien présent dans le dossier. Et bien, il ne trouve pas ce mkv. J'ai cherché mais pas moyen :/
rm -f "$FOLDER/$i-$TITLE.vob"
## ENCODAGE
## GPU
## CONCERTS LIVE
## LPCM (ON GARDE QUE LA PISTE LPCM)
## PAS DE SOUS-TITRAGE
La commande serait :
mkvmerge -o "$FOLDER/$i-MIX-$TITLE.mkv" "$FOLDER/$i-$TITLE.mkv" $FOLDER/*.ac3
Je dois pas passer à côté
Je ne sais pas si ça fonctionne ou pas, cependant j'ai quelques suggestions.
Dans la fonction extract_all_audios_ac3 :
J'ai juste utilisé la variable « output » et mis « $1 » à la place de
« $i ». C'est pour être consitant puisque quand tu l'appelles tu fais :
Aussi avant cette commande tu devrais insérer une ligne vide pour
qu'on y voit clair, la commande précédente étant écrite sur
plusieurs lignes.
Hors ligne
Dernière modification par Anonyme (06-09-2019 10:42:05)
On pourrait la garder non ?
Oui, on peut la garder pour la convertir en flac par exemple ou en opus qui
a très bon rapport qualité/poids.
Hors ligne
Dernière modification par Anonyme (06-09-2019 11:23:42)
Mais le format, l'utilisateur fera ce qu'il voudra sur ce fichier
euh… je ne sais pas. Tu comptes la laisser en ac3 ? Dans quel type de conteneur ?
Dernière modification par enicar (06-09-2019 11:33:07)
Hors ligne
Dernière modification par Anonyme (06-09-2019 11:48:18)
Bien tout fonctionne
Juste une recherche à faire sur certains titres avec ffmpeg et ce message a rallonge sans incidence.
*** dropping frame 0 from stream 0 at ts -2
Past duration 0.999992 too large
Past duration 0.999992 too large
Past duration 0.999992 too large
Past duration 0.999992 too large
Past duration 0.999992 too large
Past duration 0.999992 too large
Past duration 0.999992 too large
Past duration 0.999992 too large
[mpeg2_cuvid @ 0x55b28be4a540] Formats: Original: cuda | HW: cuda | SW: nv12
Past duration 0.999992 too large
Past duration 0.999992 too large
Past duration 0.999992 too large
Past duration 0.999992 too large
https://video.stackexchange.com/questio … riable-fps
ajout de -r 25
EDIT:
J'ai peur quand mettant cet option, une désynchro se fasse. Je pourrais enlever -loglevel repeat+verbose" dans ma commande pour ne pas voir cette info qui est en couleur verte (sans incidence) ou bien ajouter l'option "-async 1 -vsync 1" qui évite la désynchro et en plus me supprime ce message pour m'amener à :
je vais choisir cette dernière option.
Dernière modification par Anonyme (07-09-2019 08:57:26)