Giter Site home page Giter Site logo

ksvc / ksylive_android Goto Github PK

View Code? Open in Web Editor NEW
333.0 333.0 173.0 144.11 MB

Android播放&推流融合版本[Android Play and LiveStreaming SDK] 直播延时2-3秒(Living delay 2 or 3 seconds),supporting jitter control,software&hardware decode, 支持内置/自定义美颜(Beauty Filter)、美声(Beauty Voice)、软硬编(Software/Hardware Encoder) 、网络自适应(Network Auto Adapt)、混音(Voice Mixer)、混响(Reverb)、画中画(PIP) 、连麦(RTC)、动态贴纸(Sticker)

Home Page: http://v.ksyun.com/

Java 99.95% GLSL 0.05%

ksylive_android's People

Contributors

bh4614910 avatar buliaoyin avatar chriszeng87 avatar dengchu817 avatar firmianarain avatar fpzeng avatar ksysdkci avatar sujia avatar wang12 avatar xiaofeizan avatar xingkai509 avatar zanxiaofei avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ksylive_android's Issues

2.6.2 RTMP seekto error

i faced the following error when i try to do several seekto action with rtmp url

W/KSYMediaPlayer: SDL_VoutAndroid_releaseBufferProxy_l: [0] ???????? proxy 0: vout: 29 idx: -1 render: false fake: NO E/com.ksyun.media.player.KSYMediaPlayer: Error (-1004,0)

please advice.

java.lang.RuntimeException: createContext failed: EGL_BAD_CONTEXT

当调用过KSYStreamer的release()方法后,重新初始化streamer对象.
06-26 19:51:29.579 29088-29168/com.cloudm.yunbox E/AndroidRuntime: FATAL EXCEPTION: GLThread 913
Process: com.cloudm.yunbox, PID: 29088
java.lang.RuntimeException: createContext failed: EGL_BAD_CONTEXT
at android.opengl.GLSurfaceView$EglHelper.throwEglException(GLSurfaceView.java:1233)
at android.opengl.GLSurfaceView$EglHelper.throwEglException(GLSurfaceView.java:1224)
at android.opengl.GLSurfaceView$EglHelper.start(GLSurfaceView.java:1074)
at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1447)
at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1286)

魅族Pro5推流手机浏览黑屏,但是流有画面

Android版本:5.1 没有root 固件版本Flyme5.6.8.23 beta

log信息警告:
08-25 18:11:38.971 12656-13021/com.ksyun.live.demo W/KSYMediaPlayer: AVFrame.width or height is not set
08-25 18:11:39.031 12656-13021/com.ksyun.live.demo W/KSYMediaPlayer: AVFrame.format is not set

推流一直失败是什么问题啊?

E/streamer: Failed open connection to rtmp://push.v.a8sport.com/vod/b40bc9f661434312afcb4f0188e61893
E/streamer: avio_open failed: Unknown error 32797
E/KSYStreamer: RtmpPub err=-1000

空指针错误

java.lang.NullPointerException: Attempt to invoke interface method 'int com.ksy.recordlib.service.core.a.getUploadedKBytes()' on a null object reference

自己处理图像

问下,如果我直接来处理图像,用mStreamer.setOnPreviewFrameListener(new OnPreviewFrameListener() )这个接口获取并且处理数据后,怎么样才能推流出去?

TextureView 回收後重連沒反應

首先我調用 TextureView 回收函式

mTextureView.stop();
mTextureView.release();
mTextureView = null;

再調用重連

mTextureView = (KSYTextureView) findViewById(R.id.ksy_textureview);
mTextureView.setDataSource(mUrl);
mTextureView.prepareAsync();

// 在onPrepared回调里
mTextureView.start()

然而什麼事都沒發生,播放到一半的影片就卡在那裡不動了,同樣的寫法我用 surfaceView + KSYMediaPlayer 確定有效

android端悬浮窗播放功能,竖屏画面静止。

<activity android:name=".FloatingVideoActivity" android:screenOrientation="landscape" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:configChanges="orientation|keyboardHidden|screenSize" />

android端悬浮窗播放功能,把demo横屏的改成竖屏,进入悬浮窗页面,直播画面就卡停,静止不动了。

