mirror of
https://github.com/ZLMediaKit/ZLMediaKit.git
synced 2026-06-13 03:31:45 +08:00
新增支持获取gop大小与间隔信息: #1570
getMediaList/getMediaInfo接口、on_media_changed hook新增支持字段如下:
{
"codec_id" : 0,
"codec_id_name" : "H264",
"codec_type" : 0,
"fps" : 0.0,
"frames" : 1119, #累计接收帧数,不包含sei/aud/sps/pps等不能解码的帧
"gop_interval_ms" : 1993, #gop间隔时间,单位毫秒
"gop_size" : 60, #gop大小,单位帧数
"height" : 556,
"key_frames" : 21, #累计接收关键帧数
"ready" : true,
"width" : 990
}
This commit is contained in:
@@ -378,8 +378,16 @@ Value makeMediaSourceJson(MediaSource &media){
|
||||
auto video_track = dynamic_pointer_cast<VideoTrack>(track);
|
||||
obj["width"] = video_track->getVideoWidth();
|
||||
obj["height"] = video_track->getVideoHeight();
|
||||
obj["fps"] = round(video_track->getVideoFps());
|
||||
obj["key_frames"] = video_track->getVideoKeyFrames();
|
||||
int gop_size = video_track->getVideoGopSize();
|
||||
int gop_interval_ms = video_track->getVideoGopInterval();
|
||||
float fps = video_track->getVideoFps();
|
||||
if (fps <= 1) {
|
||||
fps = gop_size * 1000.0 / gop_interval_ms;
|
||||
}
|
||||
obj["fps"] = round(fps);
|
||||
obj["gop_size"] = gop_size;
|
||||
obj["gop_interval_ms"] = gop_interval_ms;
|
||||
break;
|
||||
}
|
||||
default:
|
||||
|
||||
Reference in New Issue
Block a user