2012-07-20 2 views
2

Je voudrais ajouter automatiquement une balise de «regardé» à mes films après les avoir regardés, afin que je puisse garder une trace de ceux que je n'ai pas encore vu. En ce moment, j'ai deux dossiers 'Unwatched' et 'Watched' que je dois déplacer manuellement les films entre.Auto Tag fichiers vidéo après regarder

Le développeur paresseux en moi préfèrerait passer quelques heures à programmer un script pour faire cela pour moi au lieu du travail manuel de déplacement des fichiers pendant quelques secondes. J'ai lu brièvement sur Internet à propos de getMetadata pour Powershell, mais je suis toujours dans le noir à propos de cette méthode. Y at-il une bonne documentation sur Powershell et toutes ses fonctions? Est-ce que cela fera ce que je veux qu'il fasse?

Une fonctionnalité avancée que je voudrais est de dire combien de temps j'ai joué le fichier. Parfois, j'ouvre un fichier vidéo pour vérifier la qualité et je le ferme immédiatement. J'utilise généralement VLC sur Windows 7 (64 bits) mais si cela peut être fait plus facilement quand je regarde des films en WMP, je serai ouvert à cela.

+0

[link] http://powershell.com/cs/blogs/tobias/archive/2011/01/07/organizing-videos-and-music.aspx [/ link] - Devrait, je l'espère, m'aider à obtenir et à définir les propriétés du fichier. J'ai toujours besoin d'aide pour déclencher automatiquement ce script avant de regarder un film. – rsromano

Répondre

1

Ce n'est peut-être pas simple!

Dans un monde idéal, ce que vous voulez (si je le comprends), votre lecteur multimédia marque automatiquement une vidéo telle qu'elle est vue dans ses métadonnées. Il y a vraiment deux puzzles distincts ici - le premier est comment obtenir votre lecteur multimédia pour exécuter un script après avoir fini de regarder une vidéo et d'autre part comment mettre à jour les méta-données vidéo.

Je ne suis pas sûr si un lecteur multimédia a la possibilité d'exécuter un script après la fin d'une vidéo. Je suppose que vous pourriez plonger profondément et écrire votre propre lecteur multimédia, en utilisant quelque chose comme Silverlight pour faire les choses difficiles. Je te souhaite bonne chance! :-)

Un exemple plus simple pourrait être d'utiliser une fonction PowerShell le long des lignes de:

Show-Video { 
    param ($filetoplay, 
     [switch] $tag) 

# play the video 
    mediaplayer $filetoplay # check with your media player for details on how to call it 

# when we're done: 
    If ($tag) {Update-Metadata -file $filetoplay} 

} 

le besoin de vous pour ranger tout ça, ajouter un peu de vérification des erreurs, etc. Mais vous avez l'idée.

La deuxième question est de savoir comment mettre à jour les métadonnées. Les métadonnées sont des données sur les données. Les données en question sont un AVI (ou quel que soit le média), les métadonnées sont des informations sur cet AVI. Les métadonnées sont ajoutées à un fichier multimédia, généralement au début du fichier. Votre défi sera d'ouvrir ces métadonnées, et de le mettre à jour de manière à ce que le lecteur multimédia, et al, puisse le comprendre!

J'ai trouvé un message cool par Joel qui explique comment le faire - http://huddledmasses.org/editing-media-tags-from-powershell/. Il nécessite une bibliothèque externe (TabLib Sharp - téléchargement de: http://download.banshee.fm/taglib-sharp). Je ne suis pas sûr s'il existe un élément de métadonnées 'regardé/non surveillé' que vous pouvez utiliser, mais j'espère que cela vous permettra de commencer.

+0

Oui, je réalise clairement les deux défis distincts qui doivent être surmontés. Pourrais-je avoir un double-clic sur le fichier, ouvrir un script PowerShell qui reçoit le fichier, lancer une minuterie, puis lancer le fichier dans un lecteur multimédia, puis arrêter le minuteur lorsque le fichier est fini de jouer? Est-ce ce que vous décrivez ci-dessus? En outre, j'espérais utiliser le champ de tag intégré à Windows 7 (http://www.techrepublic.com/blog/window-on-windows/tag-your-files-for-easier-searches-in- windows-7/4024). Les drapeaux observés pourraient être contenus là-dedans. – rsromano