2008-09-16 5 views
4

J'ai un simple fichier WPF (XAML) qui contient des formes animées et du texte. L'animation n'a pas de comportement interactif. Je veux enregistrer cette animation sous la forme d'un fichier vidéo que j'ai l'intention d'utiliser plus tard comme écran "intro" pour un screencast. Ce dont je pense avoir besoin: Code C# qui prend un fichier XAML d'entrée et crache un WMV de haute qualité à (par exemple à 24fps).Comment transformer un fichier XAML/WPF en vidéo (AVI, WMV, etc.)

alternatives possibles J'ai étudié déjà

  1. enregistrement avec le logiciel d'enregistrement d'écran comme Camtasia Studio. Cela fonctionne mais les animations ne sont pas aussi douces surtout quand l'animation a beaucoup de transitions ou de mouvement

  2. Utilisez le matériel comme DVI2USB par les systèmes Epiphan. Coûte trop Je n'ai pas essayé.

  3. Enregistrer une sortie TV (S-Vidéo, etc.) en utilisant une carte DVR - Basse qualité et basse résolution.

Mise à jour le 28 oct 2008 - code source de travail

Ce billet de blog a un exemple de code source de travail plein d'exportation WPF/XAML comme AVI. Ce n'est pas aussi vite que je le voudrais, mais cela fonctionne pour mes besoins:

link to MSDN blog bost

Répondre

4

cadres avec Render RenderTargetBitmap, puis encoder avec le codec de votre choix. Pas très rapide, mais 24 fps sont réalisables sur un PC régulier. Nous utilisons une technique similaire pour alimenter le flux vidéo depuis les nouveaux indicateurs WPF vers le système bitmap existant. Il pourrait y avoir une meilleure solution, mais cela fonctionne.

J'ai aussi entendu parler d'une solution avec tirant cadre rendu de tampons DirectX qui WPF utilise en interne qui fonctionne beaucoup plus vite que RenderTargetBitmap, mais il semblait trop peu fiable pour utiliser dans un système de production

Mise à jour: il vous semble RenderTargetBitmap ne devrait pas avoir de problème en temps réel.

Questions connexes