Browse Source

webrtc: fix bad quality when converting Opus from WebRTC to LL-HLS (#2499) (#2740)

pull/2744/head
Alessandro Ros 2 years ago committed by GitHub
parent
commit
81c803ba64
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      internal/protocols/mpegts/to_stream.go
  2. 1
      internal/protocols/webrtc/incoming_track.go
  3. 2
      internal/staticsources/hls/source.go

2
internal/protocols/mpegts/to_stream.go

@ -113,7 +113,7 @@ func ToStream(r *mpegts.Reader, stream **stream.Stream) ([]*description.Media, e
Type: description.MediaTypeAudio, Type: description.MediaTypeAudio,
Formats: []format.Format{&format.Opus{ Formats: []format.Format{&format.Opus{
PayloadTyp: 96, PayloadTyp: 96,
IsStereo: (codec.ChannelCount == 2), IsStereo: (codec.ChannelCount >= 2),
}}, }},
} }

1
internal/protocols/webrtc/incoming_track.go

@ -72,6 +72,7 @@ func newIncomingTrack(
case strings.ToLower(webrtc.MimeTypeOpus): case strings.ToLower(webrtc.MimeTypeOpus):
t.format = &format.Opus{ t.format = &format.Opus{
PayloadTyp: uint8(track.PayloadType()), PayloadTyp: uint8(track.PayloadType()),
IsStereo: strings.Contains(track.Codec().SDPFmtpLine, "stereo=1"),
} }
case strings.ToLower(webrtc.MimeTypeG722): case strings.ToLower(webrtc.MimeTypeG722):

2
internal/staticsources/hls/source.go

@ -174,7 +174,7 @@ func (s *Source) Run(params defs.StaticSourceRunParams) error {
Type: description.MediaTypeAudio, Type: description.MediaTypeAudio,
Formats: []format.Format{&format.Opus{ Formats: []format.Format{&format.Opus{
PayloadTyp: 96, PayloadTyp: 96,
IsStereo: (tcodec.ChannelCount == 2), IsStereo: (tcodec.ChannelCount >= 2),
}}, }},
} }

Loading…
Cancel
Save