2013-06-03 2 views
1

Я работаю над проектом, в котором мы пытаемся воспроизвести видео во Flash, путем установки NetStream в режиме генерации данных и добавления байтов. Это отлично подходит для FLV, но мне нужно поддерживать другие форматы файлов, такие как mp4. Я хочу либо поддерживать файл без изменений, либо каким-то образом обернуть файл «на лету» в флеш-клиенте.Использование NetStream в режиме генерации данных с форматами, отличными от FLV

Я знаю, что есть способы передавать файлы через RTMP, потоковое HTTP и т. Д., Но сейчас я пытаюсь сделать весь сервер меньше. Я смущен тем, почему объект NetStream может обрабатывать несколько форматов файлов при вызове .play (file), но если вы хотите использовать .play (null) и фид в байтах, похоже, работают только FLV.

Любые идеи о том, как я могу их достичь? Пожалуйста, дайте мне знать, если мне нужно быть более ясным.

ответ

1

NetStream в режиме генерации данных только поддерживает FLV-форматированные данные. Можно поддерживать другие форматы данных, но вам необходимо вручную изменить байты, чтобы они соответствовали формату FLV.

Это огромная боль и занимает довольно много времени, но это, безусловно, возможно реализовать. Я делал это несколько раз для нескольких разных проектов.

Вот пример, который я использовал для воспроизведения файлов TS через NetStream: https://github.com/nweber/hls-as/blob/master/hlsPluginLib/src/at/matthew/httpstreaming/HTTPStreamingMP2PESVideo.as (не код, который я написал, взятый из другого проекта с открытым исходным кодом и обновлен до OSMF 2.0)