Add support HTTP-FLV with H265 from new Reolink cameras #1938

This commit is contained in:
Alex X
2025-11-18 16:04:06 +03:00
parent b705cadc04
commit 8f5fce4d73
2 changed files with 12 additions and 7 deletions
+1 -1
View File
@@ -34,7 +34,7 @@ func (m *Muxer) GetInit() []byte {
switch codec.Name { switch codec.Name {
case core.CodecH264: case core.CodecH264:
b[4] |= FlagsVideo b[4] |= FlagsVideo
obj["videocodecid"] = CodecAVC obj["videocodecid"] = CodecH264
case core.CodecAAC: case core.CodecAAC:
b[4] |= FlagsAudio b[4] |= FlagsAudio
+11 -6
View File
@@ -44,7 +44,9 @@ const (
TagData = 18 TagData = 18
CodecAAC = 10 CodecAAC = 10
CodecAVC = 7
CodecH264 = 7
CodecHEVC = 12
) )
const ( const (
@@ -207,15 +209,18 @@ func (c *Producer) probe() error {
} else { } else {
_ = pkt.Payload[0] >> 4 // FrameType _ = pkt.Payload[0] >> 4 // FrameType
if codecID := pkt.Payload[0] & 0b1111; codecID != CodecAVC {
continue
}
if packetType := pkt.Payload[1]; packetType != PacketTypeAVCHeader { // check if header if packetType := pkt.Payload[1]; packetType != PacketTypeAVCHeader { // check if header
continue 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{ media := &core.Media{