我的需求是播放rtsp视频流,最开始用了Android原生播放器MediaPlayer,但是延迟太大了,感觉要将近10秒,而且不能修改缓冲大小,因为底层写死的(根据Android版本设置了固定的缓冲大小),最终用了开源的vlc
目前项目中使用vlc播放了rtsp视频流,并且有拍照,录制的功能
使用vlc播放,vlc使用的是3.0.0的版本
final ArrayList args =new ArrayList<>();//VLC参数
args.add("--rtsp-tcp");//强制rtsp-tcp,加快加载视频速度
args.add("--aout=opensles");
args.add("--audio-time-stretch");
args.add("-vvv");
mLibVLC =new LibVLC(this, args);
mMediaPlayer =new MediaPlayer(mLibVLC);
Rect surfaceFrame =textureView.getHolder().getSurfaceFrame();
//设置vlc视频铺满布局
mMediaPlayer.getVLCVout().setWindowSize(layout_video.getWidth(), layout_video.getHeight());//宽,高 播放窗口的大小
mMediaPlayer.setAspectRatio(layout_video.getWidth()+":"+layout_video.getHeight());//宽,高 画面大小