简介
本文为一个简单demo,测试live555作为RTSP的服务端,使用android自带的VideoView播放RTSP视频流。
客户端
核心代码
private void playRtspStream(String rtspUrl) {
videoview.setVideoURI(Uri.parse(rtspUrl));
videoview.requestFocus();
videoview.setOnPreparedListener(this);
videoview.setOnCompletionListener(this);
videoview.setOnErrorListener(this);
// videoview.setOnInfoListener(this);
}
在onPrepared
里进行开始播放操作:
@Override
public void onPrepared(MediaPlayer mp) {
showToast("---onPrepared---dur = " + mp.getDuration());
videoview.start();
}
注意事项
从videoview.setVideoURI
开始,VideoView就已经开始了缓冲,不要立即执行videoView.start
,在缓冲完毕后onPrepared
里进行start
操作.
服务端live555
把可执行文件下载下来,然后执行./live555MediaServer
就可以了,然后在脚本的同目录里放置待播放的文件.客户端输入类似rtsp://192.168.0.6:8554/1.264
进行播放,注意客户端和服务端要在一个局域网内.
代码已传至github欢迎fork
其实VideoView挺坑的,往后再写文章讲解。