[*] 去掉rtp功能

This commit is contained in:
acgist
2023-04-28 22:52:38 +08:00
parent 3dbf52eb1a
commit b8c9d42460
26 changed files with 21 additions and 364 deletions

View File

@@ -27,7 +27,6 @@ import androidx.core.app.ActivityCompat;
import com.acgist.taoyao.client.databinding.ActivityMainBinding;
import com.acgist.taoyao.client.signal.Taoyao;
import com.acgist.taoyao.media.MediaManager;
import com.acgist.taoyao.media.TransportType;
import com.acgist.taoyao.media.VideoSourceType;
import com.acgist.taoyao.media.config.Config;
@@ -128,7 +127,6 @@ public class MainActivity extends AppCompatActivity implements Serializable {
resources.getInteger(R.integer.iFrameInterval),
resources.getString(R.string.storagePathImage),
resources.getString(R.string.storagePathVideo),
TransportType.valueOf(resources.getString(R.string.transportType)),
VideoSourceType.valueOf(resources.getString(R.string.videoSourceType))
);
final Display display = this.getWindow().getContext().getDisplay();

View File

@@ -16,11 +16,10 @@
<string name="encrypt">DES</string>
<!-- 信令加密密钥 -->
<string name="encryptSecret">2SPWy+TF1zM=</string>
<!-- 文件存储目录 -->
<!-- 图片存储目录 -->
<string name="storagePathImage">/taoyao/image</string>
<!-- 视频存储目录 -->
<string name="storagePathVideo">/taoyao/video</string>
<!-- 传输类型RTP|WEBRTC -->
<string name="transportType">WEBRTC</string>
<!-- 视频来源FILE|BACK|FRONT|SCREEN -->
<string name="videoSourceType">BACK</string>
<!-- 媒体配置:是否消费数据 -->
@@ -35,9 +34,14 @@
<bool name="audioProduce">true</bool>
<!-- 媒体配置:是否生产视频 -->
<bool name="videoProduce">true</bool>
<!-- 图片质量 -->
<integer name="imageQuantity">100</integer>
<!-- 音频质量 -->
<string name="audioQuantity">fd-audio</string>
<!-- 视频质量 -->
<string name="videoQuantity">fd-video</string>
<!-- 音频通道数量 -->
<integer name="channelCount">1</integer>
<!-- 视频关键帧频率 -->
<integer name="iFrameInterval">1</integer>
</resources>

View File

