I want to take two video inputs say one from camera through hdmi/dvi etc and one through laptop(some presentation running in it). One, I want to mix these two video streams and take it out as a single video with both the videos running parallely. Videos running side by side or picture in picture format. Secondly how can I webcast this video?
Your best bet for this is to use streaming software. Open Broadcaster Software for example is able to take a video capture device input (such as using an HDMI capture device and an HDMI camera, or simply using a high end web cam) and combine it with a screen capture (built in feature) and turn it in to a video stream on the fly. It can then relay this stream to a stream service of your choice, such as YouTube or you can use your own media server such as a RED 5 instance (though running your own server is far more complicated.)
ffmpeg will do everything you request. It can capture both the screen and the video input, compose that to a single image, and stream it... You should look at it... Its a command line utility, but very well documented