2009-12-14 3 views
1

J'ai rencontré des exemples de codes dans lesquels des images sont ajoutées pour créer un film QTmovie.Création d'un fichier vidéo à partir d'images et d'audio (préenregistré)

Je cible ceci pour la plate-forme OS X sans aucun framework QT. J'ai l'idée de créer un fichier avec extension et l'intégrer avec les métadonnées appropriées et de trouver un moyen d'insérer des images et des fichiers audio dans le format requis. Ainsi, lorsque le fichier est créé, il peut simplement être joué.

Je ne suis pas sûr de quel format/extension est le meilleur. Les pointeurs sont très appréciés.

Répondre

0

Sans QuickTime (ou un environnement multimédia équivalent), ce que vous décrivez est un travail considérable. Habituellement, vous utiliseriez un algorithme de compression vidéo (tel que H.264) pour encoder vos images en vidéo, et un algorithme de compression audio (tel que AAC) pour encoder votre piste audio. Ensuite, vous écrivez ces flux dans un fichier conteneur, tel qu'un fichier MPEG-4, qui entrelace les flux pour la lecture, contient des métadonnées et des index, etc. Ensuite, pour la lecture, vous devez analyser le fichier, décoder les données vidéo et audio et les programmer pour la lecture, en veillant à les synchroniser. QuickTime fait tout cela (et plus) pour vous, et ce serait une énorme entreprise de tout écrire vous-même. Y a-t-il une raison pour laquelle vous utilisez OS X mais ne pouvez pas utiliser QuickTime? Étant donné que la question est tagguée avec un iPhone, pourquoi ne pas utiliser simplement QTKit? Si vous deviez le faire à partir de rien, vous pourriez adopter une solution très simple pour stocker votre séquence d'images sous la forme d'un ensemble de fichiers JPEG (mais vous auriez besoin de libjpeg, utilisez du RVB brut ou du PPM si nécessaire), la piste audio en tant que données WAV brutes, puis avoir un autre fichier (un fichier texte que vous définissez) qui stockait les informations de synchronisation, de sorte que vous diffusiez simplement l'audio et que les numéros d'image des images stockées avec leur timecode/échantillon décalage. C'est une solution très simple qui pourrait être faite pour travailler sans trop d'effort.

Si vous nous donnez une idée plus précise de ce que vous essayez d'atteindre, nous pourrions vous proposer des suggestions plus spécifiques.

+0

Merci pour la réponse rapide. J'ai un ensemble d'images à partir d'une application et l'application permet à l'utilisateur de sélectionner un fichier audio. Ma tâche consiste simplement à créer un fichier vidéo parmi ceux-ci. Ensuite, le fichier est téléchargé. ce fichier devrait être compatible avec d'autres lecteurs vidéo (format de base). Je ne veux pas implémenter mon propre lecteur pour les fichiers. Et oui c'est pour les combinés mobiles (la priorité étant l'iPhone) – user219393

+0

L'utilisation de H.264 pour la vidéo, AAC pour l'audio et M4V (MPEG-4) pour le conteneur devrait vous donner le plus grand soutien. C'est le format préféré pour QuickTime et l'iPhone, et il est également supporté par les versions récentes de Flash. Si vous pouvez utiliser QuickTime pour les créer, jetez un oeil à l'API QTKit, où vous pouvez créer un 'QTTrack' et ajouter vos images avec addImage: forDuration: withAttributes :, ajoutez votre audio comme une autre piste, puis enregistrez-le. – gavinb

+0

Super! Je pense que j'ai besoin d'étudier ces derniers dans plus de détails. merci pour la direction. Toute aide en ligne disponible? – user219393

0

Si vous voulez écrire un programme pour ce faire, vous pouvez utiliser Xuggler en Java pour le faire. Il vous permettra d'enregistrer votre vidéo finale dans un format jouable par presque n'importe quel lecteur multimédia. Commencez par comprendre comment les fichiers vidéo (par exemple, MP4, Quicktime) représentent réellement l'audio et la vidéo avec Overly Simplistic Guide to Internet Video.

Ensuite, jouez avec le MediaTool tutorials. Vous pouvez écrire des programmes qui font des images brutes dans des fichiers vidéo (voir sample code). Enfin, pour écrire un programme qui rend l'audio et la vidéo synchronisés, voir this tutorial; il génère un ensemble d'images et produit un bruit audio qui est chronométré pour changer quand une balle frappe le bord d'une boîte.

Espérons que ça aide.

Art

+0

Merci Clarke, je vise cette application pour iPhone maintenant. donc java n'est pas une création du fichier option.encoding et vidéo doit être lui-même sur l'appareil de sorte que son compatible sur les ordinateurs de bureau, etc. ..,., donc je vais H.264. Existe-t-il des bibliothèques C ou des cadres que je peux utiliser dans Xcode, pour y parvenir? – user219393

+0

FFmpeg est la voie à suivre en C (rien d'autre, même à proximité). –

Questions connexes