Setup two new servers, wss connection is failed

Hi,
We have setup two server mapped domain and uploaded ssl certificate. Can you please check why wss connection is failed. Does 5.2.1261 version support transcoding service ?

Regards,
Karan Bhansali
 
Last edited:

Max

Administrator
Staff member
Good day.
Please provide SSH access to the server using this form.
Does 5.2.1261 version support transcoding service ?
Transcoding will work in any WCS build unless it is disabled in flashphoner.properties or server capacity is not enough to encode incoming streams.
 

Max

Administrator
Staff member
We cannot reproduce a problem on both servers: websocket connection is establishing successfully (with Chrome browsers warning because we connected by IP), stream publishing and playback are working:
1st:
1659001178432.png

2nd:
1659001198468.png

Unfortunately we do not know these servers domain names to check the connection. The domain names from servers logs are resolved to other addesses where no WCS instances:
1st:
1659002084448.png

2nd
1659002120209.png

Also, we see the following messages in logs:
Code:
07:24:32,091 INFO             WSClients - WSClientsKeepaliveThread-102 Websocket ping/pong timeout us detected. Removing channel and disconnect client. channel: [id: 0x62ca3e22, /172.31.xx.xx:18708 => /172.31.xx.xx:8443] client: WSClient{channel=[id: 0x62ca3e22, /172.31.xx.xx:18708 => /172.31.xx.xx:8443], handler=com.flashphoner.server.client.handler.DelegateHandler@3e57805d, closed=false, pageUrl='null', countUnansweredPing=11} countUnansweredPing: 11
This means the network problem: server does not receive responses on ping requests from client.
About transcoding: both servers configurations are too weak. Should be at least 8 vCPU and 16 Gb RAM. Also Java heap should be set at 1/2 of servers RAM.
 
Hi,

Currently we are publishing webcam to wss://abc.com , the same stream how to publish or pull to another server wss://xyz.com , can we use
/pull/pull or /pull/push rest api ?
 
Hi,

Using the /pull/pull and /push/startup rest-api, the webrtc stream from one flashphoner server to another flashphoner server is working fine on the localhost. When the application is deployed on the aws ec2 instance , we are able to see black video on instagram.

The stream is published to streamingwss.***.com and is pulled on streaminginstawss.***.com using websocket

Regards,
Karan Bhansali
 

Max

Administrator
Staff member
Hello

1. /pull/pull works between WCS and WCS only.
If you do /pull/pull and set any other endpoint such as instagram or youtube, this won't be working.

2. If you do /push/startup it should be working either via localhost or via remote server.
/push/startup works via RTMP only. So if remote server is awaiting something none-rtmp, it won't be working too.

Please clarify your case. Because it is unclear for now how /pull/pull and /push/startup linked and what you are doing step by step.

The stream is published to streamingwss.***.com and is pulled on streaminginstawss.***.com using websocket
1. You have two servers: First (treamingwss.***.com) and Second (streaminginstawss.***.com)
2. You publish "stream1" to the First server.
3. You pull "stream1" from First server to the Second server keeping the name of pulled stream as "stream1".
4. Then you push the pulled "stream1" to Instagram using /push/startup {streamName:"stream1", ...}

Actual result: No stream playback from Instagram
Expecting result: Playing back the stream1

Does this report correct?

Few questions:

1. If you publish stream1 to the Second server directly.
Do you have this issue with Instagram?

2. When you do /pull/pull how do you set remoteStreamName?
Could you provide logs/server_logs/flashphoner.log with all the REST requests.

3. When you do /pull/pull what do you see if you do /pull/find_all
or if you do /stream/find_all

Do you see the remoteStreamName in PUBLISHING state?
 
Hi,
The steps are as follows
1. two servers: First (treamingwss.***.com) and Second (streaminginstawss.***.com)
2. publish "stream1" to the First server. 1280 * 720 (resolution)
3. pull "stream1" from First server to the Second server keeping the name of pulled stream as "stream1".
4. Then push the pulled "stream1" to Instagram using /push/startup {streamName:"stream1", ...} from second server. 720 * 1280 (resolution)

If you publish stream1 to the Second server directly. No issue on instagram
When you do /pull/pull what do you see if you do /pull/find_all.Yes i see the stream in response
 

Attachments

Max

Administrator
Staff member
Hello

2. publish "stream1" to the First server. 1280 * 720 (resolution)
4. Then push the pulled "stream1" to Instagram using /push/startup {streamName:"stream1", ...} from second server. 720 * 1280 (resolution)
Are you trying to change stream resolution from 1280 x 720 to 720 x 1280 ?

Resolution input
width: 1280
height: 720

Resolution output
width: 720
height: 1280
 

Max

Administrator
Staff member
Please provide full flashphoner.log file via this form
Make sure the logfile contains REST requests. If it does not contain REST requests, please gather log of application which send such requests.
 
Hello



Are you trying to change stream resolution from 1280 x 720 to 720 x 1280 ?

Resolution input
width: 1280
height: 720

Resolution output
width: 720
height: 1280
Yes , in the push/startup api , passing the width : 720 and height : 1280
 

Max

Administrator
Staff member
This is major addition.
Because if you set width and height you force transcoding to the new resolution.
We will check how it works in our env.
 

Max

Administrator
Staff member
By the way. What if you do not set width and height. Does it work?
 

Max

Administrator
Staff member
Please try adding this parameter to /push/startup, so that keyframes are sent often enough:
Code:
"keyFrameInterval": 60
For keyFrameInterval, transcoding is also forced (even if width and height are not specified in /push/startup).
 

Max

Administrator
Staff member
Also, please note that by default aspect ratio is not changed, so width specified in /push/startup is not applied, only height is applied; for height 1280, 1280x720 will be transcoded to 2276x1280.
For changing aspect ratio, video_transcoder_preserve_aspect_ratio=false has to be added to flashphoner.properties.
 
Also, please note that by default aspect ratio is not changed, so width specified in /push/startup is not applied, only height is applied; for height 1280, 1280x720 will be transcoded to 2276x1280.
For changing aspect ratio, video_transcoder_preserve_aspect_ratio=false has to be added to flashphoner.properties.
Added the property in flashphoner.properties file, still the output is showing blank video on instagram
 
Please try adding this parameter to /push/startup, so that keyframes are sent often enough:
Code:
"keyFrameInterval": 60
For keyFrameInterval, transcoding is also forced (even if width and height are not specified in /push/startup).
following are the parameters

data: {
rtmpUrl,
streamName,
"width": "720",
"height": "1280",
"fps": "30",
"keyFrameInterval": 60,
"rtmpTransponderFullUrl": 'true',
}
 

Max

Administrator
Staff member
And if width and height are not set?
On the second WCS server, does the stream pulled from the first server play with video?
 
Last edited:
Top