2016-09-06 11 views
1

私はComputer Vision System Toolboxの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

あなたの仕事はあなたが思っているよりはるかに簡単だと思います。これは、ツールボックスに依存せずに行うことができます。あなたのビデオファイルを読み、audioreadを使用して、そのサンプルレートを取得
1. - :方法です


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:audioreadはWindows 7以降のMPEG-4(.mp4、.m4v)ビデオファイルからオーディオを抽出できます。あなたのお手伝いをさせていただきありがとうございます。しかし、私は、2010bビデオのドキュメンテーションが私の質問にあると言います。 – Mia

+1

@Mia!また、Windows 7以降のLinuxおよび.wmvファイルや.aviファイルからも! –

関連する問題