...
Warning |
---|
A stream should not contain B-frames! If B-frames occur in the stream, it may be played as RTSP without transcoding only |
Known issues
...
5. Connection to the IP camera is lost on error in any track (audio or video)
Symptoms: connection to the IP camera is lost if one of tracks returns error 4**.
Solution: this behavior is enabled by default. However if one-time errors are not critical and should not terminate broadcasting, in the flashphoner.properties files set
Code Block |
---|
|
rtsp_fail_on_error_track=false
rtp_force_synchronization=true |
6. All the characters in a stream name, that are not allowed in URI, should be escaped
Symptoms: RTSP stream is not played with 'Bad URI' error
Solution: any character that is not allowed in URI, should be escaped in stream URL, for example
Code Block |
---|
|
rtsp://hostname/c@@lstream/channel1 |
should be set as
Code Block |
---|
|
rtsp://hostname/c%40%40lstream/channel1 |
7. Some IP cameras do not support cnonce
field in RTSP connection message header.
Symptoms: RTSP stream is played with VLC, but is not played with WCS.
Solution: set the following parameter in flashphoner.properties file
Code Block |
---|
|
rtsp_auth_cnonce= |
with empty value.
8. Streams from some cameras cannot be played due to buffer size lack to write RBSP
Symptoms: RTSP stream is not playing with exceptions in server log
Code Block |
---|
|
13:10:16,988 ERROR BitstreamNormalizer - pool-56-thread-1 Failed to normalize SPS 674d002a95a81e0089f950
java.lang.RuntimeException: Failed to write sps rbsp |
Solution: increase RBSP buffer size setting (1.5 by default)
Code Block |
---|
|
h264_sps_rbsp_scale=2 |
9. Some camera streams can loose audio and video sync
Symptoms: RTSP stream freezes or cannot be played by HLS (some segments cannot be written), in stream statistics there are ubnormally big AV syncronization values
Code Block |
---|
|
streams_synchronization=camera1/-21800;camera2/2079600704 |
Solution: increase synchronization buffers for audio and video tracks
...
...
A first subscriber issue
Before WCS build 5.2.1760 RTSP streams may start to play with a huge delay for the first subscriber. This was due to key frames missing caused by subscriber thread starting after publisher thread. Since build 5.2.1760 the behavior was changed: publisher thread starts after subscriber thread. This may be reverted if necessary by the following parameter
Code Block |
---|
|
agent_use_subscriber_listener=false |
Stream timestamp fix
In some RTSP streams a frame timestamps may be in wrong order, for example two subsequent frames may have the same timestamp. Such stream may not be displayed or periodically display a gray square while playing via WebRTC. Since build 5.2.1794 the following parameter is availbel to fix a broken timestamps
Code Block |
---|
|
jitter_buffer_attempt_to_correct_broken_timestamp=true |
In this case RTSP capturing client log may contain a messages as follows
Code Block |
---|
|
Non-monotonous timestamp in input stream; previous: 453424, current: 453424; changing to 453425. This may result in incorrect timestamps in the output |
and the problem stream should play normally.
Known issues
Excerpt Include |
---|
| From another server via RTMP |
---|
| From another server via RTMP |
---|
nopanel | true |
---|
|
5. Connection to the IP camera is lost on error in any track (audio or video)
Symptoms: connection to the IP camera is lost if one of tracks returns error 4**.
Solution: this behavior is enabled by default. However if one-time errors are not critical and should not terminate broadcasting, in the flashphoner.properties files set
Code Block |
---|
|
rtsp_fail_on_error_track=false
rtp_force_synchronization=true |
6. All the characters in a stream name, that are not allowed in URI, should be escaped
Symptoms: RTSP stream is not played with 'Bad URI' error
Solution: any character that is not allowed in URI, should be escaped in stream URL, for example
Code Block |
---|
|
rtsp://hostname/c@@lstream/channel1 |
should be set as
Code Block |
---|
|
rtsp://hostname/c%40%40lstream/channel1 |
7. Some IP cameras do not support cnonce
field in RTSP connection message header.
Symptoms: RTSP stream is played with VLC, but is not played with WCS.
Solution: set the following parameter in flashphoner.properties file
Code Block |
---|
|
rtsp_auth_cnonce= |
with empty value.
8. Streams from some cameras cannot be played due to buffer size lack to write RBSP
Symptoms: RTSP stream is not playing with exceptions in server log
Code Block |
---|
|
13:10:16,988 ERROR BitstreamNormalizer - pool-56-thread-1 Failed to normalize SPS 674d002a95a81e0089f950
java.lang.RuntimeException: Failed to write sps rbsp |
Solution: increase RBSP buffer size setting (1.5 by default)
Code Block |
---|
|
h264_sps_rbsp_scale=2 |
9. Some camera streams can loose audio and video sync
Symptoms: RTSP stream freezes or cannot be played by HLS (some segments cannot be written), in stream statistics there are ubnormally big AV syncronization values
Code Block |
---|
|
streams_synchronization=camera1/-21800;camera2/2079600704 |
Solution: in build before 5.2.1775 increase synchronization buffers for audio and video tracks
Code Block |
---|
|
audio_incoming_buffer_size=100
video_incoming_buffer_size=100 |
since build 5.2.1775 increase force synchronization timeout for audio and video tracks
Code Block |
---|
|
video_force_sync_timeout=1000
audio_force_sync_timeout=1000 |
10. Video does not play in RTSP streams from some DVRs
Symptoms: RTSP stream is playing with video in VLC (a decoding errors may occur), in WCS a browser receives WebRTC traffic but does not decodes video
Solution: update WCS to build 5.2.1988 and set the following parameter
Code Block |
---|
|
jitter_buffer_strictness=TOLERANT |