Browse Source

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

pull/2744/head
Alessandro Ros 1 year 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 @@ -113,7 +113,7 @@ func ToStream(r *mpegts.Reader, stream **stream.Stream) ([]*description.Media, e
Type: description.MediaTypeAudio,
Formats: []format.Format{&format.Opus{
PayloadTyp: 96,
IsStereo: (codec.ChannelCount == 2),
IsStereo: (codec.ChannelCount >= 2),
}},
}

1
internal/protocols/webrtc/incoming_track.go

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

2
internal/staticsources/hls/source.go

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

Loading…
Cancel
Save