2016-12-22 4 views
1

Я пытаюсь преобразовать файл .avi со звуком в файл .mp4. Я написал этот скрипт «avi2mp4.m» с помощью System Vision System Toolbox v7.2 с MATLAB R2016b.MATLAB: Использование зрения.VideoFileWriter и 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); 

, но я получаю эту ошибку:

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);

Я не знаю, почему? Мне нужно передать аудиоданные в качестве аргумента, чтобы записать их с видеоданными. Это тот же синтаксис, как описано в документации MATLAB

ответ

0

С vision.VideoFileWriter вы можете писать аудио и видео только тогда, когда формат AVI или WMV. Если вы получили предупреждение о свойстве AudioInputPort, которое не имеет значения, когда вы устанавливаете это свойство, что означает, что звук не поддерживается в этой конфигурации.

+0

Я настроил код above' – B0bbyR4y

+0

Я настроил код объекта VideoFileWriter 'VFW = vision.VideoFileWriter ('Chris_Drift_vs_Patrick.avi', 'FileFormat', 'AVI', 'AudioInputPort', правда, 'FrameRate', VFR .info.VideoFrameRate); '. Теперь эта ошибка отображается «Ошибка при использовании VideoFileWriter/parenReference Не удалось создать профиль ASF Writer». То же самое с форматом AVI – B0bbyR4y

+0

Можете ли вы сообщить, каков размер видео и аудио, а также частота кадров? – Navan