我尝试使用 ffmpeg + opengl 控制视频的播放速度。但我有问题。
我的视频以 25 fps 编码,播放速度非常快。我在我的代码中添加了这个。
tiempo = glfwGetTime();
duracion = 1.0/25.0; // 1 second / 25 fps
while(1){
...
if(glfwGetTime() > tiempo + duracion){
if(av_read_frame(pFormatCtx,&packet) >= 0){
if(packet.stream_index == 0){
avcodec_decode_video2(pCodecCtx,pFrame,&frameFin,&packet);
if(frameFin)sws_scale(img_convert_ctx,pFrame->data,pFrame->linesize,0,pCodecCtx->height,pFrameRGB->data,pFrameRGB->linesize);
}
av_free_packet(&packet);
}
tiempo = glfwGetTime();
}
...
}
问题是现在视频播放速度比它应该慢。问题是什么?