Wireless detection of respiration rates is crucial for many applications. Most of the state-of-the-art solutions estimate breathing rates with the prior knowledge of crowd numbers as well as assuming the distinct breathing rates of different users, which is neither natural nor realistic. However, few of them can leverage the estimated breathing rates to recognize human subjects (also known as identity matching). In this article, using the channel state information (CSI) of a single pair of commercial WiFi devices, a novel system is proposed to continuously track the breathing rates of multiple persons without such impractical assumptions. The proposed solution includes an adaptive subcarrier combination method that boosts the signal-to-noise ratio (SNR) of breathing signals, and iterative dynamic programming and a trace concatenating algorithm that continuously tracks the breathing rates of multiple users. By leveraging both the spectrum and time diversity of the CSI, our system can correctly extract the breathing rate traces even if some of them merge together for a short time period. Furthermore, by utilizing the breathing traces obtained, our system can do people counting and recognition simultaneously. Extensive experiments are conducted in two environments (an on-campus lab and a car). The results show that 86% of average accuracy can be achieved for people counting up to four people for both cases. For 97.9% out of all the testing cases, the absolute error of crowd number estimates is within 1. The system achieves an average accuracy of 85.78% for people recognition in a smart home case.