I am having similar problem with this. The answer is in this forum (https://groups.google.com/forum/#!msg/javacv/yD99RSl7oCI/KQIRoOIqcK4J)
try using javaCV.OpenCVFrameGrabber instead of VideoInputFrameGrabber.
Change the line 'FrameGrabber grabber = new VideoInputFrameGrabber(0); // 1 for next camera'
to 'FrameGrabber grabber = new OpenCVFrameGrabber(0); // 1 for next camera'
now it works for me everytime.
Hope it helps!