Recent literatures have demonstrated the feasibility and applicability of light-to-camera communications. They either use this new technology to realize specific applications, e.g., localization, by sending repetitive signal patterns, or consider non-line-of-sight scenarios. We however notice that line-of-sight light-to-camera communications has a great potential because it provides a natural way to enable visual association, i.e., visually associating the received information with the transmitter's identity. Such capability benefits broader applications, such as augmented reality, advertising, and driver assistance systems. Hence, this paper designs, implements, and evaluates RollingLight, a line-of-sight light-to-camera communication system that enables a light to talk to diverse off-the-shelf rolling shutter cameras. To boost the data rate and enhance reliability, RollingLight addresses the following practical challenges. First, its demodulation algorithm allows cameras with heterogeneous sampling rates to accurately decode high-order frequency modulation in real-time. Second, it incorporates a number of designs to resolve the issues caused by inherently unsynchronized light-to-camera channels. We have built a prototype of Rolling- Light with USRP-N200, and also implemented a real system with Arduino Mega 2560, both tested with a range of different camera receivers. We also implement a real iOS application to examine our real-time decoding capability. The experimental results show that, even to serve commodity cameras with a large variety of frame rates, RollingLight can still deliver a throughput of 11.32 bytes per second. Copyright is held by the owner/author(s).