FFmpeg提取当前帧时间戳
FFmpeg extracting current frame time stamp
我需要在视频的特定间隔(例如从40秒到50秒)中提取帧。用c++工作。首先,我找到了需要开始读取
的位置static double t = 10 ;//time in seconds
int64_t timestamp = t * AV_TIME_BASE; //destination time
av_seek_frame( pFormatContext , -1 , timestamp + pFormatContext->start_time ,AVSEEK_FLAG_BACKWARD );
然后我使用av_read_frame来获取所有的顺序帧。我的问题是我不知道什么时候该停下来。如何检查是否达到了结束间隔(例如50秒)?
谢谢。
av_read_frame()
将给您一个PTS (Presentation Time Stamp)。它是AVPacket的成员pts
。也许这个值可以帮助你决定何时停止阅读。
尝试找到每秒帧数,然后使用该数字计算每个帧的确切时间
frame_absolute_time = frame_number / FPS
相关文章:
- C++:floor unix时间戳到UTC月份
- 如何在c++中录制具有精确帧时间戳的视频
- 在两台机器之间进行时间戳的最佳c++chrono函数是什么
- Google protobuf 时间戳未声明标识符,在 Windows 上具有C++
- 在多个时间戳处执行函数
- 以天C++为单位的两个时间戳之间的差异
- 获取 QInputEvent 在 Qt 4.8 中被放入 QEventLoop 队列时的时间戳
- 在 C++ 中为文件名添加时间戳
- 如何从远程 SFTP 服务器获取 HH-MM-SS 时间戳格式的文件列表
- 如何将消息时间戳写入日志文件?
- 将时间戳打印到流的最简单方法
- 读取悖论时间戳字段
- C++程序中多个位置的时间 (0) 时间戳
- 在 c++ 中获取 X 毫秒前的时间戳
- 将 unix 时间戳转换为人类可读的日期
- Microsoft NTLM (v2) 中的时间戳使用
- 从C 的时间戳提取日期时间戳
- 正在从XML文件中提取时间戳
- 需要帮助诊断C++程序中的错误,该程序旨在从XML文件中提取时间戳
- FFmpeg提取当前帧时间戳