J'aimerai bien avoir à nouveau une petite collection de refs visuelles. Pourquoi pas en profiter pour intégrer le mouvement ?
Outil
Est ce que les films doivent être référencés ? Où bien est ce qu'on s'en fiche ?
Clairement ça rajoute beaucoup de complexité de devoir identifier le film. D'autant qu'il n'y a pas de base de donnée libre.
MPV
MPV est un lecteur vidéo méga efficace et qui accepte des extensions facile à installer.
script d'encodage
https://github.com/occivink/mpv-scripts
Ce repo Git contient plusieurs scripts, dont un qui m'intéresse particulièrement : encode.lua
.
Il permet de placer un point d'entré et un point de sortie, sur le fichier vidéo. Puis d'envoyer ça à ffmpeg
qui va encore le fichier en webm
assez léger.
Je l'ai placé à l'emplacement suivant, pour qu'il soit automatiquement chargé dès que j'utilise MPV :
~/.config/mpv/scripts/encode.lua
Je me demande s'il ne serait pas plus prévoyant d'utiliser un format de comrpession sans perte pour l'archive des extraits. Vu que les fichiers n'ont pas de très haute résolutions et ne sont pas très lourds, ça devrait donc rester gérable au niveau du stockage. Cela permettrait ensuite d'encoder plusieurs tailles de fichiers par extrait. Par exemple :
- Un fichier de la résolution max (très souvent 576p)
- Un petit fichier très cpmpressé type 360p, utilisé pour les miniatures.
Cela permet d'être plus souple, si plus tard, j'ai envie de changer la résolution, le débit ou même le codec.
Pour cela, j'ai fait le choix du codec FFV1
en version 3, le tout dans un conteneur mkv
.
contrôles
En complément j'ai amélioré les raccourcis pour se déplacer à l'image près.
Par défaut, c'est ,
et .
qui sont utilisés pour ça. J'ai juste remplacé ;
à la place du point, car c'est plus pratique sur un clavier AZERTY.
J'ai décri cela dans le fichier.
~/.config/mpv/input.conf
Base de donnée
Qu'est ce que je veux mettre comme métadonnés dans la base de donnée ?
Comment identifier les extraits ?
Après avoir fait quelques captures, j'ai l'impression que ça serait pas mal d'avoir un système de tag. Avec par exemple voiture
, plan-sequence
, filtre
, lumiere
, decor
, noir-et-blanc
, couleur
, focale
...
Est ce que les tags sont en français où en anglais ? Ça pose la question suivante : est ce que c'est une base de donnée perso ou partagée ?
Ça coûte pas grand chose d'utiliser l'anglais pour ces quelques termes techniques.
Structure
Proposition de structure de la BDD.
EXTRAIT
- identifiant - sûrement un nombre entier incrémental
- Identifiant du film
- tags liste de tags
- date de la capture de l'extrait YYYY-MM-DD
- description du texte
- aspect-ratio mesuré à partir de l'extrait
- durée de l'extrait mesuré à partir de l'extrait
FILM
- identifiant ID de TMDB ?
- titre du film téléchargé depuis TMDB
- année du film téléchargé depuis TMDB
COLLECTION
- identifiant de la collection
- ids d'extraits - liste des identifiants d'extraits
Une collection contiendrait une liste d'extrait ordonnée
Interfaces
Assez naturellement, j'imagine une interace Web, car c'est ce que je connais le mieux.
Je pense aussi à la CLI, mais l'aspect visuel des vignettes par exemple, est très important pour sélectionner les extraits.
Peut être que la CLI servirait pour faire un formulaire d'ajout d'extrait ?
Pour l'interface Web, j'aimerai qu'une majoritée soit statique. Par exemple les pages des extraits, mais aussi la page d'un film, d'un tag ou d'une année.
Je pourrais faire une partie dynamique pour la recherche, permettant du filtrage, mais qui serait protégée par un mot de passe.
Et enfin, permettre d'éditer les métadonnées et collections depuis le Web.
De mon experience lors de l'utilisation de mon outil de storyboard, je me rend compte que c'est souvent un peu chiant d'éditer les fichiers source à la main. Dans ce cas là, c'était des fichiers YAML. Et par exemple tout les trucs de syntaxe étaient un peu relou à taper et je faisais régulmièrement des erreurs.
Dans le projet Hyper8, Il y a justement une interface Web dédiée à l'édition des métadonnés. Pour construire une telle interface, j'imagine deux pistes :
- des commandes en CLI
- un panneau de gestion Web en PHP
Le deuxième amène une dépendance à PHP, mais en même temps, je compte l'utiliser pour générer le site, vu que c'est le seul langage de programmation que je maîtrise un peu. En même temps, PHP n'est pas le meilleur truc pour lancer des commandes externes (par exemple ffmpeg
dans mon cas). C'est un peu des risque de sécurité, mais en même temps, dans mon cas, ça ne sera utilisé qu'en local.
Les métadonnées à éditer sont principalement les tags et la description.
Identifiant de film
Pour identifier le film, autant utiliser un identifiant déjà utilisé par une base de donnée sur internet. J'identifie trois possibilitées :
- IMDB - appartien à Amazon
- TMDB - gratuit, mais pas 100% libre
- Wikidata - méga riche et varié, mais un peu compliqué
J'ai testé l'API de TMDB, et j'arrive très vite à m'en sortir.
Et puis en fait, j'en ai pas besoin pour grand chose. Je pense surtout au titre du film et à l'année.
L'identifiant est un nombre entier incrémental.
refs
D'autres projets similaires
https://clip.cafe/ gratuit. Des extraits de films, basés sur les dialogues
- https://flim.ai/ payant
- https://video.flim.ai/ Ils ont une section vidéo
- https://refsee.com/
- https://shotdeck.com/ payant
- https://frameset.app payant
- https://www.filmboard.io/ payant
- https://film-grab.com/ gratuit, triés par films, site tranquille
- https://eyecannndy.com/ gifs animés triés par technique/réal/dop, très sympa, mais ça fait chauffer le PC 🥵!! géré par un certain Jacobi, réalisateur de clip.
- https://eyecannndy.com/resources/ Ils ont même des liens vers d'autres ressources !
- https://shot.cafe/ plus petit, gratuit, fait par une petite boite de production américaine
- https://www.moviestillsdb.com/ Site communautaire participatif
- https://www.evanerichards.com/ encore plus personnel. Pas de filtrage.
- https://movie-screencaps.com/ petit site. Beaucoup de captures par films. Pas de filtrage.
- https://moviesframes.tumblr.com/ Un blog avec une poignée de capture par film
Un peu différent
- https://yarn.co/ permet de trouver des extraits de films en cherchant par dialogue (très courts)
- https://sail.usc.edu/~mica/MovieCLIP/ MovieCLIP: Visual Scene Recognition in Movies