From ba30f46c0253ab70180b80eb69170e80f1f6a171 Mon Sep 17 00:00:00 2001 From: Alexey Khit Date: Wed, 5 Oct 2022 10:49:48 +0300 Subject: [PATCH] Fix FmtpLine for RTMP --- pkg/rtmp/client.go | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/pkg/rtmp/client.go b/pkg/rtmp/client.go index 1fbd37c6..bc10f5b0 100644 --- a/pkg/rtmp/client.go +++ b/pkg/rtmp/client.go @@ -47,10 +47,14 @@ func (c *Client) Dial() (err error) { for _, stream := range streams { switch stream.Type() { case av.H264: - cd := stream.(h264parser.CodecData) - fmtp := "sprop-parameter-sets=" + - base64.StdEncoding.EncodeToString(cd.RecordInfo.SPS[0]) + "," + - base64.StdEncoding.EncodeToString(cd.RecordInfo.PPS[0]) + info := stream.(h264parser.CodecData).RecordInfo + + fmtp := fmt.Sprintf( + "profile-level-id=%02X%02X%02X;sprop-parameter-sets=%s,%s", + info.AVCProfileIndication, info.ProfileCompatibility, info.AVCLevelIndication, + base64.StdEncoding.EncodeToString(info.SPS[0]), + base64.StdEncoding.EncodeToString(info.PPS[0]), + ) codec := &streamer.Codec{ Name: streamer.CodecH264,