[Libav-user] RTMP Protocol Issue

Cesareo Fernandez cesareof at gmail.com
Wed May 17 17:14:27 EEST 2017


I am running a Wowza Server and trying to relay the resulting RTMP stream
to a http server, but I am having a bit of an issue. It appears that the
Wowza Server will occasionally send:
NetStream.Play.Stop code when the server has no data left to send. This
doesn't mean it is EOF yet, because it will continue sending and the RTMP
stream will remain live.

In rtmpproto.c:
if (!t && !strcmp(tmpstr, "NetStream.Play.Stop")) rt->state = STATE_STOPPED;

So av_read_frame will return AVERROR_EOF and close the stream, which is not
appropriate behavior. I checked to see if a flash player has similiar
behavior and it does not. It accurately differentiates between the
NetStream.Play.Stop and the appropriate EOF.

Perhaps rtmpproto.c should be looking for a different code to know it is
EOF.
if (!t && !strcmp(tmpstr, "NetStream.Play.Complete")) rt->state =
STATE_STOPPED;

Not sure if this is a bug or something I will have to just live with.

Thanks,
Cesareo
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://ffmpeg.org/pipermail/libav-user/attachments/20170517/0a9589cc/attachment.html>


More information about the Libav-user mailing list