Large file upload guidelines
It is normal for the CPU usage to be at 100% when FFMPEG runs. Video compression is a computationally difficult task.

See this related question. If you have a two core VPS then you could make sure that FFMPEG only uses one core and thus always leaves at least one core for Apache/PHP/MySQL.

I created a similar site and it generally worked but it certainly had the occasional errors. It was a 4-core VPS and when transcoding all four cores were often at 100%. If I were to design the site again I think I would use a video transcoding service such as Amazon's Elastic Transcoder. Making sure FFMPEG would recognize all the different file encodings especially MP4 was quite a pain.