I have a simple task which I want to achieve.
I am trying to encode multiple files using ffmpeg on command line using C#.
This is what I want to achieve.
Assume there are 'x' number of files in a list. And I want to run 'y' number of encoding processes simultaneously. After all files are encoded I am merging all x files. Encoding and merging part is done. Where I am stuck is the simultaneous working. I am familiar with backgroundworker, threadpooling, ParallelFor but all of these aren't giving me the result that I want. May be my approach is wrong. So I would appreciate if someone could help me how should I go about it and solve this problem using 1 technique or a combination of few.
P.S. While the files are encoding, I want to be able to update a progress bar on screen (Simple Form). Obviously I would want the process to be as fast as possible.