video_context.time_base.den = static_cast<int>(video_stream.nb_frames*100000);\r
}\r
}\r
+\r
+ if(audio_index > -1)\r
+ {\r
+ auto& audio_context = *context.streams[audio_index]->codec;\r
+ auto& audio_stream = *context.streams[audio_index];\r
+\r
+ double duration_sec = audio_stream.duration / static_cast<double>(audio_context.sample_rate);\r
+ double fps = static_cast<double>(video_context.time_base.den) / static_cast<double>(video_context.time_base.num);\r
+\r
+ double fps_nb_frames = static_cast<double>(duration_sec*fps);\r
+ double stream_nb_frames = static_cast<double>(video_stream.nb_frames);\r
+ double diff = std::abs(fps_nb_frames - stream_nb_frames*2.0);\r
+ if(diff < fps_nb_frames*0.01)\r
+ video_context.time_base.num *= 2;\r
+ }\r
}\r
\r
double fps = static_cast<double>(video_context.time_base.den) / static_cast<double>(video_context.time_base.num);\r