SmallChi / JT1078Gateway

基于Pipeline实现的JT1078Gateway支持TCP/UDP,目前只支持http-flv、ws-flv、hls三种拉流方式
MIT License
62 stars 54 forks source link

使用dotnetty获取jtt1078视频流时的一些疑问 #1

Closed hoxcape closed 5 years ago

hoxcape commented 5 years ago

大师,最近一直在学习你的代码,受益很多,有一些疑问想求教一下,望不吝赐教,多谢。 在这个项目开源出来之前,我一直在学习JT808DotNetty项目,然后延续你的思路学习编写了一个与这个项目类似的一个项目,在其中遇到一些问题。 其中显著的问题就是完成解码、推流操作后,使用VLC Media Player播放rtmp视频流的时候会出现花屏,并且黑屏时间大概要8s左右,比锐明等厂商的方案要明显的慢。 对于花屏,限于我对流媒体等相关技术的知识和经验不足,我只尝试从I帧开始推流,确实解决了花屏的问题,但是随之而来导致了更长的黑屏时间。 最开始的时候在推流过程中大量使用了异步方法,导致视频流出现了更多的异常,随后我检查出来并改用了同步方法。 我目前的困惑是使用dotnetty推送视频流时,需要对推送过程加锁吗?我的理解是如果推流过程足够慢,但客户端发包足够快,会不会造成多个包交错的推流,导致帧数据异常。 另外就是刚才提到的关于黑屏时间过长的问题,大师可以介绍一下下关的经验吗?

SmallChi commented 5 years ago

不会的,可以走个队列,目前也在研究视频这块的技术,但是还没有好的方式,但是通过开源的https://github.com/ChihChengYang/wfs.js 可以直接推送H264裸流在web显示

hoxcape commented 5 years ago

谢谢,我跟着研究一下