Instead of delivered directly by the base station (BS), in a device-to-device multicast (D2MD) system, the multimedia content is broadcasted to the request nodes (RNs) by the head node (HN) that has cached the content, and thus the system's performances can be greatly improved. However, the content delivery consumes energy. If the cost cannot get compensated from the cooperation, the HN may refuse to serve the RNs due to the selfish and rational nature. In such a case, how to stimulate the HN to cooperate is an essential issue. In this paper, we propose an indirect reciprocity game framework to investigate the D2MD stimulation problem, where the service level of the content and the location distribution of the RNs are taken into account. In the game, the HN will be assigned a reputation value after its delivery (i.e., action), based on which the HN can get some rewards in the future. Due to the channel fading gain, the HN's action and reputation value will be distorted. Taking such a distortion into consideration, we propose a reputation updating policy to update the HN's reputation, where the deviation of the HN's reputation is captured by the concept of reputation distributions. We prove theoretically that even under the influence of channel fading, there exists a stationary reputation distribution of the whole system. To find the optimal action rule of the HN in the game, we propose a modified value iteration algorithm. We prove that within an appropriate cost-to-gain ratio, the optimal action for the HN is to serve all the RNs. Such an optimal strategy is also proved to be an evolutionarily stable strategy (ESS) under the perturbation effect of the HN's action selection. The simulation results show that the proposed scheme is superior to the existing schemes in terms of portion of the served RNs, system throughput and energy efficiency.