Доброго времени суток!
Уже который час бьюсь с проблемой, не могу решить, решил наконец посоветоваться с гуру.
Есть самописный видео плеер, нужно сделать так, чтобы можно было перематывать видео на "незабуферизованную" часть.
Как я понял, перемотать видео к конкретной секунде можно только если видео стримится по rtmp://, либо если мы используем FLVPlayback (что не есть правда, или я совсем криворукий (оба варианта звучат не радужно) )
Собственно мой пост содержит 2 вопроса (выделил их подчеркиванием)
Так вот. Что я пытаюсь сделать:
* из исходного видео получить flv
* заполнить его cuePoints
* организовать навигацию по ним с помощью FLVPlayback или NETStream
"Фашизм" с точки зрения размера файла, но "вещание" уж очень не хочется организовывать.
Набросал простой батник:

Код AS3:
ffmpeg -i s_input.mp4 -ar 22050 -b:a 32k -b:v 700k -f flv -s 320x240 -r 25 -y i_ffmpeg.flv
copy i_ffmpeg.flv i_flvtool2.flv
flvtool2 -AUtP i_flvtool2.xml i_flvtool2.flv
В i_flvtool2.xml указал 2 точки

Код AS3:
<tags>
<metatag event="onCuePoint" overwrite="true">
<name>Cue Point 1</name>
<timestamp>22000</timestamp>
<parameters>
<textinfo>This is some text 1</textinfo>
<thumb></thumb>
</parameters>
<type>navigation</type>
</metatag>
<metatag event="onCuePoint" overwrite="true">
<name>Cue Point 2</name>
<timestamp>44000</timestamp>
<parameters>
<textinfo>This is some text 2</textinfo>
<thumb></thumb>
</parameters>
<type>navigation</type>
</metatag>
</tags>
oNMetData отдает то, что я хочу видеть:

Код AS3:
Metadata:
audiosize -> 3001709
duration -> 673.12
audiosamplesize -> 16
lasttimestamp -> 673.08
datasize -> 61806104
videosize -> 58777869
videocodecid -> 2
metadatadate -> Thu Jan 24 16:59:42 GMT+0400 2013
metadatacreator -> inlet media FLVTool2 v1.0.6 - "http://www.inlet-media.de/flvtool2" target="_blank">http://www.inlet-media.de/flvtool2
audiosamplerate -> 22000
framerate -> 25
lastkeyframetimestamp -> 672.68
canSeekToEnd -> false
hasAudio -> true
filesize -> 61976517
stereo -> true
cuePoints -> ,
hasMetadata -> true
hasVideo -> true
width -> 320
audiodatarate -> 32.308325904795865
keyframes -> [object Object]
height -> 240
audiocodecid -> 2
videodatarate -> 696.413632851964
hasCuePoints -> true
audiodelay -> 0
hasKeyframes -> true
CuePoints:
"Cue Point 1" 22
"Cue Point 2" 44
Keyframes :
0
1
2
...
1401
1402
То есть есть и ключевые кадры и cuePoints.
Но, например

Код AS3:
ns.seek(300);
Вместо того, чтобы бросить к ближайшему ключевому кадру, выдаст:

Код AS3:
[NetStatusEvent type="netStatus" bubbles=false cancelable=false eventPhase=2 info=[object Object]]
level -> error
code -> NetStream.Seek.InvalidTime
details -> 8.64
Почему так происходит? Может я что-то не правильно делаю, или у меня возник рассинхрон с пониманием документации?
Если же использовать FLVPlayback, то он ведет себя как-то странно.

Код AS3:
var cuePount = _flvPlayback.findCuePoint("Cue Point 2");
_flvPlayback.seekToNavCuePoint(cuePount.name);
Иногда бросает на 44ю секунду (второй cuePoint), иногда нет.
Из за чего может быть такое поведение?
Буду благодарен за советы!