您的位置:首页 > 移动开发 > Android开发

Android视频推流直播学习【二】

2016-03-20 23:49 701 查看
现在已经对spydroid的项目有了大致的了解,接着我会分析一些重要的类。

首先是Session类,这个类主要有两个重要成员:AudioStream和VideoStream,通过该类可以初始化音视频流,停止音视频推流,以及获取相关流媒体信息等。在Spydroid的设计中,Session一般不是直接创建的,而是通过SessionBuilder进行创建的。SessionBuilder是一个单例模式的类,通过SessionBuilder我们创建Session对象,AudioStream和VideoStream对象,并且对AudioStream和VideoStream参数进行了初始化设置。代码如下:

Session mSession = SessionBuilder.getInstance()
.setContext(getApplicationContext())
.setAudioEncoder(SessionBuilder.AUDIO_AAC)//音频编码格式
.setAudioQuality(new AudioQuality(8000,16000))//音频参数 采样率
.setVideoEncoder(SessionBuilder.VIDEO_H264)//视频编码格式
//视频参数 分辨率1280*720 帧率15 码率1000*1000
.setVideoQuality(new VideoQuality(1280, 720, 15, 1000*1000))
.setSurfaceView(mSurfaceView)//用于进行预览展示的SurfaceView
.setPreviewOrientation(0)urfaceView//Camera方向
.setCallback(this)//一些监听回调
.build();


接下来是RtspClient这个类,这个类主要是负责与流媒体服务器进行RTSP协议会话连接,还是首先来看看相关初始化设置吧,这里我们首先设定我们推送的地址为:rtsp://192.168.1.115:554/live.sdp。代码如下:

RtspClient mClient = new RtspClient();
mClient.setSession(mSession);//设置Session
mClient.setCallback(this);  //回调监听
mClient.setServerAddress("192.168.1.115", 554);//服务器的ip和端口号
//这里算是一个标识符,服务器会在连接后创建一个名为live.sdp的文件,所以这里的名字一定要唯一。
mClient.setStreamPath("/live.sdp");
mClient.startStream();//开始推流


暂时就这样吧,下一节具体分析RTSP的会话过程。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android 视频 rtsp