美文网首页
JNI——RTMP推流

JNI——RTMP推流

作者: 追寻米K | 来源:发表于2018-10-10 23:11 被阅读0次

    视频:

    android相机的预览画面格式是NV21,直播播放的格式是YUV,所以首先要把相机预览的画面转成YUV然后推流。

    大致步骤:

    1.相机预览视频传C层  (采集)

    2.NV21转YUV

    3.使用X264压缩YUV(包括设置X264参数,视频编码)(编码和封包)

    4.RTMP把压缩数据推送服务器 (发送)

    首先相机预览

    回调方法里面把预览的数据传递到C,进行处理,有横屏和竖屏,摄像头在左边和在右边等不同情况(raw就是bytes预览的数据)

    转YUV,然后X264压缩视频数据

    转YUV

    视频编码 并存入缓存队列

    NALU 参考https://blog.csdn.net/qq_29350001/article/details/78226286

    音频:

    1.java API AudioRecord录制的音频数据传递到C

    2.音频原始数据PCM压缩成AAC

    3.音频编码

    4,RTMP推送音频数据

    开启录制音频

    pcm数据传递到C

    压缩音频并音频编码

    相关参数解释:

        H264:

    Profile : baseline main high

    Level          : 限制了码率上限

    Resolution : 分辨率

    Bitrate        : 码率,与数据大小成正比

    Frame Rate : 帧率,每秒多少帧图像,影响流畅度

    Frame Interval : 关键帧间隔

    AAC:

    Profile : lc main le

    Sample Rate :      采样率

    Channel          : 声道数

    Bitrate        : 码率,与数据大小成正比

    视频数据包编码格式

    音频数据包

    RTMP 推送流程:

    demo地址:https://github.com/jokeK/FFmpegPlayer

    相关文章

      网友评论

          本文标题:JNI——RTMP推流

          本文链接:https://www.haomeiwen.com/subject/qsasgftx.html