Documentation
¶
Overview ¶
The MIT License (MIT)
Copyright (c) 2022-2025 Winlin ¶
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Package gb28181 provides GB28181 protocol support ¶
The MIT License (MIT)
Copyright (c) 2022-2025 Winlin ¶
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
The MIT License (MIT)
Copyright (c) 2022-2025 Winlin ¶
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
The MIT License (MIT)
Copyright (c) 2022-2025 Winlin ¶
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
The MIT License (MIT)
Copyright (c) 2022-2025 Winlin ¶
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Index ¶
- Constants
- func Parse(ctx context.Context) interface{}
- func Run(ctx context.Context, r0 interface{}) (err error)
- type AACReader
- type GBSession
- func (v *GBSession) Bye(ctx context.Context) error
- func (v *GBSession) Close() error
- func (v *GBSession) Connect(ctx context.Context) error
- func (v *GBSession) Invite(ctx context.Context) error
- func (v *GBSession) Register(ctx context.Context) error
- func (v *GBSession) UnRegister(ctx context.Context) error
- type GBSessionConfig
- type GBSessionOutput
- type GBTestPublisher
- type GBTestSession
- type H265Reader
- type IngesterConfig
- type NAL
- type NalUnitType
- type PSClient
- type PSConfig
- type PSIngester
- type PSPackStream
- func (v *PSPackStream) WriteAudio(adts []byte, dts uint64) error
- func (v *PSPackStream) WriteHeader(videoCodec mpeg2.PS_STREAM_TYPE, dts uint64) error
- func (v *PSPackStream) WritePackHeader(dts uint64) error
- func (v *PSPackStream) WriteProgramStreamMap(videoCodec mpeg2.PS_STREAM_TYPE, dts uint64) error
- func (v *PSPackStream) WriteSystemHeader(dts uint64) error
- func (v *PSPackStream) WriteVideo(nalu []byte, dts uint64) error
- type PSPacket
- type PSPacketType
- type SIPClient
- type SIPConfig
- type SIPSession
- func (v *SIPSession) Bye(ctx context.Context) (sip.Message, sip.Message, error)
- func (v *SIPSession) Close() error
- func (v *SIPSession) Connect(ctx context.Context) error
- func (v *SIPSession) InviteResponse(ctx context.Context, invite sip.Message) (sip.Message, error)
- func (v *SIPSession) Message(ctx context.Context) (sip.Message, sip.Message, error)
- func (v *SIPSession) Register(ctx context.Context) (sip.Message, sip.Message, error)
- func (v *SIPSession) Trying(ctx context.Context, invite sip.Message) error
- func (v *SIPSession) UnRegister(ctx context.Context) (sip.Message, sip.Message, error)
- func (v *SIPSession) Wait(ctx context.Context, method sip.RequestMethod) (sip.Message, error)
Constants ¶
const ( NaluTypeSliceTrailN = h265reader.NalUnitTypeTrailN NaluTypeSliceTrailR = h265reader.NalUnitTypeTrailR NaluTypeSliceTsaN = h265reader.NalUnitTypeTsaN NaluTypeSliceTsaR = h265reader.NalUnitTypeTsaR NaluTypeSliceStsaN = h265reader.NalUnitTypeStsaN NaluTypeSliceStsaR = h265reader.NalUnitTypeStsaR NaluTypeSliceRadlN = h265reader.NalUnitTypeRadlN NaluTypeSliceRadlR = h265reader.NalUnitTypeRadlR NaluTypeSliceRaslN = h265reader.NalUnitTypeRaslN NaluTypeSliceRaslR = h265reader.NalUnitTypeRaslR NaluTypeSliceBlaWlp = h265reader.NalUnitTypeBlaWLp NaluTypeSliceBlaWradl = h265reader.NalUnitTypeBlaWRadl NaluTypeSliceBlaNlp = h265reader.NalUnitTypeBlaNLp NaluTypeSliceIdr = h265reader.NalUnitTypeIdrWRadl NaluTypeSliceIdrNlp = h265reader.NalUnitTypeIdrNLp NaluTypeSliceCranut = h265reader.NalUnitTypeCraNut NaluTypeSliceRsvIrapVcl22 = h265reader.NalUnitTypeReserved41 // Approximate mapping NaluTypeSliceRsvIrapVcl23 = h265reader.NalUnitTypeReserved47 // Approximate mapping NaluTypeVps = h265reader.NalUnitTypeVps NaluTypeSps = h265reader.NalUnitTypeSps NaluTypePps = h265reader.NalUnitTypePps NaluTypeAud = h265reader.NalUnitTypeAud NaluTypeSei = h265reader.NalUnitTypePrefixSei NaluTypeSeiSuffix = h265reader.NalUnitTypeSuffixSei NaluTypeUnspecified = h265reader.NalUnitTypeUnspec48 )
NAL unit type constants for compatibility with existing code
Variables ¶
This section is empty.
Functions ¶
Types ¶
type AACReader ¶
type AACReader struct {
// contains filtered or unexported fields
}
func (*AACReader) NextADTSFrame ¶
type GBSession ¶
type GBSession struct {
// contains filtered or unexported fields
}
func NewGBSession ¶
func NewGBSession(c *GBSessionConfig, sc *SIPConfig) *GBSession
type GBSessionConfig ¶
type GBSessionConfig struct {
// contains filtered or unexported fields
}
type GBSessionOutput ¶
type GBSessionOutput struct {
// contains filtered or unexported fields
}
type GBTestPublisher ¶
type GBTestPublisher struct {
// contains filtered or unexported fields
}
func NewGBTestPublisher ¶
func NewGBTestPublisher() *GBTestPublisher
func (*GBTestPublisher) Close ¶
func (v *GBTestPublisher) Close() error
type GBTestSession ¶
type GBTestSession struct {
// contains filtered or unexported fields
}
func NewGBTestSession ¶
func NewGBTestSession() *GBTestSession
func (*GBTestSession) Close ¶
func (v *GBTestSession) Close() error
type H265Reader ¶
type H265Reader = h265reader.H265Reader
Type aliases for compatibility with existing code
type IngesterConfig ¶
type IngesterConfig struct {
// contains filtered or unexported fields
}
type NAL ¶
type NAL = h265reader.NAL
type NalUnitType ¶
type NalUnitType = h265reader.NalUnitType
type PSClient ¶
type PSClient struct {
// contains filtered or unexported fields
}
func NewPSClient ¶
func (*PSClient) WritePacksOverRTP ¶
type PSIngester ¶
type PSIngester struct {
// contains filtered or unexported fields
}
func NewPSIngester ¶
func NewPSIngester(c *IngesterConfig) *PSIngester
func (*PSIngester) Close ¶
func (v *PSIngester) Close() error
type PSPackStream ¶
type PSPackStream struct {
// contains filtered or unexported fields
}
func NewPSPackStream ¶
func NewPSPackStream(pt uint8) *PSPackStream
func (*PSPackStream) WriteAudio ¶
func (v *PSPackStream) WriteAudio(adts []byte, dts uint64) error
Write AAC ADTS frame.
func (*PSPackStream) WriteHeader ¶
func (v *PSPackStream) WriteHeader(videoCodec mpeg2.PS_STREAM_TYPE, dts uint64) error
func (*PSPackStream) WritePackHeader ¶
func (v *PSPackStream) WritePackHeader(dts uint64) error
func (*PSPackStream) WriteProgramStreamMap ¶
func (v *PSPackStream) WriteProgramStreamMap(videoCodec mpeg2.PS_STREAM_TYPE, dts uint64) error
func (*PSPackStream) WriteSystemHeader ¶
func (v *PSPackStream) WriteSystemHeader(dts uint64) error
func (*PSPackStream) WriteVideo ¶
func (v *PSPackStream) WriteVideo(nalu []byte, dts uint64) error
The nalu is raw data without ANNEXB header.
type PSPacket ¶
type PSPacket struct {
// contains filtered or unexported fields
}
func NewPSPacket ¶
func NewPSPacket(t PSPacketType, p []byte, ts uint64, pt uint8) *PSPacket
type PSPacketType ¶
type PSPacketType int
const ( PSPacketTypePackHeader PSPacketType = iota PSPacketTypeSystemHeader PSPacketTypeProgramStramMap PSPacketTypeVideo PSPacketTypeAudio )
type SIPClient ¶
type SIPClient struct {
// contains filtered or unexported fields
}
func NewSIPClient ¶
func NewSIPClient() *SIPClient
type SIPSession ¶
type SIPSession struct {
// contains filtered or unexported fields
}
func NewSIPSession ¶
func NewSIPSession(c *SIPConfig) *SIPSession
func (*SIPSession) Close ¶
func (v *SIPSession) Close() error
func (*SIPSession) InviteResponse ¶
func (*SIPSession) UnRegister ¶
func (*SIPSession) Wait ¶
func (v *SIPSession) Wait(ctx context.Context, method sip.RequestMethod) (sip.Message, error)