Miniatures et Vignettes

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
SASL
Niveau 1
Niveau 1
Messages : 13
Enregistré le : dim. 25 oct. 2020 11:22
Status : Hors ligne

Miniatures et Vignettes

#1

Message par SASL »

Bonjour,
J écris un script pour classer des fichiers .mp4. J'arrive a les énumérer, a les visualiser avec VLC mais je ne peux pas copier la vignette de chaque film pour la stocker sous forme jpg ou bmp. Quelqu'un peut-il m éclairer? Faut-il passer a ffmpeg plutôt que VLC?
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: Miniatures et Vignettes

#2

Message par mikell »

Pas nécessairement
VLC permet de créer des vignettes : https://wiki.videolan.org/VLC_HowTo/Make_thumbnails/
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
SASL
Niveau 1
Niveau 1
Messages : 13
Enregistré le : dim. 25 oct. 2020 11:22
Status : Hors ligne

Re: Miniatures et Vignettes

#3

Message par SASL »

Merci bcp pour la réponse rapide. Mais comment intégrer la commande de la page wiki.vlc dans mon autoitscript ? :)
Avatar du membre
walkson
Modérateur
Modérateur
Messages : 1020
Enregistré le : ven. 12 août 2011 19:49
Localisation : Hurepoix
Status : Hors ligne

Re: Miniatures et Vignettes

#4

Message par walkson »

Bonjour,
FileDelete(@DesktopDir & "\scene00001.jpg")
$pathVLC = @ProgramFilesDir & "\VideoLAN\VLC\vlc.exe"
$pathFILM = FileOpenDialog("choix",@DesktopDir,"Film(*.avi;*.mp4)",1)
If @error Then Exit

Run($pathVLC  &' "'& $pathFILM & '" --video-filter=scene --start-time=20 --stop-time=21 --scene-format=jpg --scene-width=300 --scene-path='&@DesktopDir&'\  --quiet vlc://quit',"",@SW_HIDE)
Si VLC bugue, regardez à https://thegeekpage.com/fix-vlc-crash-r ... hed-error/
On prend l'image entre 20 et 21 sec au format jpg (par défaut png) pour une largeur de 300 (le rapport de l'image est gardée automatiquement)
Enregistré sur le bureau sous scene00001.jpg