Google play Vulnerability

Apk在google play上架,提示 Vulnerability问题。具体如下:
com.ksyun.media.player.https.a$2$1
com.ksyun.media.streamer.util.https.KsyHttpConnection$2$1

提示APK采用不安全的 HostnameVerifier 接口实施方式的开发者。在与使用 setDefaultHostnameVerifier API 的远程主机建立 HTTPS 连接时,这种实施方式会接受所有主机名,从而使您的应用容易受到中间人攻击。攻击者可能会读取传输的数据(例如登录凭据),甚至更改通过 HTTPS 连接传输的数据。

低延遲直播

請問一下,有沒有參數可以調整讓直播可以延遲大約在1秒內?

播放直播特别卡

m3u8的播源, 在vlc里边观看很流畅,用KSYMediaPlayer频繁缓冲,设置bufferTimeMax后仍没有效果,在官方DEMO同样很卡。

推流实际的分辨率

如果设置的预览和推流的分辨率,手机不支持的话,SDK会自动设置一个分辨率, 我怎么样可以获取SDK设置好的这个分辨率。。

预览黑屏

下面是我的代码,权限都已经获取到了,但是预览是黑屏的,使用demo是可以预览到摄像头的内容。不会是版本和手机的问题,不清楚是缺少了什么设置。

开播偶现崩溃

手机型号: oppo x9007
android版本:4.4.4
FATAL EXCEPTION: EncodeThread
Process: com.blinnnk.thor, PID: 14422
java.lang.UnsatisfiedLinkError: Native method not found: com.ksyun.media.streamer.encoder.AVEncoderWrapper._open_video:(JIIIIIFFIIIZ)I
at com.ksyun.media.streamer.encoder.AVEncoderWrapper._open_video(Native Method)
at com.ksyun.media.streamer.encoder.AVEncoderWrapper.a(AVEncoderWrapper.java:54)
at com.ksyun.media.streamer.encoder.AVCodecVideoEncoder.a(AVCodecVideoEncoder.java:35)
at com.ksyun.media.streamer.encoder.Encoder$4.handleMessage(Encoder.java:503)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.os.HandlerThread.run(HandlerThread.java:61)

循环录制视频后推流未推成功

我们因为需求需要做一个循环录制视频的功能,但当循环录制视频一段时间后,点击推流就不能成功(任何播放器都播放不了这个链接),日志如下:

自己处理图像

你好。我想对图像进行处理,怎么样可以获取到摄像机的回调数据?

后置摄像头镜像问题

目前推流中发现 在使用后置摄像头的时候,主播预览界面正常无镜像,但是直播间用户会出现镜像的问题。而如果用iOS推流的话 则无次情况。

Build Android Studio Error

This is Error Log

11-12 22:25:56.314 10101-10101/com.ksyun.live.demo E/AndroidRuntime: FATAL EXCEPTION: main
                                                                     Process: com.ksyun.live.demo, PID: 10101
                                                                     java.lang.UnsatisfiedLinkError: No implementation found for long com.ksyun.media.streamer.util.audio.KSYBgmPlayer._init() (tried Java_com_ksyun_media_streamer_util_audio_KSYBgmPlayer__1init and Java_com_ksyun_media_streamer_util_audio_KSYBgmPlayer__1init__)
                                                                         at com.ksyun.media.streamer.util.audio.KSYBgmPlayer._init(Native Method)
                                                                         at com.ksyun.media.streamer.util.audio.KSYBgmPlayer.<init>(KSYBgmPlayer.java:79)
                                                                         at com.ksyun.media.streamer.capture.AudioPlayerCapture.<init>(AudioPlayerCapture.java:24)
                                                                         at com.ksyun.media.streamer.kit.KSYStreamer.initModules(KSYStreamer.java:165)
                                                                         at com.ksyun.media.streamer.kit.KSYStreamer.<init>(KSYStreamer.java:104)
                                                                         at com.ksyun.media.streamer.demo.CameraActivity.onCreate(CameraActivity.java:177)
                                                                         at android.app.Activity.performCreate(Activity.java:5975)
                                                                         at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1111)
                                                                         at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2413)
                                                                         at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2522)
                                                                         at android.app.ActivityThread.access$800(ActivityThread.java:169)
                                                                         at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1421)
                                                                         at android.os.Handler.dispatchMessage(Handler.java:111)
                                                                         at android.os.Looper.loop(Looper.java:194)
                                                                         at android.app.ActivityThread.main(ActivityThread.java:5546)
                                                                         at java.lang.reflect.Method.invoke(Native Method)
                                                                         at java.lang.reflect.Method.invoke(Method.java:372)
                                                                         at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:967)
                                                                         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:762)

