- ビデオおよびオーディオ ファイルのサポート形式:トラブルシューティング: ビデオ ファイル読み取り時のエラー
内部リソースを初期化できませんでした。の解決方法
11 views (last 30 days)
Show older comments
MP4を一定のフレーム間隔で抽出しAVIに変換する関数を実装しました。
function CalibrationSource_Gen_MP4toAVI(VideoName,OutputTotalFrameNum)
%CALIBRATIONSOURCE_GEN_MP4TOAVI この関数の概要をここに記述
% 詳細説明をここに記述
VideoNameExt = strcat(VideoName,".MP4");
vidObj = VideoReader(VideoNameExt);
OutVideoName = strcat("CalibSrc",VideoName);
writer = VideoWriter(OutVideoName,'Motion JPEG AVI');
writer.FrameRate = 30;
FramePeriod = idivide(int16(vidObj.NumFrames),int16(OutputTotalFrameNum))
open(writer);
frame_num = 1;
while hasFrame(vidObj)
I = readFrame(vidObj);
if rem(frame_num,FramePeriod) == 0
writeVideo(writer,I);
end
frame_num = frame_num + 1;
end
clear reader
close(writer)
end
しかし関数を実行すると以下のエラーのようにVideoReaderオブジェクトの作成の段階で内部リソースを初期化出来ず、エラーが生じます。
>> CalibrationSource_Gen_MP4toAVI("DJI_0058",40)
次を使用中のエラー: VideoReader/initReader
内部リソースを初期化できませんでした。
エラー: audiovideo.internal.IVideoReader (行 136)
initReader(obj, fileName, currentTime);
エラー: VideoReader (行 104)
obj@audiovideo.internal.IVideoReader(varargin{:});
エラー: CalibrationSource_Gen_MP4toAVI (行 6)
vidObj = VideoReader(VideoNameExt);
同じコードをその他のマシンで実行すると問題なく実行出来ます。
またPC、Matlabの再起動、キャッシュのリセットを実行しても変わりません。
こちらの対処方法について助言をいただきたいです。
0 Comments
Answers (1)
covao
on 17 Mar 2024
Windowsにインストールされているコーデックが原因で VideoReaderのエラーが発生している可能性があります。
MATLAB が適切なコーデックにアクセスできない、または、サードパーティのコーデックをインストールしているなど
下記に情報があります。
0 Comments
See Also
Categories
Find more on ビッグ データの処理 in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!