2016-12-22 3 views
1

Je suis en train de convertir un fichier .avi avec de l'audio en un fichier .mp4. J'ai écrit ce script 'avi2mp4.m' en utilisant la Computer Vision System Toolbox v7.2 avec le MATLAB R2016b.MATLAB: Utilisation de vision.VideoFileWriter et vision.VideoFileReader

vfr = vision.VideoFileReader('Cris Drift vs Patrick.avi', 'AudioOutputPort',true); 
vfw = vision.VideoFileWriter('Cris Drift vs Patrick.mp4', 'FileFormat','MPEG4', 'AudioInputPort',true, ... 
          'FrameRate',vfr.info.VideoFrameRate, 'Quality',90); 
while ~isDone(vfr) 
    [frame, audio] = vfr();  % [frame, audio] = step(vfr); 
    vfw(frame, audio);   % step(vfw, frame, audio); 
end 
release(vfr); 
release(vfw); 

mais je reçois cette erreur:

Error using vision.VideoFileWriter/parenReference Too many input arguments; expected 1 (in addition to the object handle), got 2.

Error in avi2mp4 (line 16) vfw(frame, audio);

Je ne sais pas pourquoi? Je dois passer les données audio comme argument pour l'écrire avec les données vidéo. Il est la même syntaxe que décrit dans la documentation Matlab

Répondre

0

Avec vision.VideoFileWriter vous pouvez écrire uniquement audio et vidéo lorsque le format AVI ou WMV est. Si vous avez reçu un avertissement à propos de la propriété AudioInputPort qui n'est pas pertinente lorsque vous définissez cette propriété, cela signifie que l'audio n'est pas pris en charge dans cette configuration.

+0

Je le code personnalisé above' – B0bbyR4y

+0

Je le code personnalisé pour l'objet VideoFileWriter 'VFW = vision.VideoFileWriter ('Chris_Drift_vs_Patrick.avi', 'FileFormat', 'AVI', 'AudioInputPort', true, 'FrameRate', vfr .info.VideoFrameRate); Maintenant, cette erreur est affichée "Erreur lors de l'utilisation de VideoFileWriter/parenReference Impossible de créer le profil Writer ASF." Idem au format AVI – B0bbyR4y

+0

Pouvez-vous indiquer quelle est la taille de la vidéo et de l'audio, et quelle est la fréquence d'images? – Navan