Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 06/11/2015, à 03:09

Kariboux

[Script] Génération de thumbs vidéos / crop /

Bonjour la communauté smile
Je cherche une personne maîtrisant l'automatisation sur ubuntu et qui pourrait me faire un script pour :

1) Générer X thumbs / vidéos (mp4/flv/etc) de chaque vidéos contenues dans un dossier spécifique et ses sous dossiers
    Dossier source > Video :
      - titre_video.mp4 (ou autre format)
      - /dossier/titre_video.mp4 (ou autre format)
      - /dossier/sous-dossier/titre_video.mp4 (ou autre format)
      - etc
2) Que les images générées soient dans un format précis (ex:300/169) et les cropper sans les déformer si la taille diffère. Jouer sur la qualité, voir ajouter de la netteté.
3) Les enregistrer dans un dossier image :
    Destination des images > Dossier au choix > Thumbs
       - /nom_du_fichier_video_sans_extension/01.jpg
       - /nom_du_fichier_video_sans_extension/02.jpg
       - etc...

Petite rémunération pour celui qui pourra me gérer ça

PS: Je précise qu'il faudra me babysitter de A à Z etant novice sur linux smile

Merci d'éviter le sujet de rémunération, ça n'est pas dans l'esprit de la communauté.
Cordialement,
ljere

Dernière modification par ljere (Le 13/11/2015, à 14:44)

Hors ligne

#2 Le 06/11/2015, à 07:08

Compte anonymisé

Re : [Script] Génération de thumbs vidéos / crop /

Bonjour,

je propose ce script :

