srs之librtmp

首先要感谢winlin写出这么精简的东西

先说说,我是怎么用它的:

1.按照wiki上说的(https://github.com/simple-rtmp-server/srs/wiki/v2_CN_SrsLibrtmp)

   1)srs-librtmp导出为独立可以make的项目,生成.a静态库和.h头文件,以及生成了srs-librtmp的所有实例

[root@demo srs]#dir=/home/winlin/srs-librtmp && rm -rf $dir && ./configure --export-librtmp-project=$dir && cd $dir && make &&./objs/research/librtmp/srs_play rtmp://ossrs.net/live/livestream

  2)可以直接导出为一个文件srs_librtmp.cpp

[root@demo srs]#dir=/home/winlin/srs-librtmp && rm -rf $dir && ./configure --export-librtmp-single=$dir &&
cd $dir && gcc example.c srs_librtmp.cpp -g -O0 -lstdc++ -o example &&  strip example && ./example

2.我肯定选用第二种方式,比较简便

3. 视频帧:   https://github.com/simple-rtmp-server/srs/wiki/v2_CN_SrsLibrtmp#publish-h264-raw-data

H264的裸码流(帧)转换RTMP时:

1)dts和pts是不在h264流中的,外部给出。

2)SPS和PPS在RTMP一个包里面发出去。

3)RTMP包=5字节RTMP包头+H264头+H264数据,具体参考:SrsAvcAacCodec::video_avc_demux

4)直接提供接口,发送h264数据,其中包含annexb的头:N[00] 00 00 01, where N>=0.

音频帧

参考:https://github.com/simple-rtmp-server/srs/issues/212#issuecomment-63755405

使用实例:https://github.com/simple-rtmp-server/srs/issues/212#issuecomment-64164018

   

音频帧:   

你可能感兴趣的:(srs之librtmp)