Я пытаюсь реализовать приложение, которое отправляет живое видео с дрона на мой пользовательский сервер RTMP.Когда я использую de LiveStreamManager из DJI Mobile SDK, он выдает мне код ошибки -3, и поток не запускается.Как я могу использовать этот API?
Мое приложение успешно регистрируется, я могу настраивать миссии и получать телеметрию от дронов.Но когда я пытаюсь использовать LiveStreamManeger, он не работает, несмотря ни на что.Даже при реализации в точности так, как это реализовано в Пример кода , это не работает.Документация в справочнике по API DJI, похоже, также содержит несколько методов.
Вот моя реализация
private void setupLiveStream() {
DJISDKManager.getInstance().getLiveStreamManager().registerListener(listener);
initListener();
DJISDKManager.getInstance().getLiveStreamManager().setAudioStreamingEnabled(false);
DJISDKManager.getInstance().getLiveStreamManager().setVideoSource(LiveStreamManager.LiveStreamVideoSource.Primary);
liveURL = "rtmp://mycustomrtmp.com/drone/live_testDJI";
}
private void initListener() {
listener = new LiveStreamManager.OnLiveChangeListener() {
@Override
public void onStatusChanged(int i) {
setResultToToast("status changed : " + i);
}
};
}
private void StartStreaming(){
if (!isLiveStreamManagerOn()) {
return;
}
if (DJISDKManager.getInstance().getLiveStreamManager().isStreaming()) {
setResultToToast("already started the Stream!");
return;
}
new Thread() {
@Override
public void run() {
DJISDKManager.getInstance().getLiveStreamManager().setLiveUrl(liveURL);// + vehicleID);
int result = DJISDKManager.getInstance().getLiveStreamManager().startStream();
DJISDKManager.getInstance().getLiveStreamManager().setStartTime();
setResultToToast("LiveStream Start: " + result +
"\n isVideoStreamSpeedConfigurable:" + DJISDKManager.getInstance().getLiveStreamManager().isVideoStreamSpeedConfigurable() +
"\n isLiveAudioEnabled:" + DJISDKManager.getInstance().getLiveStreamManager().isLiveAudioEnabled());
}
}.start();
}
Я всегда получаю код возврата -3.Когда я использую пример кода, я могу заставить его работать.Единственное отличие состоит в том, что я вызываю функцию isVideoStreamSpeedConfigurable (), она возвращает true в моем коде и false в образце кода.Но я не видел, где я могу установить эту вещь на ложь.Как мне реализовать LiveStreamingManager?