CESNET / UltraGrid

UltraGrid low-latency audio and video network transmission system
http://www.ultragrid.cz
Other
509 stars 53 forks source link

WIki is confusing about using Reed Solomon for audio #408

Closed alatteri closed 1 month ago

alatteri commented 2 months ago

Hello,

In the wiki page regarding FEC, the wording is confusing. One sentence seems to say that only multi is suitable for Audio, then right below it says you can use RS. Since you added RS support to audio back in version 1.8, maybe this section could get some clarification. Do you still recommend using multi for audio, or is RS reliable? What would good settings be when using RS for audio?

Screenshot 2024-09-07 at 7 15 39 AM
mikekoetter commented 2 months ago

I have had a hard time getting the RS FEC for audio working, part of it being that I can't find the log outputs to suggest that its working. I will get an audio dropout and the only thing that really suggest there is an issue is the SSRC packet loss information and Audio decompress reporting an empty channel warning.

alatteri commented 2 months ago

Yes...I've done some testing this weekend, and RS FEC for audio seem to be totally broken. I need to open a new issue for that, but in the meantime I reverted to using mult:3.

MartinPulec commented 2 months ago

Hi Alan,

In the wiki page regarding FEC, the wording is confusing. One sentence seems to say that only multi is suitable for Audio, then right below it says you can use RS. Since you added RS support to audio back in version 1.8, maybe this section could get some clarification.

I've updated relevant parts in FEC Settings page as follows:

  1. "All schemes can be used for video while first one (multiplied stream) is eligible also for audio." replaced with "LDGM scheme is unsuitable and cannot be used for audio."
  2. "For audio, interleaved multiplied stream is recommended (although Reed-Solomon is also available)." "For audio, interleaved multiplied stream is recommended (although Reed-Solomon is also available). for compressed audio. Reed-Solomon may be considered for uncompressed audio (see below).
  3. "For audio only suitable scheme is mult (interleaved multipiled stream)."
    • or Reed-Solomon (uncompressed audio).
  4. "for audio, if FEC is needed, use prefer interleaved multiplied stream (R-S is supported as well)" -> "for audio use interleaved multiplied stream (or R-S for uncompressed audio)"

I've also added the notice about Reed-Solomon for audio.

Do you still recommend using multi for audio,

Please see the link above - in general, yes.

or is RS reliable?

It is not about being reliable. The point is that Reed-Solomon will work reasonably (= will recover missing data) just if there is are least 2 (but much better 3) packets per audio channel (typically not true for compressed audio).

What would good settings be when using RS for audio?

also discussed at that page

MartinPulec commented 2 months ago

if there is are least 2 (but much better 3) packets

I've also added a warning to UltraGrid if this occurs to inform the user that Reed-Solomon may be inadequate (meaning that it may not be able to repair anything).