Здрасти! Сделал rtmp плеер, который подключается к Nginx rtmp и производит трансляцию.
Все как обычно(КОД ПРИМЕРНЫЙ):

Код AS3:
video = new Video();
addChild(video);
new connection(this);
conn = new NetConnection()
conn.connect("rtmp://example/app/stream");
stream = new NetStream(conn);
video.attachNetStream(stream);
stream.play("stream");
FPS потока меряю через stream.currentFPS, и он иногда ПАДАЕТ с 30 до 5-9 кадров в сек. По моим наблюдениям падать начинает в таком случае:
1) Запустил плеер
2) Пошел проигрываться поток
3) Вещание приостановилось(NetStream.Play.UnpublishNotify)
4) Вещание запустилось(NetStream.Play.PublishNotify)
5) Упал FPS
Если плеер перезагрузить то FPS восстанавливается сразу до положенных 25-30 FPS. Методом тыка, после события
NetStream.Buffer.Flush я делаю
stream.seek(0); После этого FPS восстанавливается. Поток раздает на сервере:

Код:
ffmpeg -re -i /path/to/vidos.mp4 -vcodec copy -acodec copy -f flv rtmp://example/app/stream
Т.е. затык в том, что после NetStream.Play.UnpublishNotify и NetStream.Play.PublishNotify падает FPS
Где копать? На стороне публикации потока, на стороне сервера(nginx), в плеере?