@@ -29,12 +29,6 @@ set(
${SOURCE_DIR}/include/MediaManager.hpp
${SOURCE_DIR}/include/Room.hpp
${SOURCE_DIR}/include/RouterCallback.hpp
${SOURCE_DIR}/include/RtpAudioPublisher.hpp
${SOURCE_DIR}/include/RtpClient.hpp
${SOURCE_DIR}/include/RtpVideoPublisher.hpp
${SOURCE_DIR}/rtp/RtpAudioPublisher.cpp
${SOURCE_DIR}/rtp/RtpClient.cpp
${SOURCE_DIR}/rtp/RtpVideoPublisher.cpp
${SOURCE_DIR}/webrtc/MediaManager.cpp
${SOURCE_DIR}/webrtc/Room.cpp
${SOURCE_DIR}/webrtc/RouterCallback.cpp

View File

@@ -1,5 +0,0 @@
#pragma once
namespace acgist {
}

View File

@@ -1,5 +0,0 @@
#pragma once
namespace acgist {
}

View File

@@ -1,5 +0,0 @@
#pragma once
namespace acgist {
}

View File

@@ -1,5 +0,0 @@
#include "RtpAudioPublisher.hpp"
namespace acgist {
}

View File

@@ -1,5 +0,0 @@
#include "RtpClient.hpp"
namespace acgist {
}

View File

@@ -1,5 +0,0 @@
#include "RtpVideoPublisher.hpp"
namespace acgist {
}

View File

@@ -32,7 +32,6 @@ namespace acgist {
}
void OnConnectionStateChange(mediasoupclient::Transport* transport, const std::string& connectionState) override {
// TODOrestartIce
}
std::future<std::string> OnProduce(mediasoupclient::SendTransport* transport, const std::string& kind, nlohmann::json rtpParameters, const nlohmann::json& appData) override {
@@ -401,7 +400,6 @@ namespace acgist {
// webrtc::PeerConnectionInterface::RTCConfiguration rtcConfiguration(webrtc::PeerConnectionInterface::RTCConfigurationType::kSafe);
webrtc::PeerConnectionInterface::RTCConfiguration rtcConfiguration(webrtc::PeerConnectionInterface::RTCConfigurationType::kAggressive);
webrtc::JavaParamRef<jobject> jRtcConfigurationRef(env, jRtcConfiguration);
// 注意
webrtc::jni::JavaToNativeRTCConfiguration(env, jRtcConfigurationRef, &rtcConfiguration);
const char* rtpCapabilities = env->GetStringUTFChars(jRtpCapabilities, nullptr);
room->enterRoom(

View File

@@ -2,8 +2,6 @@ package com.acgist.taoyao.media;
import android.content.Context;
import android.content.Intent;
import android.media.MediaCodecInfo;
import android.media.MediaCodecList;
import android.media.projection.MediaProjection;
import android.os.Handler;
import android.os.Message;
@@ -43,8 +41,6 @@ import org.webrtc.VideoTrack;
import org.webrtc.audio.JavaAudioDeviceModule;
import java.util.Arrays;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
/**
* 媒体来源管理器
@@ -93,10 +89,6 @@ public final class MediaManager {
* 关键帧频率
*/
private int iFrameInterval;
/**
* 传输通道类型
*/
private TransportType transportType;
/**
* 视频来源类型
*/
@@ -214,7 +206,7 @@ public final class MediaManager {
int imageQuantity, String audioQuantity, String videoQuantity,
int channelCount, int iFrameInterval,
String imagePath, String videoPath,
TransportType transportType, VideoSourceType videoSourceType
VideoSourceType videoSourceType
) {
this.mainHandler = mainHandler;
this.context = context;
@@ -225,7 +217,6 @@ public final class MediaManager {
this.iFrameInterval = iFrameInterval;
this.imagePath = imagePath;
this.videoPath = videoPath;
this.transportType = transportType;
this.videoSourceType = videoSourceType;
}

View File

@@ -1,20 +0,0 @@
package com.acgist.taoyao.media;
/**
* 传输类型
*
* @author acgist
*/
public enum TransportType {
/**
* RTP
* 注意:只能监控
*/
RTP,
/**
* WebRTC
*/
WEBRTC;
}

View File

@@ -1,8 +1,5 @@
package com.acgist.taoyao.media.audio;
import org.webrtc.voiceengine.WebRtcAudioManager;
import org.webrtc.voiceengine.WebRtcAudioRecord;
/**
* 混音
*

View File

@@ -11,7 +11,6 @@ import android.util.Log;
import com.acgist.taoyao.boot.utils.DateUtils;
import com.acgist.taoyao.media.MediaManager;
import com.acgist.taoyao.media.VideoSourceType;
import com.acgist.taoyao.media.signal.ITaoyao;
import org.webrtc.VideoFrame;

View File

@@ -8,11 +8,8 @@ import com.acgist.taoyao.boot.utils.JSONUtils;
import com.acgist.taoyao.boot.utils.MapUtils;
import com.acgist.taoyao.boot.utils.PointerUtils;
import com.acgist.taoyao.media.RouterCallback;
import com.acgist.taoyao.media.VideoSourceType;
import com.acgist.taoyao.media.config.Config;
import com.acgist.taoyao.media.config.MediaAudioProperties;
import com.acgist.taoyao.media.config.MediaProperties;
import com.acgist.taoyao.media.config.MediaVideoProperties;
import com.acgist.taoyao.media.config.WebrtcProperties;
import com.acgist.taoyao.media.signal.ITaoyao;

View File

@@ -4,17 +4,13 @@ import android.os.Handler;
import android.util.Log;
import com.acgist.taoyao.boot.model.Message;
import com.acgist.taoyao.boot.utils.JSONUtils;
import com.acgist.taoyao.boot.utils.ListUtils;
import com.acgist.taoyao.boot.utils.MapUtils;
import com.acgist.taoyao.media.VideoSourceType;
import com.acgist.taoyao.media.config.Config;
import com.acgist.taoyao.media.config.MediaProperties;
import com.acgist.taoyao.media.config.WebrtcProperties;
import com.acgist.taoyao.media.config.WebrtcStunProperties;
import com.acgist.taoyao.media.signal.ITaoyao;
import org.apache.commons.lang3.ArrayUtils;
import org.webrtc.DataChannel;
import org.webrtc.IceCandidate;
import org.webrtc.MediaConstraints;
@@ -24,11 +20,9 @@ import org.webrtc.PeerConnectionFactory;
import org.webrtc.SdpObserver;
import org.webrtc.SessionDescription;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.CompletableFuture;
import java.util.function.Consumer;
/**

View File

@@ -6,9 +6,7 @@ import org.apache.commons.lang3.ArrayUtils;
import org.webrtc.PeerConnection;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* WebRTC配置

View File

@@ -4,8 +4,6 @@ import android.util.Log;
import com.acgist.taoyao.boot.model.Message;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.Future;
import java.util.function.Consumer;
import java.util.function.Function;