Black Video , Channel is Not Available

nathvela

Member
Hi ,

When I play streams sometimes, eventhough I get the PLAYING event, the stream starts off as black. And sometimes if I wait I get the video but sometimes also I do not receive the video at all.

In the logs I get these errors, What do I need to do to eliminate this problem:


09:40:01,467 ERROR TcpServer - FScheduling-pool-40-thread-4 Failed to send, channel is not available
09:40:01,767 ERROR TcpServer - FScheduling-pool-40-thread-2 Failed to send, channel is not available
09:40:02,068 ERROR TcpServer - FScheduling-pool-40-thread-4 Failed to send, channel is not available
09:40:02,368 ERROR TcpServer - FScheduling-pool-40-thread-5 Failed to send, channel is not available
09:40:02,668 ERROR TcpServer - FScheduling-pool-40-thread-4 Failed to send, channel is not available
09:40:02,918 ERROR TcpServer - FScheduling-pool-40-thread-4 Failed to send, channel is not available
09:40:02,969 ERROR TcpServer - FScheduling-pool-40-thread-3 Failed to send, channel is not available
09:40:03,269 ERROR TcpServer - FScheduling-pool-40-thread-1 Failed to send, channel is not available


Thank you.
 

Max

Administrator
Staff member
We've received your report.
It contains no configuration (empty folder) and client debug logs (empty folder). The information is not enough to diagnose and try to reproduce problem. So we recommend you to update to latest build from this page, check if problem persists and, if yes, prepare full report as described here.
The message
Code:
13:38:40,181 ERROR            TcpServer - FScheduling-pool-40-thread-1 Failed to send, channel is not available
usually means that other side has dropped TCP connection.
 
Last edited:

Max

Administrator
Staff member
We've checked your report.
As we mentioned, the message "Failed to send, channel is not available" appears when playing client has dropped the connection, and some data left to send to. So, it is not a bug, but symptom.
Please, comment out or remove the following string in your flashphoner.properties file
Code:
global_bandwidth_check_enabled=false#previous true
The default value for this parameter is false, so remove is enough.
As you enable transcoding with
Code:
disable_streaming_proxy=true
setting, it requires a lot of resources. And, even you disable it, transcoding will start because you are publishing WebRTC VP8 streams and republishing them as RTMP (H264). So, we recommend you to upgrade the server to use more CPU cores. As for RAM, 1 Gb Java heap may be not enough to produstion use, consider at least 4 or 8 Gb, so your server should have 16 Gb RAM.
Also, please update to latest build 5.2.63.
 

Max

Administrator
Staff member
Good day.
how many users are supported to connect to the stream server?
It depends on server capabilities.
For example, c4.4xlarge AWS instance (16 virtual CPU cores, 30 Gb RAM) should be enough to handle up to 100 publishing users. For 2000 viewers 64 GB RAM, 2 x CPU Xeon 8-10 cores, 10 Gbps link is required. If you need more viewers, you shouid deploy CDN.
As for transcoding, 1 CPU core is required to transcode 3 480p streams. Your case (WebRTC VP8 as RTMP republishing) requires transcoding, so more publishers, more CPU cores.
 
Top