When videos are watched through mobile networks, their request delay may be long and could seriously degrade the quality of experience of users. One promising way to resolve this issue is to introduce cache systems into the concerned mobile networks. Cache systems are typically composed of three layers, the top layer of online video service providers, the middle layer of core networks to transmit the requested videos, and the bottom layer of base stations which directly provide users the requested videos. These layers are equipped with different types of caches and form a hierarchical mobile video caching system to provide videos requested by mobile users. As the concerned cache systems at all layers have limited space, we have to solve two critical problems: 1) how to make wise caching decision regarding the most popular videos, 2) how to efficiently coordinate caches at the same layer and different layers for better caching performance. We formulate these two problems into an integer optimization. To solve this optimization, we define a cache benefit for each video in each cache, which quantitatively measures the performance benefit of caching that video in the concerned cache. Based on that cache benefit, we propose a distributed cross-layer coordination algorithm to solve the caching optimization problem. Moreover, a video migration algorithm between different caching layers is proposed to further improve the caching performance. Simulations were done to confirm that our caching algorithms outperform the popular Inclusive Cache Hierarchy and Exclusive Cache Hierarchy algorithms.