Real Time Messaging Protocol(RTMP)即实时消息传输协议,是 Adobe 公司开发的一个基于 TCP 的应用层协议,目前国内的视频云服务都是以 RTMP 为主要推流协议。
调用方法
EasyRTMP_File:EasyRTMP做为RTMP推送端,将本地文件推送到RTMP流媒体服务器;
EasyRTMP_RTSP:将RTSP/RTP数据获取到本地,再通过EasyRTMP推送到RTMP服务器;
EasyRTMP-Android:Android安卓RTMP直播推流,采集安卓手机前/后摄像头、麦克风音视频推送直播;项目地址:https://github.com/EasyDSS/EasyRTMP-Android
EasyRTMP-iOS:iOS苹果RTMP直播推流,采集苹果手机前/后摄像头、麦克风音视频推送直播。
EasyRTMP-Android 修改分辨率和码率
提出问题
EasyRTMP-Android 如何修改分辨率和码率?
解决问题
1、在SettingActivity中可以手动修改码率的值:
在推流页面列出当前机器的所有分辨率,可以手动修改。
2、软编码修改码率的值:
SWConsumer sw = new SWConsumer(context, mEasyPusher, SPUtil.getBitrateKbps(context));
给x264设置最终码率的值:
int bitrate = 72 * 1000 + bitrateKbps;
x264.create(width, height, 20, bitrate/1000);
3、硬编码修改码率的值:
HWConsumer hw = new HWConsumer(context,
mHevc ? MediaFormat.MIMETYPE_VIDEO_HEVC : MediaFormat.MIMETYPE_VIDEO_AVC,
mEasyPusher,
SPUtil.getBitrateKbps(context),
info.mName,
info.mColorFormat);
为MediaFormat设置码率的值:
mediaFormat.setInteger(MediaFormat.KEY_FRAME_RATE, frameRate);