The invention discloses a method of intelligently switching hard decoding to soft decoding to play a video in a mobile terminal. The method comprises the steps of demultiplexing an initial audio and video format to obtain a target audio and video; capturing video description information and video stream data of the target audio and video; filtering proper profile and level attributes according tovideo stream information, and performing soft decoding on improper profile and level attributes by using FFmpeg; searching a proper hard decoder name according to the video stream information, if proper hard decoder name is not found, performing soft decoding by using FFmpeg; creating a hard decoder according to hard decoding name, if creation fails, performing soft decoding by using FFmpeg; decoding audio data by using default FFmpeg; decoding the data stream data by using the hard decoder, and if decoding fails, performing soft decoding by using FFmpeg again; and rendering decoding data to play the target video, if play fails, performing soft decoding by using FFmpeg again. In the prior art, hard decoding cannot be used preferentially to support multiple multimedia video formats and multiple stream media protocols in Android. The method solves the above problem, lowers CPU use ratio in play and slows down power consumption by CPU in play.