diff --git a/pkg/rtsp/conn.go b/pkg/rtsp/conn.go index 131f2f8f..de27c0ec 100644 --- a/pkg/rtsp/conn.go +++ b/pkg/rtsp/conn.go @@ -7,6 +7,7 @@ import ( "encoding/binary" "errors" "fmt" + "github.com/AlexxIT/go2rtc/pkg/h264" "github.com/AlexxIT/go2rtc/pkg/streamer" "github.com/AlexxIT/go2rtc/pkg/tcp" "github.com/pion/rtcp" @@ -671,6 +672,11 @@ func (c *Conn) bindTrack( return nil } + if h264.IsAVC(track.Codec) { + wrapper := h264.RTPPay(1500) + push = wrapper(push) + } + return track.Bind(push) } diff --git a/pkg/webrtc/streamer.go b/pkg/webrtc/streamer.go index cd21ff42..9d7d6340 100644 --- a/pkg/webrtc/streamer.go +++ b/pkg/webrtc/streamer.go @@ -55,7 +55,7 @@ func (c *Conn) AddTrack(media *streamer.Media, track *streamer.Track) *streamer. wrapper := h264.RTPPay(1200) push = wrapper(push) - if codec.PayloadType != 255 { + if !h264.IsAVC(codec) { wrapper = h264.RTPDepay(track) push = wrapper(push) }