how to process multiple video files from a folder

I am in the process of processing numerous video files from a folder, so I need a sample support for processing one video file at a time. I am using the following snippet, but I am getting stuck with the following additional parameter when I look at the file name, which is halting my progress. Any assistance would be greatly appreciated.
folder = 'C:\Video_file\';
files = dir(folder)
files = 0×1 empty struct array with fields: name folder date bytes isdir datenum
files.name
numel(files.name)
Error using numel
Not enough input arguments.
ans =
162 % on my windows system
I see followig output
files.name
ans =
'.' % this is NOT required
ans =
'..' % this is NOT required
ans =
'dummy1.avi'
ans =
'dummy2.avi'
Thank you very much.

4 Comments

By far the simplest approach is to specify the filename (using wildcards as required) and fileextension:
F = 'C:\Video_file\';
S = dir(fullfile(F,'*.avi'))
That makes sense.
I can view the files and don't notice any new syntax. Aside from that, how can I process one file at a time? If I consider
numel(S.name)
, I observe return as 46 rather than two files since I want to loop through the files one by one. Could you please help me?
Thank you very much.
numel(S.name) % this will throw an error if S has zero/multiple elements.
"I want to loop through the files one by one"
You can simply loop over the elements of S:
S = dir(..);
for k = 1:numel(S)
F = fullfile(S(k).folder,S(k).name);
% do whatever you want with filename F
end
Thank you very @Stephen23
I could implement my solution.

Sign in to comment.

Categories

Products

Release

R2023a

Asked:

on 21 Aug 2023

Commented:

on 22 Aug 2023

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!