A video recording method, comprising the following steps: based on a video recording start command of a user and an interval preset by the user, repetitively performing following operations: capturing image data at intervals and performing an encoding processing on the image data captured at intervals; characterized in that, the image data comprise camera data, or self-defined bitmaps, or screen data, or textures drawn by using an OpenGL drawing system; wherein, performing the encoding processing on the image data captured at intervals comprises: applying a buffer for receiving the image data; using an OpenGL environment for drawing the camera data, the screen data, or the textures in the OpenGL drawing system; binding the buffer with the OpenGL environment, and establishing a connection between the buffer and the OpenGL environment; outputting the drawn camera data, the drawn screen data, or the drawn textures in the OpenGL drawing system to the buffer; using a Canvas environment for drawing the self-defined bitmap; binding the buffer with the Canvas environment, and establishing a connection between the buffer and the Canvas environment; storing the drawn self-defined bitmap in the buffer; based on a video recording end command of the user, using the image data obtained after encoding processing to generate a video file in accordance with a video file format set by the user. based on a video recording start command of a user and an interval preset by the user, repetitively performing following operations: capturing image data at intervals and performing an encoding processing on the image data captured at intervals; characterized in that, the image data comprise camera data, or self-defined bitmaps, or screen data, or textures drawn by using an OpenGL drawing system; wherein, performing the encoding processing on the image data captured at intervals comprises: applying a buffer for receiving the image data; using an OpenGL environment for drawing the camera data, the screen data, or the textures in the OpenGL drawing system; binding the buffer with the OpenGL environment, and establishing a connection between the buffer and the OpenGL environment; outputting the drawn camera data, the drawn screen data, or the drawn textures in the OpenGL drawing system to the buffer; using a Canvas environment for drawing the self-defined bitmap; binding the buffer with the Canvas environment, and establishing a connection between the buffer and the Canvas environment; storing the drawn self-defined bitmap in the buffer; based on a video recording end command of the user, using the image data obtained after encoding processing to generate a video file in accordance with a video file format set by the user. applying a buffer for receiving the image data; using an OpenGL environment for drawing the camera data, the screen data, or the textures in the OpenGL drawing system; binding the buffer with the OpenGL environment, and establishing a connection between the buffer and the OpenGL environment; outputting the drawn camera data, the drawn screen data, or the drawn textures in the OpenGL drawing system to the buffer; using a Canvas environment for drawing the self-defined bitmap; binding the buffer with the Canvas environment, and establishing a connection between the buffer and the Canvas environment; storing the drawn self-defined bitmap in the buffer; based on a video recording end command of the user, using the image data obtained after encoding processing to generate a video file in accordance with a video file format set by the user.