Video Streaming Server With Multi-Protocol,Robust And Rich API
Location:Index Page  >  Document  >  Troubleshooting

If you encounter malfunctions, Don't worry, we have listed most common fault problems here:



1. The port is already occupied

If the command "systmctl start TiTopStreamer" fails to start the TiTopStreamer service, it is usually caused by a port being occupied. Please use the following command to check the port occupancy status:

Taking the default TCP port 1935 of the RTMP protocol as an example, check the port occupancy situation:
netstat -tunlp |grep 1935		
	
If it is found to be occupied, the relevant services can be stopped first, or the relevant processes can be killed directly. Then startup TiTopStreamer service again.

If the problem cannot be solved yet, Please refer to the introduction at Port,Check the port one by one.

2. License verification failed

If License verification fails, we will first prompt you on the software web console pannel. In addition, you will find that there can only be one input stream at most at this time, and pushing more streams into TiTopStreamer will definitely fail.

So why does License verification fail? If you are using online authorization. Please first check if the server can connect to the external network, as follows:
ping www.baidu.com
or
ping www.ttstream.com		
	
If you find that you cannot connect, please solve the network problem first, then restart the service and conduct testing again.

3. The firewall has blocked access to certain ports

This issue is also very common. Please refer to the following command to turn on firewall blocking:
firewall-cmd --zone=public --add-port=1935/tcp --permanent
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --zone=public --add-port=8088/tcp --permanent
firewall-cmd --reload
	


4. Unable to receive UDP multicast stream

When receiving UDP streams through multicast (usually encapsulated in MPEGTS format), it is common to encounter the problem of not being able to receive multicast streams. The network is confirmed to be fine, and the firewall has not been blocked, but the multicast stream cannot be received. This situation is likely due to your system rejecting multicast stream packets (which were discarded by the system).
#1. Use the following command to check if the multicast packet has been discarded (for "en4" below, please replace it with your network interface. If you have multiple network cards, you must first determine which network card receives the multicast stream. Please consult your network engineering personnel)
cat /proc/sys/net/ipv4/conf/en4/rp_filter

#2. if the value of rp_filter is 0,it means that the data will not be discarded; if the value of rp_filter is 1, it means that the data will be discarded.

#3. Temporarily disable multicast packet dropout function using the following command: (Please replace "en4" with your network interface)
sysctl -w net.ipv4.conf.en4.rp_filter=0
sysctl -p

#4. Modify the following configuration file to permanently disable multicast packet drop functionality:
vi /etc/sysctl.conf

#Modify or add according to the following configuration

net.ipv4.conf.default.rp_filter=0
net.ipv4.conf.all.rp_filter=0
	


5. When you run the command to start TiTopStreamerManager or TiTopStreamer service, you find that it did not start and did not generate any log files

This problem usually occurs when you manually update the/bin/tts file or ttsm file in the TiTopStreamer installation directory, and during the update process, the executable permissions of this file are lost, resulting in the file being unable to be executed. At this point, you need to restore executable permissions to this file, as shown below:
cd /usr/local/TiTopStreamer/bin
chmod +x tts
or
chmod +x ttsm
	
Then, you can restart TiTopStreamerManager or TiTopStreamer again.

6. Push RTMP streaming failed, or the web console pannel shows like "encountered an exception while reading license, please try again later"

At this point, it is difficult to determine which module has an exception based solely on external appearances and interface prompts. Therefore, it is necessary to investigate each module separately and use exclusion methods to locate the problem.
The "modules" mentioned here are introduced in this document:Architecture, So please read it first to understand it.

Next, we need to log in to the server where TiTopStreamer is located and use some simple commands to check if each module is working properly:

1) Please use the following command to check if the config server section of TiTopStreamer is working properly:
wget http://127.0.0.1:8089/v1/cs/apps
	
This command is to query the list of apps from the current configuration file. If this module is working properly, you should receive a response of 200, and you can see the response data in the downloaded file.
Next, please continue to use the following command to check if there are any abnormalities in the rtmp streaming authentication:
curl -X POST -H 'Accept:application/json' -H 'Content-Type:application/json' -d '{"app":"live","stream":"myStream","remote_ip": "10.10.10.10"}' 
-i http://127.0.0.1:8089/v1/cs/on_input_push
	
Notes1:The above command does not require line breaks, it is a problem with the width of the page display that caused the line breaks to appear
Notes2:In the above command, after the -d parameter, the app parameter refers to the RTMP Push APP that must actually exist. about the parameter "stream" and "remote_ip" You can fill it with any value, Our goal is only to verify whether this API can respond properly.
Whether it is authentication failure or authentication success, as long as the API can respond normally, it indicates that the config server part is working properly.

2) Please use the following command to check if the Rest server section of TiTopStreamer is working properly:
wget http://127.0.0.1:8085/v1/apps
	
This command queries the current APP instance list through the rest API. If this module is working properly, you should receive a response of 200, and you can see the response data in the downloaded file


3) Close the current web console pannel, reopen and log in it again. As long as the web console pannel can be displayed or logged in normally, the web server should be normal。

4) Please use the following command to check if the streaming engine section of TiTopStreamer is working properly:
wget http://127.0.0.1:8087/v1/license
	
This command is to query the License and status of the server kept in the streaming engine. If it works properly, you should receive a response of 200, and you can see the response data in the downloaded license file

Next, you can further confirm whether the RTMP streaming of the Engine is normal, You can use any tool (encoder, ffmpeg) to push streams to TiTopStreamer, and then check the logs. Normally, it will send authentication requests to the config server. Regarding the logs, you can send them to us, we help you review it carefully.

Through the above steps, we can basically locate the problem.