Je crée une visualisation 3D dans le traitement. Je prévois que chaque image prendra plus de temps à dessiner que c'est acceptable pour afficher l'animation en tant que programme, je voudrais donc l'exporter comme une vidéo. P>
est-ce possible? Quelle est la meilleure façon d'y aller? P>
5 Réponses :
Si vous n'utilisez pas le traitement 2.0 Vous pouvez utiliser la bibliothèque Moviemaker pour exporter le croquis comme une vidéo (dans le traitement 2.0 MovieMaker sera converti dans un outil, mais cela ne fonctionne pas encore). P>
Autre option consiste à utiliser la méthode Sauvegile () dans votre fonction Draw () P>
ici Vous pouvez trouver un exemple de comment utiliser Moviemaker P>
et ici Les documents de la méthode SAVEFRAME () P>
Sauvegarde () code> est définitivement la voie à suivre. Vous pouvez empiler ces cadres dans QuickTime Pro <7.6 si vous l'avez, qui possède une belle fonctionnalité de séquence d'image ouverte puis exportez-vous à un quicktime, ou vous pouvez essayer FFMPEG pour les coudre ensemble. ffmpeg.org
J'ai eu le même problème il y a un mois et j'avais utilisé aussi la technique QuickTime Saveframe () +
Yup, cela a bien fonctionné pour moi. Sauvegarde () Code> combiné avec FFMPEG.
Lorsque vous utilisez Saveframe () code> Je ne reçois pas tous les cadres, le résultat est à la traîne. Quelqu'un sache que puis-je faire?
@Jordanbelf lors de l'utilisation de l'économie () Il est normal d'avoir un faible framerate (en fonction de la taille de votre croquis, mais parfois, il peut parfois atteindre 1 FPS ou moins), mais vous devriez avoir tous les cadres exportés
Sauvegarde () ne doit pas être utilisé avec Millis () comme fonction de temps ... au lieu d'un saut fixe pour éviter le décalage. L'écriture sur le disque dur prend plus de temps que l'affichage à l'écran.
J'utilise toujours Saveframe () et Retard (), juste pour vous assurer que l'animation est lisse.
Le premier lien, concernant Moviemaker, est cassé.
La bibliothèque GSVideo ici aide à cela dans le traitement 2.0. A une classe "gsmovieremaker" avec des objets un peu comme décrit ci-dessus. P>
Il convient de noter que GSVideo dépend de Gstreamer, qui est courant sur de nombreuses distributions de Linux modernes, mais pas sur Windows ou OS X.
Cher peut utiliser le programme effectué par Randel Shofer, il vous suffit de modifier 8,10 lignes de code pour l'utiliser dans votre programme (et si vous avez plus de temps, vous pouvez le faire sans modifier le code source). < / p>
Programme (jar.) Lien: http://www.randelshofer.ch/cubetwister /files/quicktimedemo2.jar p>
Description: http: // www .Randelshofer.ch / Blog / 2010/10 / Écriture-QuickTime-Films-in-Pure-Java / P>
Le Exportation vidéo pour le traitement de la bibliothèque permet une exportation directe MP4 à partir du traitement. Cela vous oblige à installer FFMPEG sur votre système cependant. P>
Confirmant cela fonctionnait parfaitement avec P3 + Mac OS X.
Après une semaine de recherche, je me suis écrit un code très simple à l'aide des fichiers binaires FFMPRG:
if(frameCount<628){ saveFrame("temp/anim_#####.png"); }else if(frameCount == 628){ println("Saving file!"); processBuilder = new ProcessBuilder("G:/.../ffmpg/bin/ffmpeg.exe", "-r", "60", "-i", "C:/.../temp/anim_%05d.png", "-c:v", "libx264", "-r", "30", "-pix_fmt", "yuv420p", "C:/.../test.mp4"); try { process = processBuilder.start(); } catch (Exception e) { e.printStackTrace(); } }
Le professeur Shiffman a décrit la méthode intégrée ici, un mélange de Saveframe () et l'outil intégré IDE pour la fabrication de films de Sketches Execution youtube.com/watch?v=g2HI9XL6OYK