mirror of
https://github.com/aler9/rtsp-simple-server
synced 2025-10-16 12:40:56 +08:00
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:
@@ -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)
|
||||
})
|
||||
|
Reference in New Issue
Block a user