流媒体推送端基于librtmp,代码编写于两年前,有些细节已经记不清了,当时是参考这位大牛的文章http://blog.youkuaiyun.com/zblue78/article/details/6406707
发布到这里代码稍微修改了一下,从推送实时流改成了推送H.264裸流文件,增加了分割NALU的处理,所以改成推送DSP、专用编码芯片或是X264编码成的实时流也很容易。
我只是在大牛的代码的基础上将width height framerate avclevel avcprofile SPS PPS等参数的值指定为我的测试文件中码流对应的值。
核心代码是首先发送包含H.264流参数的RTMP包,然后发送带有SPS+PPS数据的RTMP包,然后不断地发送载荷为NALU的RTMP包。
开始和结束推送流媒体时Red5的日志为:
完整代码的链接稍后附上。
客户端+服务端+推送端的代码都在这里:https://sourceforge.net/projects/realtimeh264onflex/