Skip to content

Releases: ant-media/Ant-Media-Server

Ant Media Server Community 2.14.0

14 May 06:34
Compare
Choose a tag to compare

🎉 Ant Media Server 2.14.0 – New Update Highlights! 🚀

We’ve been busy behind the scenes making your real-time streaming even smoother, faster, and more reliable. Here’s what’s new:

🔧 Performance Improvements

  • MongoDB caching & locking = faster dashboard and queries
  • 🧠 Removed subtrack polling – quicker cluster reactions
  • 🚀 Faster startup with auto-reconnect enabled

🌐 Webhooks & API Enhancements

  • ✅ Webhooks now include subscriberId, token, and code
  • ⏱️ Recording API returns the correct timestamp

📡 Streaming Reliability Boosts

  • 🎯 AV sync issues fixed under heavy packet loss
  • 🕒 RTMP connections timeout and close gracefully

🔐 Security & Infrastructure

  • 🔒 Apache version hidden from failed requests
  • 📦 Gzip support added for HLS
  • 📈 Increased systemd limits for heavy load
  • 🔧 Easier RTMPS setup with SSL

🧪 SRT & HLS Enhancements

  • 🎞️ SRT ingest now supports mainTrack
  • 🧹 HLS manifest cleaned up (no double ampersands, supports stream IDs ending with _)

🏢 Enterprise-Only Fixes

  • 🎮 Multi-GPU encoder utilization bug fixed
  • 🧰 Cluster stream filter logic improved
  • 🕰️ Better timestamp handling for audio/video mismatches

Let us know your feedback, and thanks for streaming with Ant Media! 🧡

#AntMediaServer #StreamingUpdate #WebRTC #RTMP #SRT #HLS #Changelog #LowLatencyStreaming

