Results 19 comments of PHZ
trafficstars

你好, 延迟这个问题可以改成RTSP协议试试,我测试的时候延时在200ms以下的,RTMP没有测试过。 编码的分辨率设置我后续会增加接口。 我这段时间工作比较忙,等周日休息我会看看这些问题。

抱歉,暂时没有这个计划,这个主要是针对Windows平台的采集和编码。

这个没有啥复杂的逻辑,5 是每个块的所需的包头最大大小。就是计算一下当前帧需要分成多少块,每个块需要多少额外空间。1024 是我自己预留的,可以不用。至于块的包头大小你可以看看rtmp的文档,每种类型块的包头都有介绍。

你好,这个可以同时推流H.264和AAC,可以参考这个 https://github.com/PHZ76/DesktopSharing

因为调用pushAudioFrame的线程 和 EventLoop的事件处理线程 不是同一个线程, addTriggerEvent 是为了线程安全,作用是投递事件到EventLoop的线程。这边改为在内部调用了,所以上面那里注释掉了。

你好,是的,这个主要是用于唤醒EventLoop执行触发事件。在RtspServer那边通过TriggerEvent来转发音视频数据

EventLoop的在window下使用select做IO复用, 实际上我设置了一个超时时间,所以EventLoop在没有任何事件的情况下也不会真的一直阻塞。wakeupPipe在window下使用socket模拟的,并且由select监听,所以write之后select会检测到读事件触发,如果没有进行wake读走数据, select会一直触发读事件,而且pipe的底层缓冲区也会满的,最后会造成wirte失败。 我也不是大佬。。。大家互相学习,交流讨论。

I hope it can help you. (^_^)

你好,参考H264的例子,可以使用ffmpeg做帧读取。