我使用了来自https://github.com/fyhertz/spydroid-ipcamera的spydroid。 根据要求,流媒体应该在设备中发送和接收。从本地网络我们应该能够显示rtsp流。防爆。 VLC媒体播放器。
我面临的问题是,当我改变分辨率Ex。 640 * 480。它应该给黑屏带流媒体直播。在默认演示中,它应该支持320 * 240,这是正常的。我还根据640 * 480分辨率更改了比特率和帧率。但无法得到结果。
任何帮助都会受到赞赏。
答案 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 ”
- 不知道究竟是什么原因,但上述解决方案对我有用。
- 如果有任何循环掉落,请将其还原。