小米电视4A偶尔发生崩溃

系统版本:Android 6.0.1,level 23
CPU架构:armeabi-v7a
设备机型:小米 MITV4A
SDK版本:3.0.4
main(1)
java.lang.RuntimeException
cannot get MediaCodecList

android.media.MediaCodecList.native_getGlobalSettings(Native Method)
 android.media.MediaCodecList.initCodecList(MediaCodecList.java:77)
 android.media.MediaCodecList.getCodecCount(MediaCodecList.java:43)
 com.ksyun.media.player.KSYMediaPlayer.c(KSYMediaPlayer.java:2748)
 com.ksyun.media.player.KSYMediaPlayer.i(KSYMediaPlayer.java:1470)
 com.ksyun.media.player.KSYMediaPlayer.access$1000(KSYMediaPlayer.java:82)
 com.ksyun.media.player.KSYMediaPlayer$b.handleMessage(KSYMediaPlayer.java:2270)
 android.os.Handler.dispatchMessage(Handler.java:102)
 android.os.Looper.loop(Looper.java:148)
 android.app.ActivityThread.main(ActivityThread.java:5439)
 java.lang.reflect.Method.invoke(Native Method)
 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:936)
 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:826)

华为pad Camera界面未响应

华为pad型号:FDR-A01w
android版本:5.1.1
使用的官方demo,进入CameraActivity界面变绿未响应,华为荣耀6、荣耀8、三星pad均未出现该问题
调用摄像头权限已经允许
报错内容为:Camera new cameraInitNormal:0
部分日志:
07-04 11:00:38.300 29017-32065/com.ksyun.live.demo I/PermissionManager: camera remind result:true
07-04 11:00:38.420 29017-32065/com.ksyun.live.demo E/Camera: Camera new cameraInitNormal:0
07-04 11:00:38.430 29017-32065/com.ksyun.live.demo D/CameraCapture: try to preview with: 1280x960 15.0fps
07-04 11:00:38.440 29017-32065/com.ksyun.live.demo D/CameraCapture: Preview with: 1280x960 15.0-15.0fps FocusMode: fixed VideoStabilization: false Antibanding: auto

外接摄像头

请问有支援外接 usb uvc webcam 作为来源摄像头吗?

只推音频流

只需要:推音频流(压缩,去躁,去回音)

TextureView seekTo 成功後 getCurrentPosition() 錯誤

在調用 seekTo 並成功繼續播放後 getCurrentPosition() 總是回傳錯誤位置,seekbar 又被拉回起點(但影片播放正常),導致影片播放進度和 seekbar 不一致,代碼如下:

public int setVideoProgress(int currentProgress, boolean b) {
    if (mVideoView == null)
        return -1;

    long time = currentProgress > 0 ? currentProgress : mVideoView.getCurrentPosition();
    long length = mVideoView.getDuration();
    if(b){
        Log.v(TAG, "setVideoProgress: "+time + " (note: onStopTrackingTouch)");
    } else {
        Log.v(TAG, "setVideoProgress: "+time + " (note: UPDATE_SEEKBAR)");
    }

    // Update all view elements
    mPlayerSeekbar.setMax((int) length);
    mPlayerSeekbar.setProgress((int) time);

    if (time >= 0) {
        String progress = time + "/" + length;
        mPlayerPosition.setText(progress);
    }

    Message msg = new Message();
    msg.what = UPDATE_SEEKBAR;

    if (mHandler != null)
        mHandler.sendMessageDelayed(msg, 1000);
    return (int) time;
}

