• Windows、Linux、ARM、Android、iOS全平台支持的RTMP推流组件EasyRTMPAndroid如何修改分辨率和码率


    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);
  • 相关阅读:
    C++结构体中sizeof
    sizeof()的用法
    XStream和Json
    省市联动
    ajax
    配置文件的读取
    JSP标签库
    字符串函数参数传入传出(去空格)
    字符串函数参数传入传出(字符串反转)
    opendir,readdir,closedir
  • 原文地址:https://www.cnblogs.com/TSINGSEE/p/11738177.html
Copyright © 2020-2023  润新知