【发布时间】:2018-04-12 20:41:24
【问题描述】:
我可以使用 ffprobe 使用以下代码获取视频的帧时间戳:
ffprobe inputVideo.avi -hide_banner -show_entries frame=frame_no,best_effort_timestamp_time -of json
它会生成类似这样的数据:
{
"frames": [
{
"best_effort_timestamp_time": "1509110230.335000"
},
{
"best_effort_timestamp_time": "1509110230.764000"
},
{
"best_effort_timestamp_time": "1509110230.621000"
},
{
"best_effort_timestamp_time": "1509110230.764000"
},
{
"best_effort_timestamp_time": "1509110230.906000"
},
结果不完整,但显示数据是json格式,也是从第一帧开始到视频结尾。
我怎样才能改变它:
- 我可以指定视频的持续时间(开始和结束或开始和持续时间,例如从开始 5 秒开始并获取 10 分钟的数据)
- 如何使输出具有帧号,(所以我知道第一个时间戳属于哪个帧)。
编辑 1
使用此代码后:
ffprobe inputVideo.avi -hide_banner -show_entries frame=coded_picture_number,best_effort_timestamp_time -of json
我得到了这个结果:
{
"best_effort_timestamp_time": "1509110236.763000",
"coded_picture_number": 47
},
{
"best_effort_timestamp_time": "1509110236.906000",
"coded_picture_number": 46
},
{
"best_effort_timestamp_time": "1509110237.049000",
"coded_picture_number": 48
},
{
"best_effort_timestamp_time": "1509110237.192000",
"coded_picture_number": 45
},
{
"best_effort_timestamp_time": "1509110237.335000",
"coded_picture_number": 51
},
{
"best_effort_timestamp_time": "1509110237.478000",
"coded_picture_number": 50
},
在结果中,帧号似乎不正确。
【问题讨论】:
标签: video ffmpeg timestamp ffprobe