HLS stream playback not working

Hi,

We have implmeneted webrtc as rtmp republishing , using https://studiowss.********.com:8444/rest-api/hls/startup created hls stream , but the stream is not playing in the hls js player demo page in flashphoner
 

Max

Administrator
Staff member
Hello

Please provide step by step instruction how to reproduce the issue.

Example:
1. Publish stream1 as WebRTC
2. Push WebRTC as RTMP stream to the localhost using /push/startup as rtmp://localhost:1935/live/stream2
3. Play stream1 via HLS JS sample.
4. No video playback.

Can you reporduce such an issue with published stream from default samples: MediaDevices or TwoWayStreaming?
What is your stream source?

Please note. HLS works with strict key frame interval (i.e. 2 seconds) and may require server-side transcoding.
So WebRTC stream should be transcoded to perpare HLS segmentation.

If our stream does not supply strict key frame intervals (i.e. canvas streams), HLS js may do not play such streams properly.
So you have to transcode such streams before playing as HLS.

Another option is
periodic_fir_request=true

However this option does not guarantee that the Key frame will be generated by publishing browser on each server's request.
 
Hello

Please provide step by step instruction how to reproduce the issue.

Example:
1. Publish stream1 as WebRTC
2. Push WebRTC as RTMP stream to the localhost using /push/startup as rtmp://localhost:1935/live/stream2
3. Play stream1 via HLS JS sample.
4. No video playback.

Can you reporduce such an issue with published stream from default samples: MediaDevices or TwoWayStreaming?
What is your stream source?

Please note. HLS works with strict key frame interval (i.e. 2 seconds) and may require server-side transcoding.
So WebRTC stream should be transcoded to perpare HLS segmentation.

If our stream does not supply strict key frame intervals (i.e. canvas streams), HLS js may do not play such streams properly.
So you have to transcode such streams before playing as HLS.

Another option is
periodic_fir_request=true

However this option does not guarantee that the Key frame will be generated by publishing browser on each server's request.
Hi,

1. Publish stream1 as WebRTC
2. Push WebRTC as RTMP stream to the studiowss.*****.com using /push/startup as rtmp://***:1935/live/stream2
data: {
rtmpUrl,
streamName,
"keyFrameInterval": 2,
"rtmpTransponderFullUrl": true
}
3. /push/hls/startup {"name": "stream1"} 200 status in response
4. Play stream1 via HLS JS sample.
5. No video playback. we also checked it with videojs sample , error ---> The media could not be loaded, either because the server or network failed or because the format is not supported.
 

Max

Administrator
Staff member
Just a note.

Code:
"keyFrameInterval": 2
The key frame interval should be passed in frames, not in seconds.

"keyFrameInterval": 60

Means key frame is each 60-th. Therefore if stream is 30 FPS, then key frame interval is 2 seconds.
 
Top