Page 1 sur 1

Miniatures et Vignettes

Posté : dim. 25 oct. 2020 11:39
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?

Re: Miniatures et Vignettes

Posté : dim. 25 oct. 2020 18:08
par mikell
Pas nécessairement
VLC permet de créer des vignettes : https://wiki.videolan.org/VLC_HowTo/Make_thumbnails/

Re: Miniatures et Vignettes

Posté : lun. 02 nov. 2020 09:41
par SASL
Merci bcp pour la réponse rapide. Mais comment intégrer la commande de la page wiki.vlc dans mon autoitscript ? :)

Re: Miniatures et Vignettes

Posté : mar. 03 nov. 2020 19:50
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

Re: Miniatures et Vignettes

Posté : mer. 04 nov. 2020 16:30
par SASL
Salut. Merci bien. J'ai essaye le code VLC mais je ne retrouve pas la jpeg censee etre enregistree sur le Desktop!

Re: Miniatures et Vignettes

Posté : mer. 04 nov. 2020 19:41
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

Re: Miniatures et Vignettes

Posté : sam. 07 nov. 2020 09:29
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+

Re: Miniatures et Vignettes

Posté : sam. 07 nov. 2020 15:00
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à).

Re: Miniatures et Vignettes

Posté : dim. 08 nov. 2020 16:40
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 !

Re: Miniatures et Vignettes

Posté : dim. 08 nov. 2020 20:38
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)

Re: Miniatures et Vignettes

Posté : mer. 11 nov. 2020 05:54
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

Re: Miniatures et Vignettes

Posté : ven. 13 nov. 2020 13:21
par SASL
Salut Walkson. Tu as pu lire mon message? Merci bien.