[rtmpdump] Searching for key frames

fs ck fsckemail at gmail.com
Sun Jan 9 19:58:59 CET 2011

On Sun, Jan 9, 2011 at 8:41 AM, Howard Chu <hyc at highlandsun.com> wrote:
> Then get_iplayer is broken. It should be checking for a return code of zero
> from rtmpdump and stopping at that point. rtmpdump will exit with code zero
> if it gets a "Play Complete" message from the server, and the server always
> sends that if it reaches the end of whatever it was playing.

After resuming the first time and getting the whole remaining part it
exits with:

DEBUG: HandleInvoke, server invoking <onStatus>
DEBUG: HandleInvoke, onStatus: NetStream.Play.Stop
DEBUG: Invoking deleteStream
DEBUG: Got Play.Complete or Play.Stop from server. Assuming stream is complete
M14360.395 kB / 113.86 sec (76.5%)
DEBUG: RTMP_Read returned: 24116
Download may be incomplete (downloaded about 76.50%), try resuming
DEBUG: Closing connection.

get_iplayer correctly reports the exit code as:
INFO: Command exit code 2 (raw code = 512)

This is a Play.Stop if you take a look at the verbose trace.

After those "WARNING: Stream does not start with requested frame,
ignoring data..." in the resume attempt we get an exit code as
INFO: Command exit code 1 (raw code = 256)

Again implying an incomplete download...

So there is a problem here where FMS must be misreporting a TS stating
at zero even though a start offset is specified and accepted. Maybe
the client side is supposed to add the offset TS to the TS in the
stream ? I guess this wouldn't be a problem if the flv was remuxed to
an mp4 using ffmpeg but the problem with the exit code still
remains.... Hw can we cleanly tell if we've rxed the last frame?

More information about the rtmpdump mailing list