Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Since build 5.2.724 it is possible to set the name to publish stream on server using localStreamName query parameter. If the parameter is not set, the stream name will be set to uri, as done in previous builds.

RTMP stream repeatedly capturing with the same URI

/pull/rtmp/pull query returns 409 Conflict while trying to repeatedly capture RTMP stream with the same URI. If the stream is already published on the server, it is necessary to subscribe to it.

Configuration

In the /usr/local/FlashphonerWebCallServer/conf directory you can find the SDP description file for the RTMP agent rtmp_agent.sdp:

...

Below is the call flow when capturing an RTMP stream from another server

Authentication on a source server

WCS supports Adobe authentication on RTMP server while capturing a stream from it using RTMP URL parameters:

Code Block
themeRDark
rtmp://username:password@server:1935/live/streamKey

Note that if an RTMP stream is requested from another WCS server, this kind of authentication is not supported.

Since build 5.2.1069 it is possible to pass authentication parameters after stream name

Code Block
themeRDark
rtmp://server:1935/live/streamKey?user=username&password=password

In this case the parameters will be passed to RTMP server in connect message.

The parameters can be set after application name too

Code Block
themeRDark
rtmp://server:1935/live?user=username&password=password/streamKey

In this case the parameters will also be passed to RTMP server in connect message. If the stream is requested from another WCS server via RTMP, authentication parameters will be available in REST hook /connect.

Known issues


Excerpt

1. A stream containing B-frames does not play or plays with artifacts (latencies, lags)

Symptoms:

  • a stream sent by the RTMP encoder does not play or plays with latencies or lags
  • warnings in the client log:
Code Block
languagebash
themeRDark
09:32:31,238 WARN 4BitstreamNormalizer - RTMP-pool-10-thread-5 It is B-frame!

Solution

  • change the encoder settings so, that B-frames were not used (lower encoding profile, specify in the command line etc)
  • transcode the stream, in this case there will be no B-frames in transcoded stream

2. AAC frames of type 0 are not supported by decoder and will be ignored while stream pulled playback

In this case, warnings will be displayed in the client log:

Code Block
languagebash
themeRDark
10:13:06,815 WARN AAC - AudioProcessor-c6c22de8-a129-43b2-bf67-1f433a814ba9 Dropping AAC frame that starts with 0, 119056e500

Solution: use Fraunhofer AAC codec with the following parameter in flashphoner.properties file

Code Block
themeRDark
use_fdk_aac=true

3. When publishing and then playing and recording H264 + AAC stream video may be out of sync with sound, or no sound at all.

Symptoms: when playing H264 + AAC stream published on server, and when recordingsuch stream, sound is out of sync with video or absent

Solution:

a) set the following parameter in flashphoner.properties file

Code Block
languagebash
themeRDark
disable_drop_aac_frame=true

This parameter also turns off AAC frames dropping.

b) use Fraunhofer AAC codec

Code Block
themeRDark
use_fdk_aac=true

4. Sound may be distorted or absent when resampled to 11025 Hz

Symptoms: when H264 + AAC stream published on WCS server is played with AAC sample rate 11025 Hz, sound is distorted or absent

Solution: do not use 11025 Hz sample rate, or escape AAC sound resampling to this rate, for example, do not set this sample rate in SDP settings.

...