Current rate control schemes in video coding standards do not have efficient frame-level bit allocation due to the limitation of real-time encoding. In this paper, by taking advantage of offline video encoding, we proposed a two-pass video encoding scheme for low bit rate streaming applications. Specifically, in the first pass, we generate the feature information of video sequences, including rate- distortion (R-D) functions and scene change boundaries. Then, in the second pass, according to the available channel bandwidth, by exploiting the feature information, we are able to implement frame-level bit allocation in an optimal way so that video sequences can be coded at low bit rate with an improved quality. Experimental results show the proposed scheme is able to achieve not only the improved PSNR results but also much smoother visual quality.