A method performed at a player for selecting a bitstream segment based on streaming media, the method comprises: Obtaining segment information of each segment of at least two segments corresponding to a first time in the streaming media, wherein the segment information comprises segment quality; Selecting, according to the segment quality of each segment and a preset quality threshold, an initial segment from the at least two segments corresponding to the first time; and obtaining buffer parameter information of a terminal, wherein the buffer parameter information comprises a preset buffer threshold; and if it is determined, according to segment information of the initial segment and the buffer parameter information of the terminal, that the downloading of the initial segment does not cause an available buffer of the terminal to be less than the preset buffer threshold, determining that the downloading of the initial segment does not cause a play exception of the terminal, using (S 13) the initial segment as a selected bitstream segment; characterized in that, after the obtaining buffer parameter information of the terminal, the method further comprises: if it is determined, according to the segment information of the initial segment and the buffer parameter information of the terminal, that the downloading of the initial segment causes the available buffer of the terminal to be less than the preset buffer threshold, sequentially selecting, from all the segments corresponding to the first time, a second segment whose segment quality is less than segment quality of the initial segment, using the second segment as an updated initial segment, repeating the foregoing steps until it is determined that downloading of the updated initial segment does not cause the available buffer of the terminal to be less than the preset buffer threshold, and using the updated initial segment as a selected bitstream segment. Obtaining segment information of each segment of at least two segments corresponding to a first time in the streaming media, wherein the segment information comprises segment quality; Selecting, according to the segment quality of each segment and a preset quality threshold, an initial segment from the at least two segments corresponding to the first time; and obtaining buffer parameter information of a terminal, wherein the buffer parameter information comprises a preset buffer threshold; and if it is determined, according to segment information of the initial segment and the buffer parameter information of the terminal, that the downloading of the initial segment does not cause an available buffer of the terminal to be less than the preset buffer threshold, determining that the downloading of the initial segment does not cause a play exception of the terminal, using (S 13) the initial segment as a selected bitstream segment; characterized in that, after the obtaining buffer parameter information of the terminal, the method further comprises: if it is determined, according to the segment information of the initial segment and the buffer parameter information of the terminal, that the downloading of the initial segment causes the available buffer of the terminal to be less than the preset buffer threshold, sequentially selecting, from all the segments corresponding to the first time, a second segment whose segment quality is less than segment quality of the initial segment, using the second segment as an updated initial segment, repeating the foregoing steps until it is determined that downloading of the updated initial segment does not cause the available buffer of the terminal to be less than the preset buffer threshold, and using the updated initial segment as a selected bitstream segment. if it is determined, according to the segment information of the initial segment and the buffer parameter information of the terminal, that the downloading of the initial segment causes the available buffer of the terminal to be less than the preset buffer threshold, sequentially selecting, from all the segments corresponding to the first time, a second segment whose segment quality is less than segment quality of the initial segment, using the second segment as an updated initial segment, repeating the foregoing steps until it is determined that downloading of the updated initial segment does not cause the available buffer of the terminal to be less than the preset buffer threshold, and using the updated initial segment as a selected bitstream segment.