Ответ почти нет ... ну, если честно, просто нет.
@drudru указал правильную технологию для flash p2p, то есть stratus.
Flash p2p основан на RTMFP, который построен на UDP. На самом деле, flash связывает порт, но это происходит от внутренних устройств. Нет API для этого вручную.
RTMFP в основном допускает две вещи:
- Потоковое UDP (ненадежное, но быстрое) для видео и аудио. Со стороны вспышки вы можете публиковать только свою камеру и микрофон. С сервера практически ничего.
- Выполнение удаленных вызовов к другой конечной точке p2p-соединения. Это может быть использовано для передачи данных. Эта связь защищена, т. Е. Порядок и целостность пакетов поддерживается флеш-плеером.
p2p основан на пробах NAT. Сам Stratus является сервером внедрения. Кроме того, в целях безопасности p2p-соединение также означает, что оба клиента должны иметь простаивающее TCP (если я правильно помню) соединение с сервером. Я предполагаю, что часть данных передается, конечно, но не полезная нагрузка.
Однако, торрент-протокол очень отличается от этого. Поэтому это не вариант. Вы можете создать эквивалентный протокол поверх RTMFP, реинжиниринг сервиса Stratus (или подождать, пока он не будет открыт). Конечно, это также может быть использовано клиентами без флэш-памяти. Но опять же, вы не сможете смотреть передаваемые данные в виде видео, поскольку вы получите это как параметр для некоторого вызова клиенту вашего NetStream
, вероятно, ByteArray
. И вы не можете воспроизвести ByteArray
с. Вы могли бы писать не Flash-клиенты, которые публикуют видео в виде потока, но это было бы далеко от того, что вы хотели, я думаю.
Если вы действительно хотите сделать что-то подобное, вам нужна Java. Вы можете подписывать Java-апплеты, и если пользователь принимает сертификат, он имеет практически неограниченный доступ, например, Вы могли бы связать порты. Поскольку Java может выполнять UDP, у вас может быть апплет Java, который выполняет торрент (возможно, просто использует кодовую базу Vuze), и если вы действительно хотите отобразить его во флэш-памяти (что, в свою очередь, требует flv), то вы можете имитировать локальный " Flash Media Server "и опубликуйте видео на localhost: someport. Но на самом деле, вспышка кажется мне смешно сложной и бесполезной для меня. Скорее попробуйте поиграть с Java, который, как мы надеемся, имеет возможность сделать это изначально.