Я работаю над локальным приложением (это не веб-сайт или ничего не связано), и у меня есть различные FLV с очень простым методом шифрования (точно так же, как добавление 10 в каждый байт).
Я могу загрузить / воспроизвести их, используя NetStream.appendBytes () после расшифровки, но это происходит только после того, как я прочитал все видеоданные, которые не в потоковом режиме.
Что мне действительно нужно, так это потоковое видео с удаленного URL-адреса и расшифровка при получении данных с помощью проигрывателя на базе OSMF, который я уже построил.
Я заблудился от того, как OSMF работает с FLV, в противном случае я бы попытался создать плагин или что-то в этом роде.
Я был бы очень благодарен, если бы кто-то указал мне, как справиться с этим.
Но я был бы рад, если бы кто-нибудь помог мне найти способ загрузить локальный файл, используя OSMF, передавая значение ByteArray вместо url (ниже). Или даже дать мне указания по созданию плагина OSMF для решения моей проблемы.
videoElement.resource = "video_url/video.flv";
Это мой текущий код только для воспроизведения моего декодированного массива FLV
private function playBytes(bytes:ByteArray):void
{
// detecting it's header
if (bytes.readUTFBytes(3) != "FLV")
{
_text.appendText("\nFile \""+ file +"\" is not a FLV")
return void;
}
bytes.position = 0;
netConnection.connect(null);
netStream = new NetStream(netConnection);
netStream.client = { onMetaData:function(obj:Object):void { } }
video.attachNetStream(netStream);
addChild(video);
// put the NetStream class into Data Generation mode
netStream.play(null);
// before appending new bytes, reset the position to the beginning
netStream.appendBytesAction(NetStreamAppendBytesAction.RESET_BEGIN);
// append the FLV video bytes
netStream.appendBytes(bytes);
}