The aim of this chapter is to describe a new people counting technique based on spatio-temporal optical flow analysis. Using a single vertical overhead or oblique-mounted camera, our technique counts the number of people crossing a virtual line via an online blob detector and a linear classifier. In addition to the counting information, this technique identifies the speed of the observed blobs: fast, slow and stationary. It also identifies the nature of the blob: one person, two persons and group of persons. The suggested technique was validated by several realistic experiments. We showed the real-time performance and the high counting accuracy of this technique in indoor and outdoor realistic dataset.