#!/bin/bash
source="/dossier source"
destination="/dossier/Thumbs"
X=10
for a in $(find -type f $source)
do b=$(basename "$a")
file --mime-type "$a"|grep video&&mplayer -frames $X -vo jpeg:outdir="$destination" -vf dsize=300:-2,crop=300:169,unsharp=l:1.5 "$a" && rename 's:000000:'${b%.*}':' "$destination"/*
done

remarques :

pas de slash ou anti-slash dans les noms de fichier.
je savais pas si tu voulais les X premières images ou X images aléatoires, ce script fait les premières images.

Pour le babysiting :

1 Tu appuyes sur CTRL-ALT-T pour démarrer un terminal
2 tu écrit

gedit script.sh

3 tu colles le script
4 tu modifies les lignes source="/dossier source" et destination="/dossier/Thumbs" en mettant les dossiers correspondant, en gardant les guillemets mais sans le dernier slash
5 tu modifies le X=10 par le nombres d'images
6 tu enregistres et tu fermes gedit
7 tu rends executable en écrivant

chmod +x script.sh

8 tu t'assures que mplayer est installé avec

sudo apt-get install mplayer

9 tu lance script avec

./script.sh

10 tu croises les doigts smile

PS : pas de rénumération smile

Dernière modification par Compte anonymisé (Le 06/11/2015, à 07:13)

#3 Le 06/11/2015, à 10:34

Postmortem

Re : [Script] Génération de thumbs vidéos / crop /

Salut,

Anonyme68 a écrit :

pas de slash ou anti-slash dans les noms de fichier.

Pas d'espaces ou de retour à la ligne non plus avec ta méthode.
Pour boucler sur les fichiers trouvés par "find" de manière sûre :

while read -rd '' a
do
   Ici on utilise "$a" entre guillemets
done < <(find repertoire -type f -print0)

Et il manque des guillemets autour de certaines variables.

Sinon, merci pour la commande mplayer !


Mot' a dit : « Un Hellfest sans Slayer, c'est comme une galette-saucisse sans saucisse ! »

Hors ligne

#4 Le 06/11/2015, à 12:04

Kariboux

Re : [Script] Génération de thumbs vidéos / crop /

Re,
Merci pour l'aide, je viens de tester et voilà ce qui arrive :

Le script de la premiere reponse :

#!/bin/bash
source="/home/zbla/Téléchargements"
destination="/home/zbla/Images"
X=10
for a in $(find -type f $source)
do b=$(basename "$a")
file --mime-type "$a"|grep video&&mplayer -frames $X -vo jpeg:outdir="$destination" -vf dsize=300:-2,crop=300:169,unsharp=l:1.5 "$a" && rename 's:000000:'${b%.*}':' "$destination"/*
done

Je l’exécute : sh ~/Bureau/script.sh

find: les chemins doivent précéder l'expression : /home/zbla/Téléchargements
Utilisation : find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [chemin...] [expression]
Anonyme68 a écrit :

remarques :

pas de slash ou anti-slash dans les noms de fichier.
je savais pas si tu voulais les X premières images ou X images aléatoires, ce script fait les premières images.

- Les noms des fichiers vidéos .mp4 & co peuvent avoir toutes sortes de caractères dedans (tous ceux autorisés dans un nom de fichier)
- J'aimerais X images qui couvrent l’intégralité de la video

Dernière modification par Kariboux (Le 06/11/2015, à 12:09)

Hors ligne

#5 Le 06/11/2015, à 12:28

Compte anonymisé

Re : [Script] Génération de thumbs vidéos / crop /

#!/bin/bash
source="/home/zbla/Téléchargements"
destination="/home/zbla/Images"
for a in $(find "$source" -type f)
do 
b=$(basename "$a")
file -b --mime-type "$a"|grep video&&mkdir "$destination/${b%.*}"&&mplayer -vo jpeg:outdir="$destination/${b%.*}" -vf dsize=300:-2,crop=300:169,unsharp=l:1.5 "$a"
done

au temps pour moi j'avais inversé les paramètres dans le find.

d'aileurs pour le répertoire de destination ça doit faire :

/home/zbla/Images/nomvidéo1/0001.jpg ?

du coup j'ai modifié car j'avais compris différemment

Merci Postmortem pour les corrections !

Dernière modification par Compte anonymisé (Le 06/11/2015, à 12:42)

#6 Le 06/11/2015, à 12:41

Kariboux

Re : [Script] Génération de thumbs vidéos / crop /

Ouch ca marche mais j'ai des tonnes d'images... Comment on stop ? Mon VPS prend feu big_smile

Dernière modification par Kariboux (Le 06/11/2015, à 12:42)

Hors ligne

#7 Le 06/11/2015, à 12:42

Compte anonymisé

Re : [Script] Génération de thumbs vidéos / crop /

ctrl C pour stopper

#8 Le 06/11/2015, à 12:47

Compte anonymisé

Re : [Script] Génération de thumbs vidéos / crop /

si ta vidéo fait 25 images/secondes et qu'elle dure 1 heure ça te fera 90000 images smile

on peut sauter des images aussi si il faut avec l'option --sstep <sec>

pour une image toutes les secondes rajoute --sstep 1 juste après mplayer

#9 Le 06/11/2015, à 12:50

Kariboux

Re : [Script] Génération de thumbs vidéos / crop /

Pas moyen de faire 30 images par vidéo dans tous les cas ?

Rien à voir avec ton script mais j'avais essayé ça qui ne marche pas pour des raisons obscures mais qui peut donner une piste pour le nombre d'images :

#! /bin/bash
 
#--- Paramètres
 
videowaitdir=/home/zbla/Téléchargements/
capturedir=/home/zbla/Images/
 
numberscreens=10
 
#--- Traitement des vidéos
 
for video in `ls $videowaitdir`; do
 if [ -f $videowaitdir$video ]; then
  duration=`ffmpeg -i $videowaitdir$video 2>&1 | grep "Duration:" | awk '{print $2}' | tr -d , | cut -d . -f 1`
 
  if [ -z "$duration" ] || [ "$duration" = "00:00:00" ]
  then
   continue
  fi
 
  h=`echo $duration | cut -d : -f 1`
  m=`echo $duration | cut -d : -f 2`
  s=`echo $duration | cut -d : -f 3`
 
  totaltime=$(($h+$m+$s))
 
  time=$(($totaltime/$numberscreens))
 
  for((i=0;i<=$numberscreens;i++))
  do
   t=$(($time*$i+$time))
 
   ffmpeg -y -i $videowaitdir$video -f mjpeg -ss $t -vframes 1 -s 640x480 -an $capturedir$video.$i.jpg
  done
 fi
done

Ps: Ton crop actuel dégomme l'image

Dernière modification par Kariboux (Le 06/11/2015, à 13:09)

Hors ligne

#10 Le 06/11/2015, à 14:35

Compte anonymisé

Re : [Script] Génération de thumbs vidéos / crop /

Pas moyen de faire 30 images par vidéo dans tous les cas ?

je vois pas de moyen simple de faire avec mplayer, 30 images/sec semble être assez standard. Tes vidéos font plus que ça ? Si elle font que 24 i/s ou 25 i/s, ça sert à rien.

après examen de ton script,
il est supposé faire 10 screens par vidéos à chaque 10ième du temps de la vidéos
ce qui correspond pas à ce que tu recherches ? pas plus de solution dans ton script (qui crop pas non plus d’ailleurs)

Ps: Ton crop actuel dégomme l'image

oui il coupe dans le vif.

-vf dsize=300:-2,crop=300:169

D'abord il redimensionne la longueur en 300 et en gardant les proportions pour la hauteur
et ensuite il coupe pour que ça corresponde au format souhaite soit 300x169.

chez moi ça avait l'air de marcher après il peut réagir différemment en fonction des résolutions d'origine.

#11 Le 06/11/2015, à 15:17

Kariboux

Re : [Script] Génération de thumbs vidéos / crop /

Mes vidéos sont en 1920/1080 soit full HD et le temps va de 12 à 120 minutes

Hors ligne