J'utilise gframecatcher pour générer des galeries vidéo miniatures, c'est-à-dire quelque chose comme ceci:
Cependant, il s'agit d'un outil GUI et je veux créer récursivement une galerie pour chaque vidéo dans une structure de répertoire, donc je recherche un outil de ligne de commande rapide pour ce faire.
command-line
video
étudiant
la source
la source
-r
). Cela rend plus facile et plus précis la spécification des heures. 5min = 300 secondesffmpeg -i MOVIE.mp4 -r 1/300 -vf scale=-1:120 -vcodec png capture-%02d.png
.avconv
fonctionne de la même manière, au cas où vous n'en auriez pasffmpeg
disponible (certaines versions d'Ubuntu).J'aime utiliser un script bash de ligne de commande unix facile à utiliser appelé VCS - Video Contact Sheet. Leur page officielle: http://p.outlyer.net/vcs/
Son beaucoup plus facile à utiliser encore plus facile qu'une interface graphique
'' Il s'agit d'un script bash destiné à créer des planches de contact vidéo (aperçus) alias des miniatures ou des aperçus de vidéos. Toute vidéo prise en charge par mplayer et ffmpeg peut être utilisée par ce script. '' Vous devrez avoir l'un
ffmpeg
ou l' autremplayer
installé sur votre système.Usage:
Fonctionnement de la commande
Modifiez le nom du fichier d'entrée au nom de votre fichier vidéo!
-U0
(pas de nom dans le pied de page - sinon il affiche le nom d'hôte - notez qu'il s'agit de zéro et non de la lettreO
)-i 1m
(définit l'intervalle de temps de capture en minutes - dans ce cas, c'est toutes les minutes - vous pouvez également utiliser à la-n
place ce qui définit le nombre de captures, par exemple-n 21
, créera 21 images, mais n'utilisez pas les deux)-c
définit le nombre de colonnes (ici c'est 3 colonnes)-H 200 -a 300/200
(définit la taille et l'aspect afin que le fichier ne soit pas trop gros - il semble que vous devez faire les deux)-o filename.jpg
(utilisez.jpg
par défaut car il.png
est trop grand - et changez le nom de fichier en celui de votre choix!)la source
Celui-ci semble correspondre à la facture , il est gratuit et open source et fonctionne même sur Windows :)
Il a même des choses avancées, comme au lieu de choisir aveuglément n'importe quelle image à un intervalle particulier, il peut choisir celles qui sont assez proches mais qui ne semblent pas trop floues, alors au lieu de faire ceci:
Vous pouvez lui passer un paramètre (
-D6
) pour qu'il fasse ceci:De plus, je n'aime vraiment pas les bordures, de sorte que les images peuvent être légèrement plus grandes.
la source
Il existe une solution sur le forum ffmpeg.
Pour faire plusieurs captures d'écran et les placer dans un seul fichier image (création de tuiles), vous pouvez utiliser le filtre vidéo de tuiles de FFmpeg, comme ceci:
Cela cherchera 10 secondes dans le film, sélectionnera chaque 1000ème image, le mettra à l'échelle à 320x240 pixels et créera 2x3 tuiles dans l'image de sortie out.png.
Article d'origine ici - http://ffmpeg.gusari.org/viewtopic.php?f=25&t=597
la source
C'est ainsi que je traite une simple feuille de contact à l'aide d'AWS EC2, depuis mon Mac.
Étape # 1: créer une instance EC2 sur Amazon Web Services
J'ai utilisé:
Étape # 2: configurer l'instance
Tout cela est exécuté à partir de mon Mac pour plus de commodité, mais vous pouvez également exécuter uniquement les commandes "sudu su ..." à partir de la ligne de commande EC2.
Remplacer 11.22.33.44 par votre IP EC2.
Étape # 3: Traitez une vidéo
Envoyez la vidéo:
Transformez-le en une planche contact:
Remplacez / Users / mdouma par votre racine locale Modifiez le ", 1" en un autre nombre, par exemple ", 7", si vous ne voulez que toutes les 7 images. Changez 111 à la taille que vous voulez
Copiez-le sur mon mac:
la source
sudo su
c'est sans but.Cet outil m'a aidé (2019-02) - et il est maintenu. Nombreuses options - grille, qualité, polices, couleurs, bordure, intervalle, ...
https://github.com/amietn/vcsi
Vous n'avez besoin que de ffmpeg et de python.
la source
Le paquet 'imagemagick' a des utilitaires pour des trucs comme ça.
http://www.imagemagick.org/Usage/thumbnails/
Il existe également des bibliothèques d'API utilisant imagemajick pour un tas de langues .
la source
convert
est probablement le plus général. Regardez la section intitulée Création générale de vignettes sur la première page à laquelle j'ai lié.Totem - le lecteur vidéo par défaut pour 14.04 et certaines versions antérieures d'Ubuntu - a une option de menu avec des options simples (sous le menu Edition, "Créer une galerie de captures d'écran ..."). Il y a aussi un équivalent en ligne de commande (ish) appelé "totem-video-thumbnailer" qui a une page de manuel qui vous indique comment l'utiliser; J'ai écrit un script bash simple qui utilise la sortie de la commande find (en prenant soin de ne pas séparer les fichiers avec des espaces dans les noms) pour générer automatiquement une galerie de vignettes de vignettes (ou planche-contact comme également mentionné ci-dessus) pour tous les fichiers au-dessus d'un certain taille dans un répertoire qui n'en avait pas déjà un.
Je pourrais le télécharger sur mon github sous ~ jgbreezer si quelqu'un voulait le chasser. Bien que les solutions utilisant ffmpeg et d'autres choses puissent être plus flexibles et fiables; Je semble obtenir des sorties d'erreur de la commande totem pour ne pas trouver certaines images, mais cela semble fonctionner de toute façon la plupart du temps.
la source
Je voulais la même chose et googler a fini par utiliser ffmpeg et imagemagick. PAS IMHO "rapide". Puis trouvé un script bash nommé SlickSlice (dernière mise à jour 2008 mais fonctionnant parfaitement depuis hier). Je l'ai installé et personnalisé à mon goût à l'aide du fichier de configuration et du script lui-même. Le script utilise d'ailleurs ImageMagick et MPlayer.
J'ai fait un mode d'emploi détaillé et une personnalisation après l'avoir utilisé avec succès. Une fois installé avec succès, vous pouvez générer une miniature de chronologie vidéo avec une commande aussi simple que:
slickslice -x "InputFile.mp4"
(par défaut 4 colonnes x 15 lignes) ouslickslice -x "InputFile.mp4" -S 6x10
(pour 6 colonnes x 10 lignes).Il sort en tant que
SLICKSLICED_InputFile.mp4.jpeg
et je l'ai personnalisé pour le produireInputFile.mp4-screen.jpeg
en modifiant le script bash lui-même.la source