Мое приложение Flex не может воспроизводить поток RTMFP. Какие-либо предложения?
Несколько лет назад я создал SWF-файл, который позволял пользователям онлайн-видео-чат. Он использовал простой метод публикации / воспроизведения SMTFP для потоковой передачи видео. Прошло несколько лет, и я пытаюсь создать обратно совместимый SWF.
Странная ситуация возникла:
- Новая версия не может воспроизвести потоки, опубликованные со старого SWF. Он подключается к серверу и издателю, но не может играть и дает
NetStream.Play.Failed
ошибка. - Новая версия воспроизводит потоки, которые публикуются из собственной версии.
- Онлайн-игроки, как в этом руководстве, могут играть в мою новую версию, но они не могут воспроизводить потоки из моей старой версии.
Я попробовал это с разными SDK (3.6, 4.1, 4.6), и все они не могут воспроизводить старые потоки SWF.
Я искал в Интернете ошибку, и документы ничего не очищают, и они просто говорят, что это общая ошибка. В SO есть вопрос, который может быть связан, но у него нет ответов.
Кто-нибудь знает причину? или какие-либо предложения?
2 ответа
Я нашел проблему. Похоже, что Flash Player изменил протокол RTMFP в версии 11.1. Об этом не так много документации, и, насколько я понимаю, я должен либо обновить все флеш-плееры, либо обновить все старые приложения до flex 4 SDK.
Вы уверены, что одинаковые названия публикаций используются в обоих приложениях? Возможно, вы публикуете поток с именем "test1", например, и проигрыватель пытается воспроизвести поток с именем "test2".
В противном случае, если вы считаете, что имена верны, вы можете попробовать использовать MonaServer, это наш собственный сервер с открытым исходным кодом. Он поддерживает RTMFP, RTMP[E], HTTP и Websocket (также RTSP только для тестирования). Установите его на свой компьютер / сервер и проверьте журнал, чтобы увидеть, что происходит.