private int mVideoProgress = 0;
private SeekBar.OnSeekBarChangeListener mSeekBarListener = new SeekBar.OnSeekBarChangeListener() {
    @Override
    public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
        if (fromUser) {
            mVideoProgress = progress;
            mHandler.removeMessages(HIDDEN_SEEKBAR);
            Message msg = new Message();
            msg.what = HIDDEN_SEEKBAR;
            mHandler.sendMessageDelayed(msg, 3000);
        }
    }

    @Override
    public void onStartTrackingTouch(SeekBar seekBar) {
    }

    @Override
    public void onStopTrackingTouch(SeekBar seekBar) {
        mVideoView.seekTo(mVideoProgress);
        setVideoProgress(mVideoProgress, true);
    }
};

private IMediaPlayer.OnPreparedListener mOnPreparedListener = new IMediaPlayer.OnPreparedListener() {
    @Override
    public void onPrepared(IMediaPlayer mp) {
        if (mVideoView != null) {
            mVideoView.setVideoScalingMode(KSYMediaPlayer.VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING);
            mVideoView.start();
            setVideoProgress(0, false);
        }
    }
};

mHandler = new Handler() {
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            switch (msg.what) {
                case UPDATE_SEEKBAR:
                    setVideoProgress(0, false);
                    break;
                case HIDDEN_SEEKBAR:
                    mPlayerControlShow = false;
                    mPlayerControl.setVisibility(View.GONE);

                    break;
            }
        }
    };

系統日誌:

08-11 23:06:19.193 20910-20910: setVideoProgress: 212743 (note: onStopTrackingTouch)
08-11 23:06:19.214 20910-20910: Buffering Start.
08-11 23:06:19.567 20910-20910: Buffering End.
08-11 23:06:19.682 20910-20910: setVideoProgress: 14 (note: UPDATE_SEEKBAR)

版本:2.4.1
Android 版本: 5.0

How to view streamming

Hi,

I have built and run successful KSYLive_Android. When I test in other phone, I add "rtmp://test.uplive.ks-cdn.com/live/androidtest" in NetMediaActivty, but this link cannot play.

Thanks

java.lang.AbstractMethodError

abstract method "void com.ksyun.media.streamer.framework.SinkPin.onFrameAvailable(com.ksyun.media.streamer.framework.AVFrameBase)"
com.ksyun.media.streamer.framework.SrcPin.onFrameAvailable(SrcPin.java:51

与安卓27.1.0版本的方法重名了

设置动态横竖屏推流失效

使用的小米Note手机推流,在V2.4.0和V2.3.4的demo中测试旋转横竖屏,在观看端看到的画面依旧是竖屏的,画面也变形了

开始直播不到一秒出现卡死情况

问题描述:原本使用的sdk版本是2.2.7版本,没有出现该问题,更新到2.3.2开始出现开始直播不到一秒会卡死,测试官方demo在没有开始直播的情况下预览画面也会卡死,每次都会出现。

机型:坚果 型号YQ601

操作系统:Smartisan OS v3.2.6

Adnroid版本:5.1.1

安卓主板无法同时打开两个摄像头预览

用的sdk版本:
compile 'com.ksyun.media:libksylive-java:2.4.2'
compile 'com.ksyun.media:libksylive-armv7a:2.4.2'

创建两个KSYStreamer对象mPusher1和mPusher2,并且分别设置了GLSurfaceView。
mPusher1.setCameraFacing(CameraCapture.FACING_FRONT),mPusher2.setCameraFacing(CameraCapture.FACING_BACK),
然后mPusher1.startCameraPreview()的时候显示第1个预览画面
再调用mPusher2.startCameraPreview()的时候显示第2个预览画面,但是第1个预览画面卡住了。

我直接用安卓原生的方法可以同时开启两个摄像头预览。

推流没有声音

用了两个月 10月12 号突然没声音了 别的平台直播是正常的
image

demo 的前置镜像功能不起作用

按照官方 demo 使用 mStreamer.setFrontCameraMirror(true) 前置镜像功能不起作用,然后在执行mStreamer.setFrontCameraMirror(true)前 执行这个 deprecated 的方法 mStreamer.setEnableCameraMirror(true)一样不行,你们官方的 demo 前置镜像功能一样不起作用,求解决

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.