flv.js icon indicating copy to clipboard operation
flv.js copied to clipboard

请求帮助:直播流的时间戳可以获取到吗,就像rtmp中的整个直播的时间戳一样

Open lxlnn opened this issue 4 years ago • 11 comments

lxlnn avatar Oct 22 '20 09:10 lxlnn

同问

ahaow avatar Oct 29 '20 06:10 ahaow

@ahaow 我在player实例中找到了,层级是 player._controller._remuxer._dtsBase

这个_dtsBase是拉取播放流的开始的点相对于整个流编码开始的时间戳,加上currentTime大约就是当前播放的时间戳。

我们项目中因为采用了nginx-http-flv-module, 新版本会在发送播放数据的时候将时间戳重置为0。 所以我们服务在播放数据的scriptdata中加入了时间戳。

lxlnn avatar Nov 04 '20 01:11 lxlnn

@lxlnn 不好意思 我在使用createPlayer创建的实例中并没有找到_controller这个属性,请问你是怎么写的呢?

ahaow avatar Nov 09 '20 08:11 ahaow

@lxlnn 不好意思 我在使用createPlayer创建的实例中并没有找到_controller这个属性,请问你是怎么写的呢?

同样没找到

sxlisme avatar Nov 10 '20 07:11 sxlisme

@lxlnn 不好意思 我在使用createPlayer创建的实例中并没有找到_controller这个属性,请问你是怎么写的呢?

需要有实际播放资源的时候才会有实例才会有_controller这个属性。 可以去"http://bilibili.github.io/flv.js/demo/"这里找一个flv流测试 1605769010

lxlnn avatar Nov 19 '20 06:11 lxlnn

@lxlnn 不好意思 我在使用createPlayer创建的实例中并没有找到_controller这个属性,请问你是怎么写的呢?

同样没找到

不好意思,我层级写错了。

lxlnn avatar Nov 20 '20 02:11 lxlnn

@ahaow 我在player实例中找到了,层级是 player._controller._remuxer._dtsBase

这个_dtsBase是拉取播放流的开始的点相对于整个流编码开始的时间戳,加上currentTime大约就是当前播放的时间戳。

我们项目中因为采用了nginx-http-flv-module, 新版本会在发送播放数据的时候将时间戳重置为0。 所以我们服务在播放数据的scriptdata中加入了时间戳。

不好意思,写错了。应该是player._transmuxer._controller下面

lxlnn avatar Nov 20 '20 02:11 lxlnn

@lxlnn 我这边查看到 image ) 这个值都是10,每次刷新都是10,但是我在obs上推流测试 延迟差不多都是在4,5s内, 这个值感觉没有参考意义 , 希望能帮忙解答一下,谢谢

ahaow avatar Dec 01 '20 08:12 ahaow

@lxlnn 我在方法里面找到了 视频帧里面的pts和dts信息 它们应该是视频帧的时间戳相关信息吧

ahaow avatar Dec 05 '20 06:12 ahaow

@lxlnn 我在方法里面找到了 视频帧里面的pts和dts信息 它们应该是视频帧的时间戳相关信息吧

在方法里找到了是什么意思?请问验证有用吗?

xilanhuaweidapao avatar Dec 07 '20 01:12 xilanhuaweidapao

我是在this.flvPlayer._msectl._idrList._list这个层级找到了dts属性,它是一个数组,每增加一个视频里面的时间大概增加2.5秒

XiaotaoTTTtian avatar Mar 27 '23 09:03 XiaotaoTTTtian