diff --git a/pkg/flv/muxer.go b/pkg/flv/muxer.go index 98794265..b04d8981 100644 --- a/pkg/flv/muxer.go +++ b/pkg/flv/muxer.go @@ -34,7 +34,7 @@ func (m *Muxer) GetInit() []byte { switch codec.Name { case core.CodecH264: b[4] |= FlagsVideo - obj["videocodecid"] = CodecAVC + obj["videocodecid"] = CodecH264 case core.CodecAAC: b[4] |= FlagsAudio diff --git a/pkg/flv/producer.go b/pkg/flv/producer.go index 33762d20..9748c94a 100644 --- a/pkg/flv/producer.go +++ b/pkg/flv/producer.go @@ -44,7 +44,9 @@ const ( TagData = 18 CodecAAC = 10 - CodecAVC = 7 + + CodecH264 = 7 + CodecHEVC = 12 ) const ( @@ -207,15 +209,18 @@ func (c *Producer) probe() error { } else { _ = pkt.Payload[0] >> 4 // FrameType - if codecID := pkt.Payload[0] & 0b1111; codecID != CodecAVC { - continue - } - if packetType := pkt.Payload[1]; packetType != PacketTypeAVCHeader { // check if header continue } - codec = h264.ConfigToCodec(pkt.Payload[5:]) + switch codecID := pkt.Payload[0] & 0b1111; codecID { + case CodecH264: + codec = h264.ConfigToCodec(pkt.Payload[5:]) + case CodecHEVC: + codec = h265.ConfigToCodec(pkt.Payload[5:]) + default: + continue + } } media := &core.Media{