2012-03-30 5 views
0

У меня есть Flv VID и установить точку метки динамическиВспышка a3 - остановка в ключевой точке

vid.addASCuePoint(1, "cuePoint1"); 

Как никогда он не всегда останавливается в том же месте. Как я могу быть более точным? Я полагаю, это связано с буферизацией и несколькими другими факторами?

import fl.video.*; 
//etc etc 
vid.addEventListener(fl.video.VideoEvent.READY, flvPlayback_ready); 
vid.addEventListener(MetadataEvent.CUE_POINT, flvPlayback_cuePoint); 

function flvPlayback_ready(evt:fl.video.VideoEvent):void { 
vid.addASCuePoint(1, "cuePoint1"); 
vid.play(); 
} 


function flvPlayback_cuePoint(evt:MetadataEvent):void { 
    vid.pause(); 
    trace("CUE POINT!!!"); 
    trace("\t", "name:", evt.info.name); // name: cuePoint1 
    trace("\t", "time:", evt.info.time); // time: 1 
    trace("\t", "type:", evt.info.type); // type: actionscript 

}

ответ

0

Cuepoints может быть добавлен к видео двух способов: 1) закодированных в фактическое видео 2) добавлено через ActionScript

У меня нет каких-либо ссылок на соответствующую документацию, но я имел дело с этой проблемой раньше. В материалах, которые я читаю, говорится, что добавление точек cuepoints через actionscript не будет таким точным, как кодирование их на видео. ... и ваш код указывает, что именно так вы их добавляете ...

Желаю, чтобы у меня были лучшие новости для вас, но единственный способ узнать больше о том, как добавить ключевые точки во время кодирования ,

+0

В конце концов я просто плюнул видео. – LeBlaireau

0

Это, вероятно, связано с числом ключевых кадров, что был FLV, закодированные с помощью (я считаю, что число равно 1 в 30 кадров по умолчанию при кодировании с MediaEncoder).

Попробуйте перекодировать FLV и установить расстояние между кадрами к чему-то меньшему (или даже встроить ключевой кадр с использованием Media Encoder, а не добавлять его через ActionScript).