[rtmpdump] patch: Stream does not start with requested frame, ignoring data

Howard Chu hyc at highlandsun.com
Sat Apr 9 11:45:00 CEST 2011


Peter Miller wrote:
> On Fri, 2011-04-08 at 19:56 -0700, Howard Chu wrote:
>> Peter Miller wrote:
>> It turns out that the server is sending RTMP_PACKET_TYPE_AUDIO
>>> and RTMP_PACKET_TYPE_VIDEO packets (and the video packets *do* contain a
>>> key frame), rather than librtmp/rtmp.c Read_1_packet()'s expectation of
>>> an RTMP_PACKET_TYPE_FLASH_VIDEO frame.
>>>
>>> Howard, what would be your preferred way to handle this case?
>>
>> Sorry, your problem description makes no sense. Regular video/audio packets
>> are checked for the keyframe already, line 3837. Explain first why this check
>> failed, don't go mucking with everything afterward, that's irrelevant.
>
> The server does send the expected packet type
> (r->m_read.initialFrameType == RTMP_PACKET_TYPE_VIDEO) but it does not
> send the expected packet size (r->m_read.nInitialFrameSize = 17957,
> nPacketLen = 592).  This causes it to fall into the code that expects a
> RTMP_PACKET_TYPE_FLASH_VIDEO frame.

Then the server is lying to you about something. I don't believe your video 
keyframe can be only 592 bytes, especially not if the actual last keyframe in 
the file was 17KB.


More information about the rtmpdump mailing list