Мое приложение 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 только для тестирования). Установите его на свой компьютер / сервер и проверьте журнал, чтобы увидеть, что происходит.

Другие вопросы по тегам