2013-02-18 5 views
0

J'effectue un traitement sur la sortie de la caméra sur l'iPhone que je ne peux effectuer que sur l'appareil. J'ai maintenant besoin de stocker chaque trame traitée avec quelques informations supplémentaires qui ont été fournies par l'étape de traitement. En fin de compte, j'ai besoin d'ouvrir les données dans Matlab pour les analyser plus avant.Comment stocker des données par image dans un fichier vidéo sur iOS pouvant être ouvert par Matlab?

Actuellement, j'utilise AVAssetWriter pour écrire un fichier mov et créer simultanément un fichier data.txt séparé que je me suis envoyé à la fin de chaque enregistrement.

Ce processus est désagréable car cela signifie que je dois télécharger le fichier data.txt chaque fois que j'enregistre quelque chose. Ensuite, je dois importer le fichier vidéo à partir du téléphone (je ne peux évidemment pas envoyer le fichier vidéo par courrier électronique parce que c'est trop gros pour le courrier électronique) et puis je dois leur donner un nom commun.

Existe-t-il un format vidéo supporté par iOS et que je puisse ouvrir dans Matlab, ce qui me permettrait d'obtenir des données par image ET des métadonnées? Y at-il une meilleure méthode que ce que je fais actuellement? J'ai vu qu'il y a un AVMediaTypeText mais je n'ai pas trouvé d'exemple de code pour cela et je doute que je puisse l'entrelacer dans un fichier mov ...

+0

http://www.mathworks.com.au/help/matlab/ref/videoreaderclass.html - Apparemment, vous pouvez ouvrir les fichiers .mov. –

+0

@Fabian Tamp Je sais comment ouvrir les fichiers mov. Je voudrais pouvoir enregistrer un seul format vidéo et ouvrir le fichier vidéo dans matlab et être capable d'obtenir des données d'image de bot et des métadonnées par image simultanément au lieu du processus longwinded que j'ai décrit ci-dessus. – twerdster

+0

... je l'ai compris, je comprends votre question maintenant. Désolé pour ça. –

Répondre

0

Il me semble que vous devriez créer un "métafichier" qui inclut les informations sur le nom et emplacement du film - puis passez à matlab le nom du métafichier à partir duquel il accède à toutes les métadonnées et détermine le fichier vidéo à ouvrir. En d'autres termes, tournez le problème: au lieu d'ajouter des méta-données au mov, ajoutez des informations mov au méta-fichier.

Je pense que cela résoudrait 90% des maux de tête auxquels vous faites référence?

+0

C'était ma solution originale, mais je ne pouvais pas comprendre comment obtenir le nom du fichier vidéo par programme. Je peux obtenir son NSURL mais cela ne semble pas inclure son nom de fichier ... – twerdster

+0

C'est bizarre. Pouvez-vous obtenir une liste de répertoires de NSURL juste avant et juste après avoir créé le nouvel actif, et déduire le nom de fichier de la différence? Ou créez un emplacement unique pour un fichier donné - ainsi vous savez que le seul fichier dans cet emplacement est celui que vous voulez. Cela ressemble à un hack terrible ... – Floris

Questions connexes