-
Notifications
You must be signed in to change notification settings - Fork 639
Troubleshooting
Attention: We have migrated our documentation to our new platform, Ant Media Resources. Please follow this link for the latest and up-to-date documentation.
Pixelating generally occurs if the bitrate value is not as much as the video resolution or video content requires. For example if the scene has rapid motions and the bitrate is low, then you can meet pixelating. Similarly, if you try to play high resolution video with low bitrate, again you will meet pixelating.
So if you meet such a pixelating issue on your stream;
- First check bitarate values. You may increase bitrate on publisher side (AMS built-in WebRTC Publish page, OBS or other 3rd party RTMP encoders). But don't forget that higher bitrate value requires higher bandwidth. So if your network bandwidth is not enough to handle the desired bitrate, you may consider to decrease resolution.
- If you are using Adaptive BitRate (ABR) in AMS, check the bitrate values of ABR settings. Normally default values are set to enough values for each resolution to prevent pixelating.
Choppy streams are caused by different reasons like internet connection quality, video encoding.
If you meet Choppy Streams,
- Check if your connection quality is enough. To do that AMS has a built-in test page. You can access it and start testing from
https://{YOUR_DOMAIN_NAME}:5443/WebRTCAppEE/webrtc-test-tool.html
- If your use case is RTMP to WebRTC streaming, check if your stream has B-Frames. WebRTC doesn't accept B-Frames and if your video has them the stream will be choppy. To avoid B-Frames h264 baseline should be main.
Please get Thread Dump by using the following REST methods:
GET http://AMS_URL:5080/rest/threads-info
GET http://AMS_URL:5080/rest/thread-dump-json
GET http://AMS_URL:5080/rest/thread-dump-raw
You can easily call these methods via the browser address bar since all of them are GET methods.
Check whether there exists a dead-locked-thread by the threads-info
method.
Check blocked time of the threads got by thread-dump-json
method.
For more details, analyze threads by loading the raw dump file by the VisualVM tool.
Please get Memory Dump by using the following REST method:
GET http://AMS_URL:5080/rest/heap-dump
You can easily call this method via the browser address bar since all of it is a GET method.
Load the created heapdump.hprof file bt the VisualVM tool and make memory analyze.
Check for any leaks. You can also use Eclipse Memory Analyzer Tool tool to find leaks automatically.
Your device may not have the necessary h264 codec. Check your device codec compatibility from: https://mozilla.github.io/webrtc-landing/pc_test_no_h264.html
This issue( "NoStreamExist") due to your sending stream resolution is not enough for the configured Adaptive Bitrate values.
In WebRTC side, you can check your camera resolution capacity in below links: https://webrtchacks.github.io/WebRTC-Camera-Resolution/ https://webrtc.github.io/samples/src/content/getusermedia/resolution/
In RTMP side, you need to check your Video Resolution(Output Resolution) setting values in OBS Video section as an image -> https://imgur.com/a/JlVv04h Your Output resolution size should be high than your Adaptive Streaming setting.
If you want to stream 720HD, you need to provide the requirements at least 720p.
Be sure about video resolution in your adaptive settings is equals and less than the stream you send.
This is about browsers' policy rules.
https://developers.google.com/web/updates/2017/09/autoplay-policy-changes
https://developer.mozilla.org/en-US/docs/Web/Media/Autoplay_guide#The_autoplay_feature_policy
JMX port in Ant Media Server only accepts incoming requests coming from localhost
. In order to connect JMX port to your remote server, you need to have port forwarding like below
ssh -N -L 5599:localhost:5599 username@your_server_address
The command above forwards your local computer port 5599 to your server's 5599 port. After running this command, you can have JMX connection to your own local computer 5599 port via VisualVM, JConsole, etc. and it's connected to your server automatically.
Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
The reasons for this error are that your CA certificate is not available on your server. For this, you need to download the root and intermediate certificates of the SSL provider (SHA-1, SHA-2 must be the correct version). After that, you need to import Java, which works currently active with the keytool tool.
For example:
keytool -import -trustcacerts -alias AddTrustExternalCARoot -file comodorsaaddtrustca.crt -keystore /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/security/cacerts
keytool -import -trustcacerts -alias comodointermediate -file addtrustexternalcaroot.crt -keystore /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/security/cacerts
keytool -import -trustcacerts -alias comodointermediate2 -file comodorsadomainvalidationsecureserverca.crt -keystore /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/security/cacerts
- Introduction
- Quick Start
- Installation
- Publishing Live Streams
- Playing Live Streams
- Conference Call
- Peer to Peer Call
- Adaptive Bitrate(Multi-Bitrate) Streaming
- Data Channel
- Video on Demand Streaming
- Simulcasting to Social Media Channels
- Clustering & Scaling
- Monitor Ant Media Servers with Apache Kafka and Grafana
- WebRTC SDKs
- Security
- Integration with your Project
- Advanced
- WebRTC Load Testing
- TURN Servers
- AWS Wavelength Deployment
- Multi-Tenancy Support
- Monitor Ant Media Server with Datadog
- Clustering in Alibaba
- Playlist
- Kubernetes
- Time based One Time Password
- Kubernetes Autoscaling
- Kubernetes Ingress
- How to Install Ant Media Server on EKS
- Release Tests
- Spaceport Volumetric Video
- WebRTC Viewers Info
- Webhook Authentication for Publishing Streams
- Recording Streams
- How to Update Ant Media Server with Cloudformation
- How to Install Ant Media Server on GKE
- Ant Media Server on Docker Swarm
- Developer Quick Start
- Recording HLS, MP4 and how to recover
- Re-streaming update
- Git Branching
- UML Diagrams