2016-09-06 5 views
1

방금 ​​컴퓨터 비전 시스템 도구 상자의 30 일 평가판을 받았으며 방금 테스트했습니다. 나는 오디오에서 비디오를 분리이 코드 online 발견, 난 단지 오류비디오 파일에서 오디오 추출

file='movie.AVI'; 
file1='targetfile.wav'; 

hmfr= video.MultimediaFileReader(file,'AudioOutputPort',true,'VideoOutputPort',false); 
hmfw = video.MultimediaFileWriter(file1,'AudioInputPort',true,'FileFormat','WAV'); 

while ~isDone(hmfr) 
audioFrame = step(hmfr); 
step(hmfw,audioFrame); 
end 

close(hmfw); 
close(hmfr); 

하지만 난 그것을 실행할 수 없습니다를 얻을 : Undefined variable "video" or class "video.MultimediaFileReader". 나는 이것이 무엇을 의미하는지 확실히 모르겠어요를, 그것은을 참조하지 않습니다 내 코드 또는 컴퓨터 비전 시스템 도구 상자? 나는 모든 요구 사항을 가지고 있으며 추가 기능 관리자가 올바르게 설치되었다고 말하면서이 오류가 발생하는 이유를 잘 모릅니다.

+0

하는 사람이 내가 여기의 코드를 가지고 궁금 경우 https://www.quora.com/How-do-I-extract-and-interpret-audio-from-a-video-file-using -MATLAB – Mia

+2

[해당 클래스] (http://www.mathworks.com/help/vision/ref/vision.videofilereader-class.html)는 [비전]의 일부이기 때문에 (http : //www.mathworks .com/help/vision/systemobjectslist.html) 패키지 네임 스페이스는'video'가 아니라. – TroyHaskin

+0

도구 상자와 관련된 설명서에 따르면 video.MultimediaFileReader (및 Writer)는 지원되는 시스템 개체입니다. 그게 똑같은가요? – Mia

답변

4

귀하의 작업이 생각보다 쉽다고 생각합니다. 도구 상자를 사용하지 않고도 작업을 수행 할 수 있습니다.

의 그 방법 : -
1.는 비디오 파일을 읽고 audioread 사용하여 샘플 속도를 얻을.
2. 그런 다음 audiowrite을 사용하여 오디오 파일로 씁니다.

[input_file, Fs] = audioread('movie.AVI'); 
audiowrite('target_file.WAV', input_file, Fs); 

%If your path is set to default then MATLAB may give you 'Permission Denied' Error. 
%Change the path or give different full path like: 'D:\target_file.WAV' while audiowriting 
+1

이것은 맞습니다! 나는 내가 그것을 놓쳤다라고 생각할 수 없다! @rayryeng 설명서는 다음과 같습니다 : http://www.mathworks.com/help/matlab/ref/audioread.html says : audioread는 Windows 7 이상에서 MPEG-4 (.mp4, .m4v) 비디오 파일의 오디오를 추출 할 수 있습니다 . 도와 주셔서 대단히 감사합니다. 그러나 나는 2010b 비디오 문서가 나의 질문에 있다고 말 할 것이다. – Mia

+1

@Mia! Windows 7 이상 및 Linux의 .wmv 및 .avi 파일에서도 사용할 수 있습니다. –

관련 문제