Serialized Form

  • Package io.antmedia

    • Class io.antmedia.AppSettings

      class AppSettings extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • aacEncodingEnabled
          boolean aacEncodingEnabled
          If aacEncodingEnabled is true, aac encoding will be active even if mp4 or hls muxing is not enabled, If aacEncodingEnabled is false, aac encoding is only activated if mp4 or hls muxing is enabled in the settings, This value should be true if you're sending stream to RTMP endpoints or enable/disable mp4 recording on the fly
        • abrDownScalePacketLostRatio
          float abrDownScalePacketLostRatio
          Packet lost percentage to decide serving video with lower resolution
        • abrUpScaleJitterMs
          int abrUpScaleJitterMs
          Jitter in ms to decide serving video with higher resolution
        • abrUpScalePacketLostRatio
          float abrUpScalePacketLostRatio
          Packet lost percentage to decide serving video with higher resolution
        • abrUpScaleRTTMs
          int abrUpScaleRTTMs
          Round trip time in ms to decide serving video with higher resolution
        • acceptOnlyRoomsInDataStore
          boolean acceptOnlyRoomsInDataStore
          The control for rooms
        • acceptOnlyStreamsInDataStore
          boolean acceptOnlyStreamsInDataStore
          The control for publishers It's mandatory, If it is set true you cannot start publishing unless you add the stream id to the database, You can add stream id by REST API. Default value is false.
        • addDateTimeToHlsFileName
          boolean addDateTimeToHlsFileName
          It's mandatory, Date and time are added to created .m3u8 and .ts file name, Default value is false
        • addDateTimeToMp4FileName
          boolean addDateTimeToMp4FileName
          It's mandatory, Date and time are added to created .mp4 file name, Default value is false
        • addOriginalMuxerIntoHLSPlaylist
          boolean addOriginalMuxerIntoHLSPlaylist
          Add the original hls stream to the playlist if adaptive bitrate setting is enabled
        • allowedPublisherCIDR
          String allowedPublisherCIDR
          Comma separated CIDR that server accepts/ingests RTMP streams from, Default value is null which means that it accepts/ingests stream from everywhere
        • apnKeyId
          String apnKeyId
          APN(Apple Push Notification) key Id
        • apnPrivateKey
          String apnPrivateKey
          APN(Apple Push Notification) private key
        • apnsServer
          String apnsServer
          (Apple Push Notification) Apple Push Notification Server Default value is development enviroment(api.sandbox.push.apple.com) and production enviroment is api.push.apple.com
        • apnTeamId
          String apnTeamId
          APN(Apple Push Notification) team id
        • appInstallationTime
          long appInstallationTime
          The time when the application is installed
        • appName
          String appName
          Applicaiton name for the data store which should exist so that no default value such as LiveApp, WebRTCApp etc.
        • appStatus
          String appStatus
          Describes the application installation status. Possible values: Installing: App install Rest method received by host node Installed: App installation completed on host node Installation Failed: App installation can not be completed by host node Deleted: App installation deleted on host node
        • audioBitrateSFU
          int audioBitrateSFU
          In SFU mode we still transcode the audio to opus and aac This settings determines the audio bitrate for opus and aac It's the bitrate that is used transcoding the audio in AAC and Opus After version(2.3), we directly forward incoming audio to the viewers without transcoding.
        • clusterCommunicationKey
          String clusterCommunicationKey
          Key that is being used to validate the requests between communication in the cluster nodes In initialization no matter if spring or field definition is effective, the important thing is that having some random value
        • constantRateFactor
          String constantRateFactor
          Deprecated.
          Constant Rate Factor used by x264, x265, VP8, Use values between 4-51
        • contentSecurityPolicyHeaderValue
          String contentSecurityPolicyHeaderValue
          Value of the content security policy header(csp) The new Content-Security-Policy HTTP response header helps you reduce XSS risks on modern browsers by declaring which dynamic resources are allowed to load. https://content-security-policy.com/
        • createPreviewPeriod
          int createPreviewPeriod
          It's mandatory, This determines the period (milliseconds) of preview (png, jpg) file creation, This file is created into /preview directory. Default value is 5000.
        • customSettings
          Map<String,Object> customSettings
        • dashExtraWindowSize
          String dashExtraWindowSize
          DASH extra window size, Number of segments kept outside of the manifest before removing from disk
        • dashFragmentDuration
          String dashFragmentDuration
          Fragments are a property of fragmented MP4 files, Typically a fragment consists of moof + mdat.
        • dashHttpEndpoint
          String dashHttpEndpoint
        • dashHttpStreaming
          boolean dashHttpStreaming
          Use http streaming in Low Latency Dash, If it's true, it sends files through http If it's false, it writes files to disk directly In order to have Low Latency http streaming should be used
        • dashMuxingEnabled
          boolean dashMuxingEnabled
          Enable/disable dash recording
        • dashSegDuration
          String dashSegDuration
          Duration of segments in mpd files, Segments are a property of DASH. A segment is the minimal download unit.
        • dashWindowSize
          String dashWindowSize
          DASH window size, Number of files in manifest
        • dataChannelEnabled
          boolean dataChannelEnabled
          Enable/Disable data channel It's disabled by default When data channel is enabled, publisher can send messages to the players
        • dataChannelPlayerDistribution
          String dataChannelPlayerDistribution
          Defines the distribution list for player messages it can be none/publisher/all none: player messages are delivered to nobody publisher: player messages are delivered to only publisher all: player messages are delivered to everyone both publisher and all players
        • dataChannelWebHookURL
          String dataChannelWebHookURL
          All data channel messages are delivered to these hook as well So that it'll be integrated to any third party application
        • dbId
          org.bson.types.ObjectId dbId
        • defaultDecodersEnabled
          boolean defaultDecodersEnabled
          Deprecated.
          Set true to enable WebRTC default decoders(such as VP8, VP9) Set false to only enable h264 decoder If it is set true, WebRTC using default decoders(such as VP8, VP9). If it is set false, WebRTC using only default h264 decoder. Default value is false. Deprecated: Use vp8Enabled and h264enabled
        • deleteDASHFilesOnEnded
          boolean deleteDASHFilesOnEnded
          If this value is true, dash files(mpd and m4s files) are deleted after the broadcasting has finished.
        • deleteHLSFilesOnEnded
          boolean deleteHLSFilesOnEnded
          It's mandatory, If this value is true, hls files(m3u8 and ts files) are deleted after the broadcasting has finished, Default value is true.
        • disableIPv6Candidates
          boolean disableIPv6Candidates
          Enable/Disable IPv6 Candidates for WebRTC It's disabled by default
        • dropWebRTCIngestIfNoPacketReceived
          boolean dropWebRTCIngestIfNoPacketReceived
          Drop webrtc ingest if no packet received. It's false by default because video or audio may be disabled in the stream It checks the audio/video packets in the WebRTC ingest stream. If no audio or no video packets are received in the AppSettings.webRTCClientStartTimeoutMs, it drops the stream.
        • enableTimeTokenForPlay
          boolean enableTimeTokenForPlay
          The setting for accepting only time based token(TOTP) subscribers as connections to the streams
        • enableTimeTokenForPublish
          boolean enableTimeTokenForPublish
          The settings for accepting only time based token(TOTP) subscribers as connections to the streams
        • encoderLevel
          String encoderLevel
          Encoder level in adaptive bitrate
        • encoderName
          String encoderName
          Name of the encoder to be used in adaptive bitrate, If there is a GPU, server tries to open h264_nvenc, If there is no GPU, server tries to open openh264 by default Can be h264_nvenc or openh264. If you set h264_nvenc and then if it cannot be opened, libx264 will be used,
        • encoderParameters
          Map<String,Map<String,String>> encoderParameters
          Encoder specific parameters in key-value mapping way with JSON objects. Keys should match the encoder names officially in ffmpeg for instance libopenh264, h264_nvenc, vpx, hevc_nvenc Then you can have a json object like this which includes the parameters for the encoder { "libopenh264": { "profile":"main", }, "vpx": { "deadline":"realtime", }, "h264_nvenc": { "preset":"ll" } }
        • encoderPreset
          String encoderPreset
          Encoder's preset value in adaptive bitrate Libx264 presets are there https://trac.ffmpeg.org/wiki/Encode/H.264 Ant Media Server uses "veryfast" by default
        • encoderProfile
          String encoderProfile
          Encoder profile in adaptive bitrate, It's baseline by default.
        • encoderRc
          String encoderRc
          Encoding rate control in adaptive bitrate
        • encoderSelectionPreference
          String encoderSelectionPreference
          Can be "gpu_and_cpu" or "only_gpu" "only_gpu" only tries to open the GPU for encoding, If it cannot open the gpu codec it returns false "gpu_and_cpu" first tries to open the GPU for encoding if it does not open, it tries to open the CPU for encoding
        • encoderSettingsString
          String encoderSettingsString
          Encoder settings in JSON format This must be set for adaptive streaming, If it is empty SFU mode will be active in WebRTCAppEE, video height, video bitrate, and audio bitrate are set as an example, Ex. 480,300000,96000,360,200000,64000.
        • encoderSpecific
          String encoderSpecific
          Encoder specific configuration for libx264 in adaptive bitrate, This is the x264-params in ffmpeg Specific settings for selected encoder, For libx264 please check https://trac.ffmpeg.org/wiki/Encode/H.264
        • encoderThreadCount
          int encoderThreadCount
          Encoder thread count.
        • encoderThreadType
          int encoderThreadType
          Encoder thread type 0: auto 1: frame 2: slice
        • encodingQueueSize
          int encodingQueueSize
        • encodingTimeout
          int encodingTimeout
          Timeout for encoding If encoder cannot encode a frame in this timeout, streaming is finished by server.
        • endpointHealthCheckPeriodMs
          int endpointHealthCheckPeriodMs
          Endpoint will try to republish if error occurs, however the error might get fixed internally in case of small issues without republishing This value is the check time for endpoint in 3 trials For example for 2 seconds, there will be 2 checks in 2 second intervals, if each of them fails it will try to republish in 3rd check.
        • endpointRepublishLimit
          int endpointRepublishLimit
          This limit is for republishing to a certain endpoint for how many times For example in case we tried to republish 3 times and still got an error We conclude that the endpoint is dead and close it.
        • excessiveBandwidthAlgorithmEnabled
          boolean excessiveBandwidthAlgorithmEnabled
          Enable or disable excessive bandwidth algorithm
        • excessiveBandwidthCallThreshold
          int excessiveBandwidthCallThreshold
          The excessive bandwidth call threshold value
        • excessiveBandwidthValue
          int excessiveBandwidthValue
          The excessive bandwidth threshold value
        • excessiveBandwithTryCountBeforeSwitchback
          int excessiveBandwithTryCountBeforeSwitchback
        • fileNameFormat
          String fileNameFormat
          The format of output mp4 and ts files. Generates an extended filename based on the given parameters and file name format.
        • firebaseAccountKeyJSON
          String firebaseAccountKeyJSON
          Firebase Service Account Key JSON to send push notification through Firebase Cloud Messaging
        • forceAspectRatioInTranscoding
          boolean forceAspectRatioInTranscoding
          This settings forces the aspect ratio to match the incoming aspect ratio perfectly. For instance, if the incoming source is 1280x720 and there is an adaptive bitrate with 480p There is no integer value that makes this equation true 1280/720 = x/480 -> x = 853.333 So Ant Media Server can change the video height to match the aspect ratio perfectly. This is critical when there are multi-bitrates in the dash streaming. Because dash requires perfect match of aspect ratios of all streams The disadvantage of this approach is that there may be have some uncommon resolutions at the result of the transcoding. So that default value is false
        • forceDecoding
          boolean forceDecoding
          Force stream decoding even if there is no adaptive setting
        • generatePreview
          boolean generatePreview
          Generate preview if there is any adaptive settings, Preview generation depends on adaptive settings and it's generated by default
        • gopSize
          int gopSize
          GOP size, AKA key frame interval, GOP size is group of pictures that encoder sends key frame for each group, The unit is not the seconds, Please don't confuse the seconds that are used in key frame intervals If GOP size is 50 and your frame rate is 25, it means that encoder will send key frame for every 2 seconds, Default value is 0 so it uses incoming gop size by default.
        • h264Enabled
          boolean h264Enabled
          Enable/Disable h264 encoding It's enabled by default
        • h265Enabled
          boolean h265Enabled
          Enable/disable H265 Encoding Disabled by default
        • h265EncoderLevel
          String h265EncoderLevel
          Deprecated.
        • h265EncoderPreset
          String h265EncoderPreset
          Deprecated.
        • h265EncoderProfile
          String h265EncoderProfile
          Deprecated.
        • h265EncoderRc
          String h265EncoderRc
          Deprecated.
        • h265EncoderSpecific
          String h265EncoderSpecific
          Deprecated.
        • hashControlPlayEnabled
          boolean hashControlPlayEnabled
          It's mandatory, If it is set true then hash based access control enabled for playing, enable hash control as token for playing operations using shared secret Default value is false.
        • hashControlPublishEnabled
          boolean hashControlPublishEnabled
          It's mandatory, If it is set true then hash based access control enabled for publishing, enable hash control as token for publishing operations using shared secret Default value is false.
        • heightRtmpForwarding
          int heightRtmpForwarding
          The height of the stream that is transcoded from incoming WebRTC stream to the RTMP This settings is effective in community edition by default It's also effective WebRTC to RTMP direct forwarding by giving rtmpForward=true in WebSocket communication in Enterprise Edition
        • hlsEnabledViaDash
          boolean hlsEnabledViaDash
          Enable hls through DASH muxer, LLHLS is effective if dash is enabled.
        • hlsEncryptionKeyInfoFile
          String hlsEncryptionKeyInfoFile
          HLS Encryption key info file full path. Format of the file ``` key URI key file path IV (optional) `` The first line of key_info_file specifies the key URI written to the playlist. The key URL is used to access the encryption key during playback. The second line specifies the path to the key file used to obtain the key during the encryption process. The key file is read as a single packed array of 16 octets in binary format. The optional third line specifies the initialization vector (IV) as a hexadecimal string to be used instead of the segment sequence number (default) for encryption. Changes to key_info_file will result in segment encryption with the new key/IV and an entry in the playlist for the new key URI/IV if hls_flags periodic_rekey is enabled. Key info file example: ``` http://server/file.key /path/to/file.key 0123456789ABCDEF0123456789ABCDEF ```
        • hlsflags
          String hlsflags
          HLS Flags for FFmpeg HLS Muxer, Please add value by plus prefix in the properties file like this settings.hlsflags=+program_date_time you can add + separated more options like below settings.hlsflags=+program_date_time+round_durations+append_list Separate with + or -. Check for details: https://ffmpeg.org/ffmpeg-formats.html#Options-6
        • hlsHttpEndpoint
          String hlsHttpEndpoint
          Http endpoint to push the HLS stream
        • hlsListSize
          String hlsListSize
          Number of segments(chunks) in m3u8 files Set the maximum number of playlist entries, If 0 the list file will contain all the segments,
        • hlsMuxingEnabled
          boolean hlsMuxingEnabled
          Enable/disable hls recording If it is set true then HLS files are created into /streams and HLS playing is enabled, Default value is true
        • hlsPlayListType
          String hlsPlayListType
          It can be event or vod, Check HLS documentation for EXT-X-PLAYLIST-TYPE.
        • hlsSegmentFileSuffixFormat
          String hlsSegmentFileSuffixFormat
          HLS segment file suffix format. By default: %09d which means 9 digit incremental To add time: It can be like %Y%m%d-%s If you want to use both incrementing numbers and date together - Please use double % for the incrementing number suffix like: %s-%%09d - +second_level_segment_index to HLS flags
        • hlsSegmentType
          String hlsSegmentType
          HLS Muxer segment type. It can be "mpegts" or "fmp4" fmp4 is compatible to play the HEVC HLS Streams
        • hlsTime
          String hlsTime
          Duration of segments in m3u8 files Target segment length in seconds, Segment will be cut on the next key frame after this time has passed.
        • httpForwardingBaseURL
          String httpForwardingBaseURL
          Forward the incoming http request to this base url
        • httpForwardingExtension
          String httpForwardingExtension
          Forwards the http requests with this extension to AppSettings.httpForwardingBaseURL It supports comma separated extensions Like mp4,m3u8 Don't add any leading, trailing white spaces
        • hwScalingEnabled
          boolean hwScalingEnabled
          Enable/disable video frame scaling in GPU when there is an adaptive bitrate. It's disabled by default. If you want to use this feature, ask from Ant Media Support to have the build that supports this feature - mekya
        • iceGatheringTimeoutMs
          long iceGatheringTimeoutMs
        • id3TagEnabled
          boolean id3TagEnabled
          Enables the ID3 Tag support for HLS
        • ingestingStreamLimit
          int ingestingStreamLimit
          Application level total incoming stream limit
        • ipFilterEnabled
          boolean ipFilterEnabled
          Application IP Filter Enabled
        • jwksURL
          String jwksURL
        • jwtControlEnabled
          boolean jwtControlEnabled
          Application JWT Control Enabled for accessing the REST API TODO: Remove this field. Just check if jwtSecretKey is not empty then it means jwt filter is enabled
        • jwtSecretKey
          String jwtSecretKey
          Application JWT secret key for accessing the REST API
        • jwtStreamSecretKey
          String jwtStreamSecretKey
          Application JWT stream secret key. Provide 32 character or more in length
        • listenerHookURL
          String listenerHookURL
          The URL for action callback You must set this to subscribe some event notifications, For details check: https://antmedia.io/webhook-integration/
        • lLDashEnabled
          boolean lLDashEnabled
          Enable low latency dash, This settings is effective if dash is enabled
        • lLHLSEnabled
          boolean lLHLSEnabled
          Enable low latency hls via dash muxer, LLHLS is effective if dash is enabled.
        • maxAnalyzeDurationMS
          int maxAnalyzeDurationMS
          Max analyze duration in for determining video and audio existence in RTMP, SRT and Stream Sources
        • maxAudioTrackCount
          int maxAudioTrackCount
          The maximum audio track in a multitrack playing connection If it is -1 then a new audio track connection is established for each track otherwise, audio connections are established as many as this value and the limited connections are shared between tracks.
        • maxBitrateAccept
          int maxBitrateAccept
          Max Bitrate value in RTMP streams
        • maxFpsAccept
          int maxFpsAccept
          Max FPS value in RTMP streams
        • maxResolutionAccept
          int maxResolutionAccept
          Max Resolution value in RTMP streams
        • maxVideoTrackCount
          int maxVideoTrackCount
          The maximum video track in a multitrack playing connection If it is -1 then a new video track connection is established for each track otherwise, video connections are established as many as this value and the limited connections are shared between tracks.
        • mp4MuxingEnabled
          boolean mp4MuxingEnabled
          It's mandatory, If it is set true then a mp4 file is created into /streams directory Default value is false
        • muxerFinishScript
          String muxerFinishScript
          This is a script file path that is called by Runtime when muxing is finished, Bash script file path will be called after stream finishes.
        • mySqlClientPath
          String mySqlClientPath
        • objectDetectionEnabled
          boolean objectDetectionEnabled
          It's mandatory, The directory contains the tensorflow object detection model If it is set true then object detection algorithm is run for streaming video, Default value is false.
        • originEdgeIdleTimeout
          int originEdgeIdleTimeout
          The maximum idle time between origin and edge connection. After this timeout connection will be re-established if the stream is still active on origin.
        • packetLossDiffThresholdForSwitchback
          int packetLossDiffThresholdForSwitchback
          packet loss threshold if packetLoss is bigger than this value in ExcessiveBandwidth algorithm, it switches back to lower quality without try every attempts AppSettings.excessiveBandwithTryCountBeforeSwitchback
        • participantVisibilityMatrix
          Map<String,List<String>> participantVisibilityMatrix
          Participant Visibility Matrix for WebRTC Clients. These are roles and each role can see the roles in this list
        • playJwtControlEnabled
          boolean playJwtControlEnabled
          The settings for enabling jwt token filter mechanism for accessing resources and playing
        • playTokenControlEnabled
          boolean playTokenControlEnabled
          The settings for enabling one-time token control mechanism for accessing resources and publishing It's mandatory, This enables token control, Check for details: https://antmedia.io/secure-video-streaming/. Default value is false.
        • playWebRTCStreamOnceForEachSession
          boolean playWebRTCStreamOnceForEachSession
          This setting prevents playing stream id more than once in the same websocket/webrtc session. If it is true, trying to play stream id more than once in the same websocket session will produce 'already playing' error Default value is true. It uses session id to match subscriber
        • portAllocatorFlags
          int portAllocatorFlags
          Port Allocator Flags for WebRTC PORTALLOCATOR_DISABLE_UDP = 0x01, PORTALLOCATOR_DISABLE_STUN = 0x02, PORTALLOCATOR_DISABLE_RELAY = 0x04,
        • previewFormat
          String previewFormat
          Preview format can be png or jpg
        • previewHeight
          int previewHeight
          It's mandatory, Determines the height of preview file, Default value is 480
        • previewOverwrite
          boolean previewOverwrite
          Overwrite preview files if exist, default value is false If it is set true and new stream starts with the same id, preview of the new one overrides the previous file, If it is false previous file saved with a suffix.
        • previewQuality
          int previewQuality
          Preview quality. It's valid for JPG and WEBP formats. JPG: The range is between 2 to 31. 2 is the best quality, largest file size and 31 is the worst quality and lowest file size. Recommended value is 5 WEBP: The range is between 0 to 100. 0 is the worst quality, smallest file size and 100 is the best quality and largest file size.Recommended value is 75 Pay attention that the quality parameter is not valid for PNG and default value for this preview is for WebP format. You need to change for JPG format
        • publishJwtControlEnabled
          boolean publishJwtControlEnabled
          The settings for enabling jwt token filter mechanism for accessing resources and publishing
        • publishTokenControlEnabled
          boolean publishTokenControlEnabled
          The settings for enabling one-time token control mechanism for accessing resources and publishing Check for details: https://antmedia.io/secure-video-streaming/. Default value is false.
        • pullWarFile
          boolean pullWarFile
          Set to true when the app settings are only created for pulling the war file.
        • recordingSubfolder
          String recordingSubfolder
          Subfolder for the recording files (mp4 and webm)
        • relayRTMPMetaDataToMuxers
          boolean relayRTMPMetaDataToMuxers
          Relay RTMP metadata to muxers. It's true by default RTMP can have metadata and it can be used for playback synchronization. If it's true, Ant Media Server relays the metadata to muxers. Currently, HLSMuxer supports this feature through Muxer.writeMetaData(String, long)
        • remoteAllowedCIDR
          String remoteAllowedCIDR
          Comma separated CIDR that rest services are allowed to response Allowed IP addresses to reach REST API, It must be in CIDR format as a.b.c.d/x
        • replaceCandidateAddrWithServerAddr
          boolean replaceCandidateAddrWithServerAddr
          Replace candidate addr with server addr, In order to use it you should set serverName in conf/red5.properties
        • restartStreamFetcherPeriod
          int restartStreamFetcherPeriod
          Period of restarting stream fetchers automaticallyin seconds. If it's more than 0, stream fetcher (aka. stream source) are restarted every seconds that is specified in this parameter. Restart time for fetched streams from external sources, Default value is 0
        • rtmpIngestBufferTimeMs
          long rtmpIngestBufferTimeMs
          RTMP ingesting buffer time in Milliseconds Server buffer this amount of video packet in order to compensate when stream is not received for some time
        • rtmpPlaybackEnabled
          boolean rtmpPlaybackEnabled
          RTMP playback is not maintained and its support will be removed completely. It also causes some stability issues on the server side. We highly recommend users to use CMAF(DASH) instead of RTMP playback
        • rtspPullTransportType
          String rtspPullTransportType
          Specify the rtsp transport type in pulling IP Camera or RTSP sources It can have string or integer values. One value can be given at a time as string. It can be udp, tcp udp_multicast, http, https Multiple values can be given at a time by OR operation udp -> 1 << 0 = 1 tcp -> 1 << 1 = 2 udp_multicast -> 1 << 2 = 4 http -> 1 << 8 = 256 https -> 1 << 9 = 512 Default value is 3 which is udp(1) OR tcp(2) 0x01 | 0x10 = 0x11 = 3
        • rtspTimeoutDurationMs
          int rtspTimeoutDurationMs
          Specify the rtspTimeoutDurationMs in pulling IP Camera or RTSP sources
        • rttMeasurementDiffThresholdForSwitchback
          int rttMeasurementDiffThresholdForSwitchback
          rtt measurement threshold diff if rttMeasurement is bigger than this value in ExcessiveBandwidth algorithm, it switches back to lower quality without try every attempts #setTryCountBeforeSwitchback(int)
        • s3AccessKey
          String s3AccessKey
          S3 Access key
        • s3BucketName
          String s3BucketName
          S3 Bucket Name
        • s3CacheControl
          String s3CacheControl
          S3 Cache Control Metadata
        • s3Endpoint
          String s3Endpoint
          S3 Endpoint
        • s3PathStyleAccessEnabled
          boolean s3PathStyleAccessEnabled
          S3 Path Syle Access Enabled
        • s3Permission
          String s3Permission
        • s3PreviewsFolderPath
          String s3PreviewsFolderPath
          It's S3 stream PNG files storage name. It's previews by default.
        • s3RecordingEnabled
          boolean s3RecordingEnabled
          Application JWT Control Enabled
        • s3RegionName
          String s3RegionName
          S3 Region Name
        • s3SecretKey
          String s3SecretKey
          S3 Secret Key
        • s3StorageClass
          String s3StorageClass
        • s3StreamsFolderPath
          String s3StreamsFolderPath
          It's S3 streams MP4, WEBM and HLS files storage name. It's streams by default.
        • s3TransferBufferSizeInBytes
          int s3TransferBufferSizeInBytes
          S3 Transfer Buffer Size This describes to buffer size to keep transferring data. It should be bigger than ts segment file size for HLS continuous upload. Otherwise chunk update may cannot be retried in case of any network break.
        • secureAnalyticEndpoint
          boolean secureAnalyticEndpoint
          If it's false, jwt token should be send in analytic events to the AnalyticsEventLogger. It uses AppSettings.jwtSecretKey for the secret key
        • sendAudioLevelToViewers
          boolean sendAudioLevelToViewers
          Ant Media Server can get the audio level from incoming RTP Header in WebRTC streaming and send to the viewers. It's very useful in video conferencing to detect if user speaks. Ant Media Server sends audio level through webrtc data channel with JSON format { "streamId":${streamId}, "eventType": "UPDATE_AUDIO_LEVEL", "audioLevel": ${audioLevel}, "command": "event" } ${streamId} is the id of the stream that this messages carries its audio level ${audioLevel} is the audio level of the stream. It's between 0 and 127. If it's 0, it means audio level is max. If it's 127, it means it's audio level is min. Ant Media Server sends audio level 5 times in a second
        • signalingAddress
          String signalingAddress
          This is for using another Ant Media instance as signaling server. If your server is behind a NAT it will allow possible connection. It should be full qualified URI like this ws://107.23.25.77:5080/WebRTCAppEE/websocket/signaling
        • signalingEnabled
          boolean signalingEnabled
          This is for making this instance run also as a signaling server. Signaling Server lets Ant Media Server instances behind NAT stream its content to the peer in the Internet
        • srtReceiveLatencyInMs
          int srtReceiveLatencyInMs
        • stalkerDBPassword
          String stalkerDBPassword
          Password of the stalker portal DB User Database password of IP TV Ministra platform.
        • stalkerDBServer
          String stalkerDBServer
          Address of the Stalker Portal DB server Database host address of IP TV Ministra platform.
        • stalkerDBUsername
          String stalkerDBUsername
          Username of stalker portal DB Database user name of IP TV Ministra platform.
        • startStreamFetcherAutomatically
          boolean startStreamFetcherAutomatically
          Flag to specify Stream sources whether to start automatically when server is started. If it is true, stream sources are started automatically when server is started If it's false, stream sources need to be started programmatically or manually by the user
        • statsBasedABREnabled
          boolean statsBasedABREnabled
          Enables the WebRTC statistics based Adaptive Bitrate switch algorithm
        • streamFetcherBufferTime
          int streamFetcherBufferTime
          Stream fetcher buffer time in milliseconds, Stream is buffered for this duration and after that it will be started. It's also good for re-ordering packets. 0 means no buffer, Default value is 0
        • stunServerURI
          String stunServerURI
          STUN or TURN Server URI STUN server URI used for WebRTC ICE candidates You can check: https://antmedia.io/learn-webrtc-basics-components/, Default value is stun:stun.l.google.com:19302 STUN or TURN URL can be set for this properoy
        • subFolder
          String subFolder
          Configures the sub folder path for storing media files. This setting is appended to s3StreamsFolderPath in case of S3 upload. For instance if s3StreamsFolderPath is "streams"(default value) and subFolder is "someRoom", files will appear as streams/someRoom/0001.ts Path configuration supports dynamic placeholders for files: - '%m': Replaces with main track ID if exists - '%s': Replaces with stream ID This is particularly useful for storing conference participant stream HLS recordings in separate folders. Examples of path configurations in S3 assuming s3StreamsFolderPath is "streams": - "" (default) → Basic folder → streams/0001.ts - "%m" → Use main track ID as sub folder → streams/mainTrackId/0001.ts - "myStreams/%m/%s" → Nested folders with track and stream IDs → streams/myStreams/mainTrackId/streamId/0001.ts - "conference/videos/%m/%s" → Custom path with prefixes → streams/conference/videos/mainTrackId/streamId/0001.ts If main track ID or stream ID are null, they are omitted.
        • subscriberAuthenticationKey
          String subscriberAuthenticationKey
          This is JWT Secret to authenticate the user for push notifications. JWT token should be generated with the following secret: subscriberId(username, email, etc.) + subscriberAuthenticationKey
        • targetLatency
          String targetLatency
          Latency of the DASH streaming,
        • timeTokenPeriod
          int timeTokenPeriod
          period for the generated time token
        • timeTokenSecretForPlay
          String timeTokenSecretForPlay
          TOTP(Time-based One Time Password) Token Secret for Playing. If subscriber is not available in database, server checks the TOTP code against this value
        • timeTokenSecretForPublish
          String timeTokenSecretForPublish
          TOTP(Time-based One Time Password) Token Secret for Publishing. If subscriber is not available in database, server checks the TOTP code against this value
        • timeTokenSubscriberOnly
          boolean timeTokenSubscriberOnly
          Deprecated.
          The settings for accepting only time based token subscribers as connections to the streams
        • toBeDeleted
          boolean toBeDeleted
          Deprecated, for removal: This API element is subject to removal in a future version.
          Set to true when you want to delete an application
        • tokenHashSecret
          String tokenHashSecret
          The secret string used for creating hash based tokens The key that used in hash generation for hash-based access control.
        • turnServerCredential
          String turnServerCredential
          TURN server credentai for WebRTC ICE candidates. In order to be effective, #stunServerURI and #turnServerUsername should be set
        • turnServerUsername
          String turnServerUsername
          TURN server username for WebRTC ICE candidates. In order to be effective, #stunServerURI and #turnServerCredential should be set
        • updateTime
          long updateTime
          Update time of the setting in the cluster
        • uploadExtensionsToS3
          int uploadExtensionsToS3
          Binary entity for uploading the extensions 0 means does not upload, 1 means upload Least significant digit switches mp4 files upload to s3 Second digit switches HLS files upload to s3 Most significant digit switches preview(png, jpeg) files upload to s3 Example: 5 ( 101 in binary ) means upload mp4 and previews but not HLS HLS files still will be saved on the server if deleteHLSFilesOnEnded flag is false
        • useOriginalWebRTCEnabled
          boolean useOriginalWebRTCEnabled
          The flag that sets using the original webrtc stream in streaming, This setting is effective if there is any adaptive bitrate setting, For instance assume that there is adaptive bitrate with 480p and incoming stream is 720p Then if this setting is true, there are two bitrates for playing 720p and 480p, In this case if this setting is false, there is one bitrate for playing that is 480p
        • useTimelineDashMuxing
          boolean useTimelineDashMuxing
          Use timeline in dash muxing.
        • vodFolder
          String vodFolder
          The path for manually saved used VoDs Determines the directory to store VOD files.
        • vodUploadFinishScript
          String vodUploadFinishScript
          This is a script file path that is called by Runtime when VoD upload is finished, Bash script file path will be called after upload process finishes.
        • vp8Enabled
          boolean vp8Enabled
          Enable/Disable vp8 encoding It's disabled by default
        • vp8EncoderDeadline
          String vp8EncoderDeadline
          VP8 Encoder deadline: best good realtime
        • vp8EncoderSpeed
          int vp8EncoderSpeed
          Set quality/speed ratio modifier, Higher values speed up the encode at the cost of quality.
        • vp8EncoderThreadCount
          int vp8EncoderThreadCount
          VP8 Encoder thread count.
        • warFileOriginServerAddress
          String warFileOriginServerAddress
          Address of the original place of the war file.
        • webhookAuthenticateURL
          String webhookAuthenticateURL
          Enable Webhook Authentication when publishing streams
        • webhookContentType
          String webhookContentType
          The content type that is used in the webhook POST request It's added for backward compatibility. Default value is application/json. Older version is using application/x-www-form-urlencoded as content type. If you don't want to change the content type, you can set this value to application/x-www-form-urlencoded
        • webhookPlayAuthUrl
          String webhookPlayAuthUrl
          Webhook webrtc play authentication url.
        • webhookRetryCount
          int webhookRetryCount
          Retry count on webhook POST failure
        • webhookRetryDelay
          long webhookRetryDelay
          Delay in milliseconds between webhook attempts on POST failure.
        • webhookStreamStatusUpdatePeriodMs
          long webhookStreamStatusUpdatePeriodMs
          The period that server send stream status to the webhook Default value is -1 which means disabled. Consume the webhook as soon as possible and don't make it wait. Min recommended value is 5000 ms which means 5 seconds
        • webMMuxingEnabled
          boolean webMMuxingEnabled
          Enable/Disable WebM recording
        • webRTCClientStartTimeoutMs
          int webRTCClientStartTimeoutMs
          If webrtc client(publish or play) is not started in this time, it'll close automatically. It's also being used as a timeout to let publisher reconnect in fluctuating networks or ungraceful termination such as closing the browser without closing the connection.
        • webRTCEnabled
          boolean webRTCEnabled
          Enable/disable webrtc, It's mandatory, If it is set true then WebRTC playing is enabled, Default value is false
        • webRTCFrameRate
          int webRTCFrameRate
          It's mandatory, Determines the frame rate of video publishing to the WebRTC players, Default value is 30 because users are complaining about the 20fps(previous value) and may not know to change it
        • webRTCKeyframeTime
          int webRTCKeyframeTime
          WebRTC Keyframe Time, Ant Media Server asks key frame for every webRTCKeyframeTime in SFU mode, It's in milliseconds
        • webRTCPortRangeMax
          int webRTCPortRangeMax
          Max port number of the port range of WebRTC, It's effective when user publishes stream In order to port range port this value should be higher than AppSettings.webRTCPortRangeMin
        • webRTCPortRangeMin
          int webRTCPortRangeMin
          Min port number of the port range of WebRTC, It's effective when user publishes stream, This value should be less than the AppSettings.webRTCPortRangeMax Determines the minimum port number for WebRTC connections, Default value is 0.
        • webRTCSdpSemantics
          String webRTCSdpSemantics
          WebRTC SDP Semantics It can "planB" or "unifiedPlan"
        • webRTCTcpCandidatesEnabled
          boolean webRTCTcpCandidatesEnabled
          It's mandatory, TCP candidates are enabled/disabled.It's effective when user publishes stream It's disabled by default If it is set true then TCP candidates can be used for WebRTC connection, If it is false only UDP port will be used, Default value is true.
        • webRTCViewerLimit
          int webRTCViewerLimit
          Application level WebRTC viewer limit
        • writeStatsToDatastore
          boolean writeStatsToDatastore
          Whether to write viewers(HLS, WebRTC) count to the data store, it's true by default. If you set it to false, it decreases the number of write operations to the data store and you don't see the viewer count in datastore
        • writeSubscriberEventsToDatastore
          boolean writeSubscriberEventsToDatastore
          Write subscriber events to datastore. It's false by default Subscriber events are when they are connected/disconnected. Alternatively, you can get these events from analytics logs by default
    • Class io.antmedia.EncoderSettings

      class EncoderSettings extends Object implements Serializable
      • Serialized Fields

        • audioBitrate
          int audioBitrate
        • forceEncode
          boolean forceEncode
        • height
          int height
        • videoBitrate
          int videoBitrate
  • Package io.antmedia.cluster

  • Package io.antmedia.console.servlet

  • Package io.antmedia.datastore.db.types

    • Class io.antmedia.datastore.db.types.P2PConnection

      class P2PConnection extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • dbId
          org.bson.types.ObjectId dbId
        • originNode
          String originNode
          originNode
        • streamId
          String streamId
          streamId
    • Class io.antmedia.datastore.db.types.StreamInfo

      class StreamInfo extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • audioBitrate
          int audioBitrate
        • audioEnabled
          boolean audioEnabled
        • audioRTimebase
          int audioRTimebase
        • dataChannelEnabled
          boolean dataChannelEnabled
        • dbId
          org.bson.types.ObjectId dbId
        • height
          int height
        • host
          String host
        • isGlobalHost
          boolean isGlobalHost
        • nodeGroup
          String nodeGroup
        • originPort
          int originPort
        • streamId
          String streamId
        • videoBitrate
          int videoBitrate
        • videoCodec
          VideoCodec videoCodec
        • videoEnabled
          boolean videoEnabled
        • videoRTimebase
          int videoRTimebase
        • width
          int width
    • Class io.antmedia.datastore.db.types.VoD

      class VoD extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • altitude
          String altitude
        • creationDate
          long creationDate
        • dbId
          org.bson.types.ObjectId dbId
        • description
          String description
        • duration
          long duration
        • filePath
          String filePath
        • fileSize
          long fileSize
        • latitude
          String latitude
        • longitude
          String longitude
        • metadata
          String metadata
        • previewFilePath
          String previewFilePath
        • processEndTime
          long processEndTime
        • processStartTime
          long processStartTime
        • processStatus
          String processStatus
        • startTime
          long startTime
        • streamId
          String streamId
        • streamName
          String streamName
        • type
          String type
        • vodId
          String vodId
        • vodName
          String vodName
  • Package io.antmedia.filter

  • Package io.antmedia.recorder

  • Package io.antmedia.rest.servlet

  • Package io.antmedia.servlet

  • Package io.antmedia.settings

    • Class io.antmedia.settings.ServerSettings

      class ServerSettings extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • allowedDashboardCIDR
          String allowedDashboardCIDR
          The IP filter that is allowed to access the web panel of Ant Media Server
        • appIngestsSrtStreamsWithoutStreamId
          String appIngestsSrtStreamsWithoutStreamId
          Nme of the application which will ingestthe SRT Streams that don't have streamid.
        • buildForMarket
          boolean buildForMarket
          The setting for customized marketplace build. It's initialized by getting the value from the LicenceBean
        • cpuMeasurementPeriodMs
          int cpuMeasurementPeriodMs
          CPU load is measured for every period and this measurement is used to understand if server has enough CPU to handle new requests
        • cpuMeasurementWindowSize
          int cpuMeasurementWindowSize
          Measured CPU load are added to a list with this size and average of the measure CPU loads are calculated. It's used to check CPU has enough CPU resource
        • defaultHttpPort
          int defaultHttpPort
          Server default HTTP port It's 5080 by default
        • heartbeatEnabled
          boolean heartbeatEnabled
          Enable heart beat for Ant Media Server
        • hostAddress
          String hostAddress
        • jwksURL
          String jwksURL
        • jwtServerControlEnabled
          boolean jwtServerControlEnabled
          Server JWT Control Enabled to access the REST API of the web panel
        • jwtServerSecretKey
          String jwtServerSecretKey
          Server JWT secret key "afw7Zz9MqvLiheA5X3GFEKvLWb1JTKC2"
        • licenceKey
          String licenceKey
          Customer License Key
        • logLevel
          String logLevel
        • marketplace
          String marketplace
          Name of the marketplace
        • nativeLogLevel
          String nativeLogLevel
          Native Log Level is used for ffmpeg and WebRTC logs
        • nodeGroup
          String nodeGroup
        • offlineLicense
          boolean offlineLicense
          if the license is offline. It checks license key against hardware So license key should be provided by Ant Media specifically. It's initialized by getting the value from the LicenceBean
        • originServerPort
          int originServerPort
          The port that is opened by origin in cluster mode. Edges are connected to the origin through this port.
        • proxyAddress
          String proxyAddress
          The proxy IP address and port for license checking. If there is a proxy in front of Ant Media Server(reverse proxy) please enter its IP and port The format will be : for example: 192.168.0.1:3012
        • rtmpPort
          int rtmpPort
          The RTMP port that server opens to listen incoming RTMP connections
        • serverName
          String serverName
          Fully Qualified Domain Name of the Server. It's used in SSL as well.
        • serverStatusWebHookURL
          String serverStatusWebHookURL
          Server status webhook url. It's called for several errors such - high resource usage - Unexpected shutdown
        • srtPort
          int srtPort
          The SRT port that server opens to listen incoming SRT connections
        • sslEnabled
          boolean sslEnabled
        • useGlobalIp
          boolean useGlobalIp
          Use global IP address for especially in cluster communication
        • webrtcLogLevel
          Logging.Severity webrtcLogLevel
  • Package org.red5.cache

  • Package org.red5.cache.impl

  • Package org.red5.compatibility.flex.data.messages

  • Package org.red5.compatibility.flex.messaging.messages

  • Package org.red5.io.flv

    • Class org.red5.io.flv.IKeyFrameDataAnalyzer.KeyFrameMeta

      class KeyFrameMeta extends Object implements Serializable
      serialVersionUID:
      5436632873705625365L
      • Serialized Fields

        • audioCodecId
          int audioCodecId
          Audio codec id.
        • audioOnly
          boolean audioOnly
          Only audio frames?
        • duration
          long duration
          Duration in milliseconds
        • positions
          long[] positions
          Keyframe positions
        • timestamps
          int[] timestamps
          Keyframe timestamps
        • videoCodecId
          int videoCodecId
          Video codec id.
  • Package org.red5.io.flv.meta

  • Package org.red5.io.object

  • Package org.red5.io.utils

  • Package org.red5.server.api.session

  • Package org.red5.server.api.stream

  • Package org.red5.server.exception

  • Package org.red5.server.messaging

  • Package org.red5.server.net.protocol

  • Package org.red5.server.net.rtmp.event

  • Package org.red5.server.net.rtmp.message

  • Package org.red5.server.net.rtmp.status

  • Package org.red5.server.service

  • Package org.red5.server.session

  • Package org.red5.server.stream

  • Package org.red5.server.util

  • Package org.red5.spring