2010-10-08 27 views
1

Nous développons une application pour prendre des fichiers vidéo dans différents formats, effectuer une édition simple pour les fichiers, et les sortir dans un format spécifique.Charger le fichier vidéo et sélectionner des images individuelles

Je peux gérer tout sauf la partie d'édition via FFMPEG, car l'édition nécessite un utilisateur pour spécifier certaines choses. J'ai besoin d'un utilisateur pour spécifier toutes les plages de trames qui doivent être coupées (uniquement depuis le début ou la fin, jamais le milieu), les numéros de début/fin d'image pour l'entrée ou la sortie, et le texte superposé. J'ai vu à la fois Splicer et les wrappers Directshow.NET, mais je ne suis pas sûr que cela vaille la peine d'apporter toute l'édition dans notre application, et pas seulement utiliser avisynth/ffmpeg/mencoder pour effectuer le réel éditer après que l'utilisateur a placé toutes les choses ci-dessus. Tout ce dont j'ai vraiment besoin, c'est d'un contrôle ou d'un wrapper pour que je puisse créer un contrôle qui va lire/mettre en pause une vidéo, passer d'une image à l'autre et me permettre de saisir le numéro d'image spécifique de la vidéo. Je peux générer des fichiers AVS à partir de cela pour faire le reste. Ce serait bien si elle utilisait DirectShow à un certain niveau pour que tous les codecs installés sur la machine soient disponibles, car les vidéos pourraient être en WMV, FLV, Divx, MP4, etc. pour commencer et nous devons soutenir tous les utilisateurs. de celles.

Toutes les idées ou suggestions seront considérées, mais nous allons pour la mise en œuvre la plus rapide (écriture de code, pas d'exécution).

Répondre

1

Ce que nous avons fini par faire:

Nous avons utilisé le contrôle du lecteur Windows Media pour laisser les sélectionner des points d'utilisateur dans la vidéo à définir pour les fades et la coupe. Nous générons ensuite un script Avisynth à partir de celui-ci et l'exécutons via mencoder pour obtenir la vidéo finale.

Nous avons décidé d'utiliser la propriété double du contrôle WMP qui spécifie la position actuelle dans la lecture du clip. Ceci était suffisamment précis pour que nous ayons besoin de générer un nombre d'images à partir des images du clip par seconde et currentPosition à utiliser dans le script AviSynth.

+0

Eh bien, il se trouve que quelque chose n'est pas aussi précis qu'il devrait l'être. Je suppose que la propriété currentPosition du contrôle WMP n'est pas complètement précise, plus le fichier que nous sommes est éloigné, plus les nombres d'images deviennent réels, comme rapporté par AviSynth. – Matt