I can help a little on the ROS side.
I've used usb_cam. The best way to test it on your laptop is to clone the github repo to a src folder in your catkin workspace.
Change the video port in the launch file to whatever port your webcam is on. If an integrated camera is used, /dev/video0 should work. I use an external one, for which I use /dev/video1
All you have to do is a catkin_make and launch the node via:
roslaunch launch/usb_cam-test.launch
A video window should open. There will be a list of topics braoadcasting video data. I use /usb_cam/image_raw.
Edit: Tested in ROS Kinetic.