更改分辨率时,LibStreaming会显示黑屏

时间:2018-03-21 13:35:37

标签: android video-streaming streaming rtsp

我使用了来自https://github.com/fyhertz/spydroid-ipcamera的spydroid。 根据要求,流媒体应该在设备中发送和接收。从本地网络我们应该能够显示rtsp流。防爆。 VLC媒体播放器。

我面临的问题是,当我改变分辨率Ex。 640 * 480。它应该给黑屏带流媒体直播。在默认演示中,它应该支持320 * 240,这是正常的。我还根据640 * 480分辨率更改了比特率和帧率。但无法得到结果。

任何帮助都会受到赞赏。

1 个答案:

答案 0 :(得分:0)

您可能正在使用演示 SpyDroid 正在使用的旧库。

我在尝试下面的代码时遇到了同样的问题: -

步骤: -

1.)包括库LibStreaming

  • 因为它是最新的图书馆并支持上面的棒棒糖版本。

2.)查找H263Stream 更改以下方法: -

发件人

@SuppressLint("NewApi")
private MP4Config testMediaCodecAPI() throws RuntimeException, IOException {
    createCamera();
    updateCamera();
    try {
        if (mQuality.resX>=640) {
            // Using the MediaCodec API with the buffer method for high resolutions is too slow
            mMode = MODE_MEDIARECORDER_API;
        }
        EncoderDebugger debugger = EncoderDebugger.debug(mSettings, mQuality.resX, mQuality.resY);
        return new MP4Config(debugger.getB64SPS(), debugger.getB64PPS());
    } catch (Exception e) {
        // Fallback on the old streaming method using the MediaRecorder API
        Log.e(TAG,"Resolution not supported with the MediaCodec API, we fallback on the old streamign method.");
        mMode = MODE_MEDIARECORDER_API;
        return testH264();
    }

}

@SuppressLint("NewApi")
private MP4Config testMediaCodecAPI() throws RuntimeException, IOException {
    createCamera();
    updateCamera();
    try {
        if (mQuality.resX>=1080) {
            // Using the MediaCodec API with the buffer method for high resolutions is too slow
            mMode = MODE_MEDIARECORDER_API;
        }
        EncoderDebugger debugger = EncoderDebugger.debug(mSettings, mQuality.resX, mQuality.resY);
        return new MP4Config(debugger.getB64SPS(), debugger.getB64PPS());
    } catch (Exception e) {
        // Fallback on the old streaming method using the MediaRecorder API
        Log.e(TAG,"Resolution not supported with the MediaCodec API, we fallback on the old streamign method.");
        mMode = MODE_MEDIARECORDER_API;
        return testH264();
    }
}

- 您可以在“ 640 ”中找到差异更改分辨率为“ 1080

- 不知道究竟是什么原因,但上述解决方案对我有用。

- 如果有任何循环掉落,请将其还原。