/**
* Need be called after @prepareVideo or/and @prepareAudio.
* This method override resolution of @startPreview to resolution seated in @prepareVideo. If you
* never startPreview this method startPreview for you to resolution seated in @prepareVideo.
*
* @param url of the stream like:
* protocol://ip:port/application/streamName
*
* RTSP: rtsp://192.168.1.1:1935/live/pedroSG94
* RTSPS: rtsps://192.168.1.1:1935/live/pedroSG94
* RTMP: rtmp://192.168.1.1:1935/live/pedroSG94
* RTMPS: rtmps://192.168.1.1:1935/live/pedroSG94
*/
public void startStream(String url) {
if (openGlView != null && Build.VERSION.SDK_INT >= 18) {
if (videoEncoder.getRotation() == 90 || videoEncoder.getRotation() == 270) {
openGlView.setEncoderSize(videoEncoder.getHeight(), videoEncoder.getWidth());
} else {
openGlView.setEncoderSize(videoEncoder.getWidth(), videoEncoder.getHeight());
}
openGlView.startGLThread();
openGlView.addMediaCodecSurface(videoEncoder.getInputSurface());
cameraManager =
new Camera1ApiManager(openGlView.getSurfaceTexture(), openGlView.getContext());
cameraManager.prepareCamera(videoEncoder.getWidth(), videoEncoder.getHeight(),
videoEncoder.getFps(), ImageFormat.NV21);
}
startStreamRtp(url);
videoEncoder.start();
audioEncoder.start();
cameraManager.start();
microphoneManager.start();
streaming = true;
onPreview = true;
}
Camera1Base.java 文件源码
java
阅读 97
收藏 0
点赞 0
评论 0
项目:rtmp-rtsp-stream-client-java
作者:
评论列表
文章目录