Comme j'ai le code pour FFmpeg, je vous le mets
RunWait ( '"' & @ScriptDir & '\ffmpeg.exe"  -i "' & $sMovieFile & '" -s 300/140 -ss 00:00:30 -vframes 1 "' & @ScriptDir & '\FFMpegThumbTemp\VLC-%d.jpg"', @ScriptDir, @SW_HIDE )
-s 300/140 > dimension de l'image
-ss 00:00:30 > enregistre l'image à 30 sec
-vframes 1 > une image (si vous mettez par exemple 10, il y aura 10 images séparées d'une seconde environ)
\VLC-%d.jpg > enregistre sous VLC-1.jpg. Si plusieurs images, le nombre s'incrémente
Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
SASL
Niveau 1
Niveau 1
Messages : 13
Enregistré le : dim. 25 oct. 2020 11:22
Status : Hors ligne

Re: Miniatures et Vignettes

#5

Message par SASL »

Salut. Merci bien. J'ai essaye le code VLC mais je ne retrouve pas la jpeg censee etre enregistree sur le Desktop!
Avatar du membre
walkson
Modérateur
Modérateur
Messages : 1020
Enregistré le : ven. 12 août 2011 19:49
Localisation : Hurepoix
Status : Hors ligne

Re: Miniatures et Vignettes

#6

Message par walkson »

Bonjour,
Je précise que je suis sous Win7 86bits, VLC Version 3.0.11 (la dernière) . J'ai du modifier les préférences de VLC sinon il m'avertissait un bug en relançant le logiciel mais l'image était produite. Dans l'onglet vidéo, output en opengl (step 3 https://thegeekpage.com/fix-vlc-crash-r ... hed-error/) et le bug a disparu sans que VLC en soit affecté.
Que dire ? vérifiez le chemin de VLC, sa version, le chemin de la vidéo qui doit être entre deux ", éventuellement modifiez RunWait() en @SW_SHOW pour voir la console en fonction sinon lancez VLC en utilisant le CMD avec les chemins et les options, s'il y a erreur, elle sera indiquée. Écrire cd, espace, chemin du dossier de VLC, pour vous placer dans son dossier et de là vlc.exe, "chemin Film", Options.
Notez que VLC est très chagrin, un espace manquant, un espace de trop et c'est loupé :x
Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
SASL
Niveau 1
Niveau 1
Messages : 13
Enregistré le : dim. 25 oct. 2020 11:22
Status : Hors ligne

Re: Miniatures et Vignettes

#7

Message par SASL »

Salut cher Wlakson. Comme le problème persiste, merci de m'expliquer l'usage des simple quotes et double quotes (guillemets) dans le code RUN($pathVLC.... afin que je ne m'y trompe pas. A+
Avatar du membre
walkson
Modérateur
Modérateur
Messages : 1020
Enregistré le : ven. 12 août 2011 19:49
Localisation : Hurepoix
Status : Hors ligne

Re: Miniatures et Vignettes

#8

Message par walkson »

Bonjour,
C'est assez simple
$pathVLC = @ProgramFilesDir & "\VideoLAN\VLC\vlc.exe"
ConsoleWrite($pathVLC & @CRLF)
nous renvoie
C:\Program Files\VideoLAN\VLC\vlc.exe
Avec des quotes
$pathVLC = '"' & @ProgramFilesDir & "\VideoLAN\VLC\vlc.exe" & '"'
ConsoleWrite($pathVLC & @CRLF)
nous renvoie
"C:\Program Files\VideoLAN\VLC\vlc.exe"
ici j'utilise des doubles quotes mais c'est valable avec des simples quotes " ' " & .... & " ' "
Si vous avez un doute, utilisez ConsoleWrite() pour vérifier (écrivez dans Scite cw puis appuie sur barre espace). Cela permet de vérifier l'emplacement des quotes mais aussi la conformité des chemins et des espaces (les erreurs viennent souvent de là).
Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
SASL
Niveau 1
Niveau 1
Messages : 13
Enregistré le : dim. 25 oct. 2020 11:22
Status : Hors ligne

Re: Miniatures et Vignettes

#9

Message par SASL »

Merci pour les précieux conseils.
J'ai recopié le code tel quel.

FileDelete(@DesktopDir & "\scene00001.jpg")
$pathVLC = @ProgramFilesDir & "\VideoLAN\VLC\vlc.exe"
$pathFILM = FileOpenDialog("choix",@DesktopDir,"Film(*.avi;*.mp4)",1)
If @error Then Exit
Run($pathVLC &' "'& $pathFILM & '" --video-filter=scene --start-time=20 --stop-time=21 --scene-format=jpg --scene-width=300 --scene-path='&@DesktopDir&'\ --quiet vlc://quit',"",@SW_HIDE)

Je suis sur VLC 3.0.8 et Windows 10.
La console indique:

>"C:\Program Files (x86)\AutoIt3\SciTE\..\AutoIt3.exe" "C:\Program Files (x86)\AutoIt3\SciTE\AutoIt3Wrapper\AutoIt3Wrapper.au3" /run /prod /ErrorStdOut /in "C:\Users\sslab\Downloads\VLC test forum.au3" /UserParams
+>17:38:34 Starting AutoIt3Wrapper (19.1127.1402.0} from:SciTE.exe (4.2.0.0) Keyboard:00000409 OS:WIN_10/ CPU:X64 OS:X64 Environment(Language:0409) CodePage:0 utf8.auto.check:4
+> SciTEDir => C:\Program Files (x86)\AutoIt3\SciTE UserDir => C:\Users\sslab\AppData\Local\AutoIt v3\SciTE\AutoIt3Wrapper SCITE_USERHOME => C:\Users\sslab\AppData\Local\AutoIt v3\SciTE
>Running AU3Check (3.3.14.5) from:C:\Program Files (x86)\AutoIt3 input:C:\Users\sslab\Downloads\VLC test forum.au3
+>17:38:35 AU3Check ended.rc:0
>Running:(3.3.14.5):C:\Program Files (x86)\AutoIt3\autoit3.exe "C:\Users\sslab\Downloads\VLC test forum.au3"
+>Setting Hotkeys...--> Press Ctrl+Alt+Break to Restart or Ctrl+BREAK to Stop.
+>17:38:39 AutoIt3.exe ended.rc:0
+>17:38:40 AutoIt3Wrapper Finished.
>Exit code: 0 Time: 6.686

Mais toujours pas de jpg sur le Desktop !
Avatar du membre
walkson
Modérateur
Modérateur
Messages : 1020
Enregistré le : ven. 12 août 2011 19:49
Localisation : Hurepoix
Status : Hors ligne

Re: Miniatures et Vignettes

#10

Message par walkson »

Bonjour,
Apparemment vous êtes sous Win 10 x64
Remplacez $pathVLC = @ProgramFilesDir & "\VideoLAN\VLC\vlc.exe" par le chemin complet où se trouve VLC.exe car vlc peut être installé en 64 bits et je ne sais pas ce que renvoie @ProgramFilesDir avec Win 10 x64 (je suis en x86)
Si le problème demeure, utilisez la console CMD comme je vous l'indique en post 6 (écrivez la ligne complète du code dans Scite par exemple et faites un copié-collé dans la console)
Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
SASL
Niveau 1
Niveau 1
Messages : 13
Enregistré le : dim. 25 oct. 2020 11:22
Status : Hors ligne

Re: Miniatures et Vignettes

#11

Message par SASL »

Bonjour,
J'ai essaye le code tel quel sans succès.
Par contre, Bonne Nouvelle, en l'intégrant dans mon script, il marche a merveille!

$play = Run ($vlc &' "'& $File & '" --video-filter=scene --start-time=0 --stop-time=1/10 --scene-format=jpg --scene-width=300 --scene-path='&@DesktopDir&'\' ,"",@SW_SHOW)

Avant de chercher la faille, je voudrais savoir s'il y a possibilité d'une simple instruction pour continuer a visionner la vidéo normalement après l'enregistrement de la vignette, car ici, il s'arrête a l'enregistrement de la vignette.

Dernier détail, que signifie le ,"", avant le @SW_SHOW?
Merci Bien
SASL
Niveau 1
Niveau 1
Messages : 13
Enregistré le : dim. 25 oct. 2020 11:22
Status : Hors ligne

Re: Miniatures et Vignettes

#12

Message par SASL »

Salut Walkson. Tu as pu lire mon message? Merci bien.
Répondre