Ant-Media-Server

  • 7245 Get `acceptOnlyStreamsInDataStore` from AppsSettings directly - #7202
  • 7220 Add domain parameter handling in renew_certificate function - #7219
  • 7212 Fix not deleting app having underscore - #7209
  • 7208 Add token, subscriberId and code to the Authorization WebHook - #7190
  • 7205 Make rtmps.enabled placeholder not break upgrade operation - #7204
  • 7193 Add subscriberId to the publish start/stop webhooks - #7194
  • 7192 Add websocket constants for getting ice server config from server - #6975
  • 7189 Fix Filter APIs Exception when Ingest protocol is RTMP and WebRTC playback is disabled - #7166
  • 7185 Use separate locks for MongoDB queries to perform faster - #7173
  • 7184 Add cache for MongoDB to have less query execution and work faster - #7174
  • 7181 Do not append double ambersand(&) in the HLS manifest modifier - #7152
  • 7162 Support mainTrack feature for SRT ingest - #7161
  • 7146 Increase LimitNOFILE and TasksMax in systemd unit options - #7145
  • 7143 Make it easy to enable RTMPS and enable RTMPS with SSL by default - #7115
  • 7139 Log build number - #7128
  • 7137 Set recording timestamp for all cases - #7102
  • 7127 Don't set virtual false for broadcast update and refactor code - #7039
  • 7120 Refactor code to update custom broadcasts easily - #7039
  • 7102 Fix recording API not returning timestamp and returning 0 instead (#7079). -
  • 7100 Resolve A/V synch issue when high packet loss and CPU is not fast enough to encode - #7021
  • 7085 Fix HLS play when stream id ends with under score - #7066
  • 7084 fix hls play when stream id ends with _ -
  • 7083 Subtrack list ordering - #7082
  • 7072 Add isVirtual check to saveUndefined streams - #7039
  • 7071 Start playing faster when auto reconnection is enabled - #6972
  • 7058 Improve the recent developments to pass the enterprise tests - #6946
  • 7056 Fix: stream source is not restarting after update - #7055
  • 7053 Close RTMP connection if no audio/video packets are received during timeout - #7047
  • 7052 Add subtrack notification definitions...
  • Read more

    Ant Media Server Community 2.13.2

    Ant Media Server Community 2.13.0

    03 Feb 15:38
    Compare
    Choose a tag to compare

    Highlights 🎸

    • Provide insightful information on the web panel and through REST API 😎
      • Stream resolution, bitrate, RTT, etc.
      • GPU utilization/Database Performance
    • Improve stability 💪
      • Starting up the instance when receiving high number of requests
      • Stopping WebRTC viewers when it is under high load
      • Add integration test codes for some previous features to confirm
    • Fix several vulnerabilities/issues and use system resources more efficiently 🚀

    Ant-Media-Server

  • 6994 Improve test stability for deleteSubtracks -
  • 6993 Remove clusterNotifier in xml and code for TomcatLoader -
  • 6991 Add integration test code for content security filter - #6934
  • 6983 Support 'startTime' and 'endTime' parameters in HLS(m3u8 files) when httpForwarding is active - #6964
  • 6982 Show stream health info and average db query time and gpu utilization - #6965, #6968, #6966, #6985, #6965, #6968, #6966
  • 6959 add cluster delete rest call - ant-media/conference-call-application#451
  • 6957 Fix server restart under high http load - #6933
  • 6955 Fix Mp4 upload To S3 - #6927
  • 6949 Try none loopback address first for localhost address - #6948
  • 6931 Update subscriber to db if it requires for http viewer and tune some settings - #6914 #6929
  • 6920 Add clientIP to WebSocket Communication to use it in WebRTC - #6894
  • 6916 Add uninstall script - #6917
  • 6912 Make it easy to configure encoders - #6911
  • 6892 S3 transfer buffer size configuration - #6871
  • 6888 Fix lost VoD fields values - #6877
  • 6880 Remove session maps because we put tokens as query parameter by default - #6681
  • 6873 Release/2.12.0 - #6872
  • 6868 Support changing hls segment files' name with timestamps - #6863
  • 6730 Forward auto start request to origin - #6712
  • 6671 Add s3PathStyleAccessEnabled setting
  • 5272 Add height bitrate parameter to CustomBroadcast - #5172
  • Ant-Media-Enterprise

  • Use the available GPU or switch back to CPU if no GPU is available- #6986
  • Delete subtracks when the broadcast is deleted- ant-media/conference-call-application#451
  • Revert back to aligning audio video in WebRTC ingest- #6954
  • Fix multiple public ip for licensing- #6948
  • Fix unexpected stream id format in SRT ingest- #6945
  • Fix rare crash on native OnEncodedFrame method- #6780
  • Fix same m3u8 download problem, improve stability- #6930 #6914
  • Set WebRTC Client IP address coming from WebSocket communication- #6894
  • Make it easy to configure encoders- #6911
  • Add backup stream integration test code- #3917
  • Make the codes run asynch to not block in any state- #6893
  • Make data channel registration synchronized- #6883
  • Remove sessions map because we put tokens as query parameter- #6681
  • Release/2.12.0- #6872
  • Parse streamId correctly if Hardware encoder prefix exists in SRT ingest- #6840
  • Add Viewer Info to Webhook Play Auth Payload- #6746
  • Support height and bitrate parameters for Filter output- #5172
  • StreamApp

  • 530 Add contentSecurityFilter again to the web.xml - #6934
  • 529 Fix webrtc undefined js error and UTF-8 support for html pages - #6990 #6988
  • 528 Import whip-client.modern.js to resolve constructor issue -
  • 527 Fix warning message in webrtc test tool and simple refactor - #6942
  • 526 Get Client IP from WebSocket Communication - #6894
  • 525 Limit Chart.js data points to play smoothly -
  • Read more

    Ant Media Server Community 2.12.0

    12 Dec 07:45
    Compare
    Choose a tag to compare

    Highlights

    • Update FFmpeg to 7.1
    • Support WebP, JPEG previews
    • Support ID3 in HLS HEVC streams
    • Support USB stick licensing
    • Optimize MongoDB utilization

    Ant-Media-Server

  • 6862 Refactor Subscriber & Add setting to write events to datastore #6860 #6861
  • 6857 Fix big app installation in clusters - #6777
  • 6852 Support WebP Previews - #6859
  • 6849 Add user publish id constant - ant-media/conference-call-application#426
  • 6844 Handle port number suffixes in IP filters - #6838 @jantekb
  • 6842 Add JPG support for previews - #6841
  • 6833 Add subFolder AppSettings with mainTrackId and streamId variable support - #6821
  • 6829 Add Debian support to enable_ssl.sh - #6792
  • 6828 Reconnect faster and shutdown faster - #6786
  • 6822 Cache subscriber to decrease query count - #6783
  • 6816 Add get subtrack count commands - ant-media/conference-call-application#403
  • 6814 Add Spring Packages used in applications -
  • 6811 Update FFmpeg to 7.1 - #6804
  • 6784 Fix typo in getTOTP REST method output -
  • 6769 Fix HLS Modifier Returning Wrong Content in Case of Https - #6308
  • 6767 Fix allowable values in Broadcast definitions - thank you to @Himpoke - #6740
  • 6764 Add stream name to the stream status webhook -
  • 6763 Return error in getToken REST Method When token type is not valid - #6744
  • 6752 Resolve CVE 202 13956 - #6750
  • 6739 Add allowableValues expects an array to map to enum -
  • 6735 Make encoding Q size configurable - #6705
  • 6734 Fix Wrong Memory Display If AMS is running in a Container - #6626
  • 6726 Upgrade FFmpeg to 7.1 - #6551
  • 6721 Correct JWT function name in enable_ssl.sh -
  • 6718 Call webhook for stream status & Make streamId unique index in MongoDB for Broadcasts - #3847
  • 6717 Call webhook for stream status - #6711
  • 6709 Split RTMP StreamId by slash(/) to parse Token and TOTP - #6704
  • 6701 add getRemoteIpAddress into IWebRTCClient - #6638
  • 6688 Add SRT latency configuration in application settings - #6665
  • 6687 Add correct IP address in Docker cluster environments - #6707
  • 6686 Fix enable_ssl.sh script warnings in Docker environment - #6706
  • 6683 Add latitude, longitude, altitude, metadata and description fields to VoD - #6662
  • 6676 Fix frame size format in ID3 header
  • 6661 Fix unexpected null pointer exception for streamId in logs -
  • 6656 Add custom text support in stream endpoints for VoD & HLS - #6650
  • 6644 Support mp3 file upload - #6643
  • 6630 Add getter for dbId field in AppSettings - #6629
  • 6620 Improve rtmp overflow check because it causes a test fail in enterprise - #6427
  • 6613 Improve VoD Upload API - #6612
  • 6611 Get REST API JWT From Authorization Bearer - #6516
  • 6610 Add Settings Field to Stop WebRTC Ingest if no audio/video packet is received for the timeout duration -
  • Read more

    Ant Media Server Community 2.11.3

    06 Sep 12:00
    Compare
    Choose a tag to compare

    Ant-Media-Enterprise

  • Add products to website automatically: Update downloadable file in products-
  • Put audio packets in queue, update audio/video timing after restore- #5601
  • Fix Wrong Overflow Trigger in Audio & Video- #6632
  • Ant Media Server Community 2.11.2

    04 Sep 05:34
    Compare
    Choose a tag to compare

    Ant-Media-Server

  • 6630 Add getter for dbId field in AppSettings - #6629
  • Ant-Media-Enterprise

  • Delete old AppSettings's index if exists to not have IndexConflict in MongoDB 4.4- #6629
  • Ant Media Server Community 2.11.1

    31 Aug 15:57
    Compare
    Choose a tag to compare

    Ant-Media-Server

  • 6620 Improve rtmp overflow check because it causes a test fail in enterprise - #6427
  • 6613 Improve VoD Upload API - #6612
  • 6610 Add Settings Field to Stop WebRTC Ingest if no audio/video packet is received for the timeout duration - #6605
  • 6609 Reverted - Ignore this PR: Stop WebRTC Ingest if no audio packet is received for the timeout duration - #6605
  • 6604 Relay RTMP metadata to Muxers writeMetadata method - #6550
  • 6602 Allow RTSPS urls as stream source - Accept rtsps URLs as Stream Source
  • 6601 Release/2.11.0 -
  • 6598 Remove date extension from the access log filename to rotate the log files -
  • 6559 Fix RTMP timestamp overflow after 24 days of non-stop streaming - #6486
  • 6457 Fix logging statement - Hi, We found a formatting issue in the logging messages. It's an incremental commit but it can improve the quality of logging messages.
  • 6352 Refactor Installing SSL in Marketplace Instances -
  • Ant-Media-Enterprise

  • Stop connection(not immediately) when ICE is disconnected because it already waits 10 secs to let the client reconnect- #6427
  • Add Settings Field to Stop WebRTC Ingest if no audio/video packet is received for the timeout duration- #6605
  • Add Settings Field to Stop WebRTC Ingest if no audio packet is received for the timeout duration- #6605
  • Add metadata to HLS-
  • Release/2.11.0-
  • StreamApp

  • 484 Reset websocket connections flags to re-connect faster - #6427
  • 482 Release/2.11.0 -
  • Ant-Media-Server-Parent

  • 137 Release/2.11.0 -
  • Ant-Media-Management-Console

  • 260 Allow RTSPS urls while creating stream source - Accept rtsps URLs as Stream Source
  • Ant Media Server Community 2.11.0

    20 Aug 10:23
    Compare
    Choose a tag to compare

    Ant-Media-Server

  • 6595 Remove "Bearer " in OBS WHIP token - #6594
  • 6593 Make app distribution more robust and secure in the cluster & Fix default app install - #6513
  • 6592 Return broadcast's status "error" if its state stuck in broadcasting -
  • 6588 Add static temp directory - [6513](https://github.com//issues/6513)
  • 6587 Change the endpoint for management openapi json - #6571
  • 6586 Support uncommon HEVC for RTMP ingest through codec id 12 - #6585
  • 6583 Support Apple's Low Latency HLS through Plugin - #4723
  • 6581 Fix Open API enum - #6478
  • 6568 Release/2.10.1 - https://github.com/ant-media/Ant-Media-Server/issues/6552 https://github.com/ant-media/Ant-Media-Server/issues/6512 https://github.com/ant-media/Ant-Media-Server/issues/6577 https://github.com/ant-media/Ant-Media-Server/issues/5859
  • 6537 Add HEVC Support with Enhanced RTMP - #6536
  • Ant-Media-Enterprise

  • Add Swagger Management to CI pipeline- #6571
  • Make app distribution more robust and secure in the cluster & Fix default app install- #6593
  • Support Apple's Low Latency HLS (LL-HLS) through Plugin- #6583
  • Release/2.10.1- https://github.com/ant-media/Ant-Media-Server/issues/6552 https://github.com/ant-media/Ant-Media-Server/issues/6512 https://github.com/ant-media/Ant-Media-Server/issues/6577 https://github.com/ant-media/Ant-Media-Server/issues/5859
  • Add HEVC Support with Enhanced RTMP #6537- #6536
  • Fix stats based adaptive switching- Fix stats based adaptive switching amonf ABR settings
  • Broadcast role- #6404
  • StreamApp

  • 481 Release/2.10.1 -
  • 469 Implement role definition - #6404
  • Ant-Media-Server-Parent

  • 136 Update Spring version to resolve vulnerability: CVE-2024-38809(8.7) -
  • 135 Release/2.10.1 -
  • Ant-Media-Management-Console

    Ant Media Server Community 2.10.1

    12 Aug 08:17
    Compare
    Choose a tag to compare

    Highlights

    • Improve stability in Conferencing under High Load: When there is an instant number of participants join/leave the video conference, some participants could not be heard or watched. It's fixed and with this fix, your conference calls are more stable under high number of attendees 🤙 🎸

    • Improve Stability in Cluster : Some nodes in the cluster rarely cannot get the secret-key for cluster communication and they should be restarted to work in a cluster. It's fixed and with this fix, all your nodes are more stable to join/leave the clusters on the fly. 💪 🚀

    • Better HLS playback in Bad networks: In bad network conditions, WebRTC ingest is missing some audio and video packets as expected. With this fix, We've handle the missed audio video packets better and we provide a better watching experience for HLS playback 🎉 🎦

    Ant-Media-Server

  • 6564 Fix: MongoDB database cannot be set in standalone mode -
  • 6534 Add Redhat support to Enable SSL -
  • 6501 Add Delete Session Method -
  • 6495 Refactor interface to set resolution for subtracks - #6481
  • 6493 Add query parameters in HLS manifest file - #6452
  • 6489 Update owasp-suppressions.xml - #6488
  • 6468 Release/2.10.0 - #6423
  • 6420 multi app access permission for users - https://github.com/ant-media/Ant-Media-Server/issues/6302
  • Ant-Media-Enterprise

  • Fix: Stream does not disconnect when their is no audio/video data for sometime 6512
  • Fix: Improve stability in conference when high number of viewers join/leave instantly 6577
  • Fix: Some nodes cannot join the cluster in rare scenarios 5859
  • Improve HLS playback when ingesting with WebRTC
  • Improve backward compatibility about push notification service for apps-
  • Log for forcing the stream quality of subtracks-
  • Set resolution for subtracks in multitrack streaming- #6481
  • Clear previous track assignment in reservation- Fix missing tiles after pinning
  • Release/2.10.0- #6423
  • Add client IP address to webhook play auth- #6340
  • StreamApp

  • 478 Update stream merger - #6492
  • 477 Make getStats compatible with the multitrack play and multitrack conference - #6375
  • 476 Release/2.10.0 - #6423
  • 449 Add reconnection mechanism into conference.html - #6143
  • Ant-Media-Server-Parent

  • 134 Upgrade tomcat version -
  • 133 Release/2.10.0 - #6423
  • Ant-Media-Management-Console

  • 259 Call logout rest method when logging out -
  • 257 multi app access permission for users - #6302
  • Ant Media Server Community 2.10.0

    05 Jul 17:20
    Compare
    Choose a tag to compare

    Highlights

    • Better UX in Conferencing: Ant Media Server provides a better user experience in conferencing, it's faster, more stable and attracting new customers with Circle: Online Video Conferencing 🤙

    • WHIP Support: Ant Media Server Enterprise can ingest WebRTC streams with WHIP protocol. It's tested with OBS and @eyevinn/whip-endpoint. The sample is available in default applications as whip.html. It can be accessible with https:/{YOUR_AMS}:5443/live/whip.html and WHIP endpoint is https:/{YOUR_AMS}:5443/live/whip/{STREAM_ID} 🎥

    • Analytics: Ant Media Server logs every stream related info as json to ant-media-server-analytics.log including data transfer, key frame interval, used protocol, start and end time of publishing and playing along with subscriberId, tokens, streamId, and application name. ℹ️

    • Interactive Live Streaming(SEI and ID3 Tags): Add SEI messages(unregistered user data) and ID3 Tags to the HLS streams on the fly with REST API and parse them on the player to make streaming interactive and synched. 🎉

    • Multitrack Player: Play conference rooms in a player and it can be used by recording conference rooms or create PK with MediaPush plugin. Multitrack player is available in default applications on https:/{YOUR_AMS}:5443/live/multitrack-play.html 💯

    PS: You need to update your Ant Media Server Installer for installation of v2.10.0

    wget https://raw.githubusercontent.com/ant-media/Scripts/master/install_ant-media-server.sh -O install_ant-media-server.sh  && chmod 755 install_ant-media-server.sh

    Ant-Media-Server

  • 6462 Set owasp security score to 7 and change default value of sendAudioLevelToViewers to false
  • 6451 Fix test stability problem
  • 6444 Fix SSL installation for Docker container - #6432
  • 6436 Change hardware frame scaling default value to false
  • 6434 Convert metadata field of webhook from string to json object if possible
  • 6425 Add roomId field to webhook payload in addition to mainTrackId for backward compatibility
  • 6421 Make hlsSegmentType(mpegts,fmp4) effective in direct muxing -
  • 6413 Fix/proxy filter with cookie - #6412
  • 6408 Add sei message(unregistered_user_data) directly with byte operations - #6407
  • 6385 Add size control for corrupted db file - #6384
  • 6382 Support AC3 audio codec in HLS - #6381
  • 6365 Fix camera profile getter - #6259
  • 6351 Fix webhookPlayAuthEnabled appearing on app settings with JsonIgnore
  • 6349 Fix hls fmp4 init file naming and srt to hls direct conversion - #6342
  • 6347 Add recording subfolder setting - #6334
  • 6325 Remove conference room from database structure and add auto migration - #5755
  • 6324 Add segment type(fmp4, mpegts) options for HLS - #6323
  • 6314 Add duration rest method to get the duration of an stream URL - #6313
  • 6309 Make ID3 headers compatible with the format -
  • 6301 Add GCP SDK - StorageClient support -
  • 6300 Add test codes, improve test stability, secure analytic enpoint -
  • 6299 Refactor test and increase coverage -
  • 6281 Webhook Authentication For WebRTC Play - https://github.com/ant-media/Ant-Media-Server/issues/6211 With this form this PR breaks backward compatability of webhook publish authentication because there is a new app setting webhookPublishAuthEnabled and webhookPlayAuthEnabled previously webhook auth was only for publish and webhook publish was enabled if webhook auth url is not empty.
  • 6275 Add webhooks for the subtracks when they are added, removed, first track, last track, etc. - #6253
  • 6263 Release/2.9.0 - #6250
  • 6248 Support SEI in HLS - #6247
  • 6241 Log analytics for publishers and viewers - #6264
  • 6145 Broadcast Level ABR Settings - https://github.com/ant-media/Ant-Media-Server/issues/6144
  • 5857 WebRTC-HTTP ingestion protocol(WHIP) Implementation - https://github.com/ant-media/Ant-Media-Server/issues/4307
  • 5824 Support HLS settings specific to broadcasts - #5769
  • 5727 Add max participant capacity to conferences(aka. subtracks) - #5723
  • Ant-Media-Enterprise

  • Fix conference sample and refactor methods-
  • Change hardware frame scaling default value to false- #6436
  • Fix audio echo in conferencing if network fluctuates- ant-media/conference-call-application#253
  • Push docker images to the docker hub & Trigger Circle Deployment-
  • Remove calling se...
  • Read more