直播系统架构(四)

Android端推流、播放
1.UI设计,主要具有进行直播和观看直播入口
这里写图片描述
2.通过服务端查询用户接口获取用户信息(包括直播地址),点击用户进入直播界面,播放利用ijkplayer,下载ijkplayer相关,传入用户直播地址即可播放。

IjkMediaPlayer.loadLibrariesOnce(null);
mVideoView = (IjkVideoView) findViewById(R.id.video_view);
mVideoView.setOnInfoListener(new OnInfoListener() {

    @Override
    public boolean onInfo(IMediaPlayer mp, int what, int extra) {
        // TODO Auto-generated method stub
        Log.e("直播输出",mp.getDuration()+"-"+what+"-"+extra);
        return false;
    }
});

// prefer mVideoPath
String mVideoPath = getIntent().getStringExtra("url");
mVideoView.setVideoPath(mVideoPath);
mVideoView.start();

这里写图片描述
3.点击直播按钮进行直播,利用rtmp_push_sdk,传入当前用户直播地址

_rtmpSessionMgr = new RtmpSessionManager();
_rtmpSessionMgr.Start(_rtmpUrl);

int iFormat = _iCameraCodecType;
_swEncH264 = new SWVideoEncoder(WIDTH_DEF, HEIGHT_DEF, FRAMERATE_DEF,           BITRATE_DEF);
_swEncH264.start(iFormat);

_bStartFlag = true;

_h264EncoderThread = new Thread(_h264Runnable);
_h264EncoderThread.setPriority(Thread.MAX_PRIORITY);
_h264EncoderThread.start();

_AudioRecorder.startRecording();
_AacEncoderThread = new Thread(_aacEncoderRunnable);
_AacEncoderThread.setPriority(Thread.MAX_PRIORITY);
_AacEncoderThread.start();

这里写图片描述
总结:
直播–>流媒体服务器–>播放,基本打通,后续需要添加相关逻辑操作,优化视频质量(很模糊)等。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值