forked from External/mediamtx
prepend SPS and PPS once when remuxing H264 streams
This avoids missing frames when reading with RTSP and the original stream has NALU groups with multiple IDRs in it.
This commit is contained in:
parent
31d9429c18
commit
8aa719eda5
2 changed files with 27 additions and 19 deletions
|
|
@ -116,7 +116,10 @@ func TestRTMPServerPublishRead(t *testing.T) {
|
|||
MessageStreamID: 0x1000000,
|
||||
IsKeyFrame: true,
|
||||
H264Type: flvio.AVC_NALU,
|
||||
Payload: []byte{0x00, 0x00, 0x00, 0x04, 0x05, 0x02, 0x03, 0x04},
|
||||
Payload: []byte{
|
||||
0x00, 0x00, 0x00, 0x04, 0x05, 0x02, 0x03, 0x04, // IDR 1
|
||||
0x00, 0x00, 0x00, 0x04, 0x05, 0x02, 0x03, 0x04, // IDR 2
|
||||
},
|
||||
})
|
||||
require.NoError(t, err)
|
||||
|
||||
|
|
@ -128,12 +131,14 @@ func TestRTMPServerPublishRead(t *testing.T) {
|
|||
IsKeyFrame: true,
|
||||
H264Type: flvio.AVC_NALU,
|
||||
Payload: []byte{
|
||||
0x00, 0x00, 0x00, 0x19, 0x67, 0x42, 0xc0, 0x28,
|
||||
0xd9, 0x00, 0x78, 0x02, 0x27, 0xe5, 0x84, 0x00,
|
||||
0x00, 0x03, 0x00, 0x04, 0x00, 0x00, 0x03, 0x00,
|
||||
0xf0, 0x3c, 0x60, 0xc9, 0x20, 0x00, 0x00, 0x00,
|
||||
0x04, 0x08, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00,
|
||||
0x04, 0x05, 0x02, 0x03, 0x04,
|
||||
0x00, 0x00, 0x00, 0x19, // SPS
|
||||
0x67, 0x42, 0xc0, 0x28, 0xd9, 0x00, 0x78, 0x02,
|
||||
0x27, 0xe5, 0x84, 0x00, 0x00, 0x03, 0x00, 0x04,
|
||||
0x00, 0x00, 0x03, 0x00, 0xf0, 0x3c, 0x60, 0xc9,
|
||||
0x20,
|
||||
0x00, 0x00, 0x00, 0x04, 0x08, 0x06, 0x07, 0x08, // PPS
|
||||
0x00, 0x00, 0x00, 0x04, 0x05, 0x02, 0x03, 0x04, // IDR 1
|
||||
0x00, 0x00, 0x00, 0x04, 0x05, 0x02, 0x03, 0x04, // IDR 2
|
||||
},
|
||||
}, msg1)
|
||||
})
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue