Package io.antmedia.webrtc.adaptor
Class RTMPAdaptor
java.lang.Object
io.antmedia.webrtc.adaptor.Adaptor
io.antmedia.webrtc.adaptor.RTMPAdaptor
- All Implemented Interfaces:
PeerConnection.Observer,SdpObserver
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classclass -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringstatic final Stringstatic final Stringstatic final Stringprivate ScheduledFuture<?>private ScheduledExecutorServiceprivate ScheduledFuture<?>private intprivate intstatic final Stringprivate booleanprivate booleanprivate intprivate Stringprivate intprivate AtomicBooleanprivate intprivate static org.slf4j.Loggerprivate Stringprivate intprivate int(package private) FFmpegFrameRecorderprivate ScheduledExecutorServiceprivate booleanprivate longprivate Stringprivate booleanprivate Stringprivate Stringprivate ScheduledExecutorServiceprivate ScheduledFuture<?>private intprivate longprivate ConcurrentLinkedQueue<VideoFrameContext>private WebRtcAudioTrackFields inherited from class io.antmedia.webrtc.adaptor.Adaptor
log, peerConnection, peerConnectionFactory, webSocketCommunityHandler -
Constructor Summary
ConstructorsConstructorDescriptionRTMPAdaptor(String outputURL, WebSocketCommunityHandler webSocketHandler, int height) RTMPAdaptor(String outputURL, WebSocketCommunityHandler webSocketHandler, int height, String format) -
Method Summary
Modifier and TypeMethodDescriptionvoidaddIceCandidate(IceCandidate iceCandidate) voidvoidintgetNewRecorder(String outputURL, int width, int height, String format) longvoidvoidinitializeRecorder(VideoFrame frame) booleanstatic FFmpegFrameRecorderinitRecorder(String outputURL, int width, int height, String format, int audioChannels) booleanbooleanbooleanvoidonAddStream(MediaStream stream) Triggered when media is received on a new stream from remote peer.voidCalled on success of Set{Local,Remote}Description().voidrecordSamples(RTMPAdaptor.AudioFrame audioFrameContext) voidsetEnableVideo(boolean enableVideo) voidsetPortRange(int webRTCPortRangeMin, int webRTCPortRangeMax) voidsetRecorder(FFmpegFrameRecorder recorder) voidvoidsetSignallingExecutor(ScheduledExecutorService signallingExecutor) voidsetStunServerUri(String stunServerUri, String username, String credential) voidsetTcpCandidatesEnabled(boolean tcpCandidatesEnabled) voidsetWebRtcAudioTrack(WebRtcAudioTrack webRtcAudioTrack) voidstart()voidstop()Methods inherited from class io.antmedia.webrtc.adaptor.Adaptor
getPeerConnection, getSdpMediaConstraints, getSession, getStreamId, onAddTrack, onCreateFailure, onCreateSuccess, onDataChannel, onIceCandidate, onIceCandidatesRemoved, onIceConnectionChange, onIceConnectionReceivingChange, onIceGatheringChange, onRemoveStream, onRenegotiationNeeded, onSetFailure, onSignalingChange, setPeerConnection, setPeerConnectionFactory, setSdpMediaConstraints, setSession, setStreamIdMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.webrtc.PeerConnection.Observer
onConnectionChange, onIceCandidateError, onRemoveTrack, onSelectedCandidatePairChanged, onStandardizedIceConnectionChange, onTrack
-
Field Details
-
AUDIO_ECHO_CANCELLATION_CONSTRAINT
- See Also:
-
AUDIO_AUTO_GAIN_CONTROL_CONSTRAINT
- See Also:
-
AUDIO_HIGH_PASS_FILTER_CONSTRAINT
- See Also:
-
AUDIO_NOISE_SUPPRESSION_CONSTRAINT
- See Also:
-
recorder
FFmpegFrameRecorder recorder -
startTime
private volatile long startTime -
logger
private static org.slf4j.Logger logger -
videoEncoderExecutor
-
audioEncoderExecutor
-
isStopped
-
signallingExecutor
-
enableAudio
private boolean enableAudio -
enableVideo
private boolean enableVideo -
audioFrameCount
private volatile int audioFrameCount -
started
private boolean started -
audioDataSchedulerFuture
-
webRtcAudioTrack
-
DTLS_SRTP_KEY_AGREEMENT_CONSTRAINT
- See Also:
-
stunServerUri
-
portRangeMin
private int portRangeMin -
portRangeMax
private int portRangeMax -
tcpCandidatesEnabled
private boolean tcpCandidatesEnabled -
height
private int height -
outputURL
-
errorLoopCount
private int errorLoopCount -
format
-
videoFrameQueue
-
audioFrameQueue
-
lastFrameNumber
private int lastFrameNumber -
dropFrameCount
private int dropFrameCount -
videoEncoderFuture
-
audioEncoderFuture
-
videoFrameCount
private int videoFrameCount -
videoFrameLastTimestampMs
private long videoFrameLastTimestampMs -
turnServerUsername
-
turnServerCredential
-
-
Constructor Details
-
RTMPAdaptor
-
RTMPAdaptor
public RTMPAdaptor(String outputURL, WebSocketCommunityHandler webSocketHandler, int height, String format)
-
-
Method Details
-
initRecorder
public static FFmpegFrameRecorder initRecorder(String outputURL, int width, int height, String format, int audioChannels) -
getNewRecorder
-
getVideoDecoderFactory
-
createPeerConnectionFactory
-
initPeerConnection
-
start
public void start() -
stop
public void stop() -
getSignallingExecutor
-
setSignallingExecutor
-
initAudioTrackExecutor
public void initAudioTrackExecutor() -
encodeAudio
public void encodeAudio() -
recordSamples
-
initializeRecorder
-
encodeVideo
public void encodeVideo() -
onAddStream
Description copied from interface:PeerConnection.ObserverTriggered when media is received on a new stream from remote peer.- Specified by:
onAddStreamin interfacePeerConnection.Observer- Overrides:
onAddStreamin classAdaptor
-
onSetSuccess
public void onSetSuccess()Description copied from interface:SdpObserverCalled on success of Set{Local,Remote}Description().- Specified by:
onSetSuccessin interfaceSdpObserver- Overrides:
onSetSuccessin classAdaptor
-
setRemoteDescription
-
addIceCandidate
-
isStarted
public boolean isStarted() -
isStopped
public boolean isStopped() -
getAudioDataSchedulerFuture
-
getStartTime
public long getStartTime() -
getStunServerUri
-
setStunServerUri
-
setPortRange
public void setPortRange(int webRTCPortRangeMin, int webRTCPortRangeMax) -
setTcpCandidatesEnabled
public void setTcpCandidatesEnabled(boolean tcpCandidatesEnabled) -
getHeight
public int getHeight() -
getOutputURL
-
setRecorder
-
setWebRtcAudioTrack
-
getVideoFrameQueue
-
getAudioFrameQueue
-
getRecorder
-
getVideoEncoderExecutor
-
getAudioEncoderExecutor
-
setEnableVideo
public void setEnableVideo(boolean enableVideo) -
isEnableVideo
public boolean isEnableVideo()
-