- Rtmp推流截图
- 水印截图
- Android相机采集NV21格式数据,并使用libyuv转换I420(yuv420p)、处理I420旋转、前置摄像头镜像; 音频采集PCM数据:2通道、16位、采样率48000KHz,音视频软编。
- 当前版本支持RTMP协议推流。
- 支持视频添加水印功能。
- 适用于Android移动音频和视频的采集和推流。
- 暂无任何视频滤镜等其他特效。
- 搭建RTMP测试服务(如:nginx+rtmp、crtmpserver、Red5等);也可以写入本地文件,只需更改推流地址,如:“/mnt/sdcard/test.flv”。
* 初始化音视频采集
LiveJniMediaManager.InitAudioCapture(int channles, int SampleRate, int SampleBitRate);
LiveJniMediaManager.InitVideoCapture(int inWidth, int inHeight, int outWidth, int outHeight, int fps, boolean mirror);
* 初始化音视频编码器
LiveJniMediaManager.InitAudioEncoder();
LiveJniMediaManager.InitVideoEncoder();
* 水印添加
LiveJniMediaManager.SetWaterMark(boolean enable,byte[] waterMark,int waterWidth,int waterHeight,int positionX,int positionY);
* 开始推流
LiveJniMediaManager.StartPush(pushUrl);
* 发送音视频数据至底层
LiveJniMediaManager.EncodeH264(videoBuffer, length);
LiveJniMediaManager.EncodeAAC(audioBuffer, length);
* 停止推流与资源回收
LiveJniMediaManager.Close();
LiveJniMediaManager.Release();
mRtmpPushStreamer = new RtmpPushStreamer.Builder()
.withActivity(LiveActivity.this)
.withSurfaceView(surfaceView)
.withWaterMark(true, ivWaterMark, 90, 30) //参数:true 水印开关 水印图片 宽(90px)\高(30px)
.withPushStreamCall(new PushStreamCall() {
@Override
public void PushSucess() {
#-------"推流成功"--------#
}
@Override
public void PushFailed() {
#-------"推流失败"--------#
}
}).build();