2009-10-12 14 views

Odpowiedz

-3

Uważam, że "dlaczego ByteArray" jest rzeczywiście pytanie ... jak to się stało? :)

Istnieje wiele podejść ... jedno zostało nadane przez konrad ... ale jak powiedział, będzie to powolne ... w rzeczywistości, myślę, że będzie to znacznie wolniejsze, niż możesz sobie wyobrazić .. . więc tu jeszcze jeden:

zdać ByteArray do serwera i załadować flv stamtąd ... istnieje kilka opcji:

  • zdalny serwer: załadować je do zdalnego serwera (prawdopodobnie jeden rozprowadzającego swf) ... wciąż pozostawiając pytanie, dlaczego nie rozpowszechniasz flv stamtąd na pierwszym miejscu ...
  • serwer lokalny:
    1. zainstalowane: wystarczy zainstalować niewielką aplikację lokalną zrobić dokładnie to za Ciebie, to możesz wcisnąć ByteArray tam i następnie pobrać ją na odpowiednim protocoll (HTTP, RTMP) ...
    2. Browser- Wbudowany: taki sam jak zainstalowany, ale możesz po prostu utworzyć aplet Java, aby wykonać to zadanie ... signed aplety Java mogą wiązać porty (tak, jest to dodatkowe kliknięcie dla użytkownika, ale jest tak wygodne, jak tylko może uzyskać) co jest, co musisz zrobić, a reszta jest naprawdę taka sama jak z zainstalowanym serwerem ...

w obu scenariuszach możesz napotkać problemy dotyczące polityki międzywydziałowej (prawdopodobnie tylko podczas wysyłania, ponieważ uważam, że możesz ładować filmy w różnych domenach), gdzie musisz poprawnie odpowiadać na prośby o pliki zasad FlashPlayer (możesz znaleźć mnóstwo rzeczy na to) ... mógł ominąć wysyłanie ograniczenie poprzez mostek LocalConnection, jak this one dla C# ...

szczęście potem ...;)


eDIT: ah ok, teraz rozumiem ... właściwie, było już very similar question ... pamiętam krótki wywiad z jakimś facetem z adobe, tuż po tym, jak funkcja p2p była ogłosił ... Adobe jest bardzo nieśmiały na ten temat ... faktycznie zajęło mi tygodnie, aby znaleźć p2p po flash player 10 został oficjalnie wydany (naprawdę nie mam czasu, aby przeszkadzać wcześniej) ...

faktycznie, ja uważam, że jest to zrobione celowo ... w wywiadzie, było jasne, że Adobe nie próbuje odsuwać stron z transmisją strumieniową wideo ... dwa najważniejsze to prawdopodobnie youtube i google video ... youtube jest jednym z główne powody, dlaczego odtwarzacz flash stał się tak popularny na pierwszym miejscu ... i jest własnością google, jako google video ...pozwalając na łatwe utworzenie platformy multimediów p2p wkurzałoby google'a ... nie potrzebujesz wielu serwerów do tego ... "po prostu" dobrego oprogramowania, ale to niedrogie ... i myślę, że Adobe nie chcą wkurzyć google ... kilka powodów:

  • są wyszukiwarkę
  • muszą google, aby umożliwić indeksowanie witryn opartych Flash
  • Google jest n razy większe
  • Google jest naprawdę stara się zdobyć ogromną część rynku RIA ... mają GWT, chrome, V8, native client ...

więc domyślam się, że Adobe nie ma aż tak dużego zainteresowania, aby to zrobić ... jest to całkiem sporo, jak wtedy, gdy Google ogłosił swój system płatności (czy to był GPay itp.?), Który był bezpośrednim współbieżnym PayPal ... eBay jest jednym z najważniejszych źródeł dochodów Google'a ... i nigdy więcej o nim nie słyszałem ...

Wiele decyzji jest politycznych, jeśli chodzi o duże firmy ... i myślę, że , jeden z nich nie jest zbyt mocny p2p odtwarzacza flash, jest jednym z nich ...


+0

Dzięki za odpowiedzi. Obawiałem się, że to są moje jedyne opcje i właśnie to potwierdziłeś (miałem nadzieję, że przeoczyłem inną metodę).Aby odpowiedzieć na pytanie DLACZEGO :) - Pracuję nad strumieniowym przesyłaniem multimediów p2p, korzystając z nowej funkcjonalności dostępnej w Flash Player 10 i dotarłem do punktu, w którym mam wideo w ByteArray u klientów, ale nie mogę go wyświetlić :) Wiwaty i jeszcze raz dziękuję za twoje odpowiedzi. – bartekb

-2

Nie będę pytał Dlaczego ByteArray? Odpowiedź na twoje pytanie brzmi TAK, ale ostateczny wynik będzie działał wolno - wolniej, gdy wideo jest większe, a kodek złożony. Musisz odczytać ramki i umieścić je jako BitmapData w Bitmapie i napisać własny odtwarzacz. Najlepszym sposobem jest użycie Alchemii - wtedy działa szybciej, ale też wolno :) Możesz także użyć haXe. Dźwięk w bardzo podobny sposób. Najlepszym punktem wyjścia są laboratoria Adobe. Na koniec - pamiętaj, że flv jest dekodowana za pomocą sprzętu - twój kod będzie używał tylko procesora. Teraz zadaj sobie pytanie, czy naprawdę potrzebujesz tej funkcji?

-1

Nie jestem pewien, czy to możliwe, ponieważ nie mam w jaki sposób Flash koduje osadzone filmy SWF, ale może mógłbyś przekonwertować flv bytearray na swf z flv osadzoną na osi czasu i użyć tego bytrayray do wyświetlenia go za pomocą Loader.loadBytes ...

+0

+1 ... dobry pomysł ... ale nie mogłem dowiedzieć się, jak filmy są osadzone w SWF ... zawsze miałem wrażenie, że są one w jakiś sposób przekształcone, co wymagałoby odkodowania ... – back2dos

+0

To jest dobry pomysł. Zostało to zrobione dla audio (mp3), więc może być możliwe dla wideo ... http://www.flexiblefactory.co.uk/flexible/?p=46 – bartekb

0

sztuczka Loader + MovieClip to prawdopodobnie jedyny sposób, by przejść, see this

dla ograniczeń. 2-minutowy limit jest odpowiedni dla rtmfp2p, ponieważ dystrybucja większych bytearrayów i tak nie jest wykonalna.

Zakładając, że dostępne są metryki odtwarzania (głowica/aktualna ramka), płynne przejścia nie powinny stanowić problemu - rozpocznij odtwarzanie drugiego pliku SWF z wyciszeniem/widocznością = FAŁSZ, dopóki linie czasu nie zostaną zsynchronizowane, a następnie odwróć wideo i dźwięk - działa to bardzo dobrze dla netstream/play(), nie jest jeszcze tak pewne dla zwykłego pliku SWF.

Kolejnym problemem jest dokładne zorientowanie się, w jaki sposób dane FLV są importowane do pliku SWF i jak tworzyć właściwe pliki swf w środowisku wykonawczym w wersji as3. Do tej pory mxmlc/swfmill nie był w stanie wbudować FLV (już dawno, rzeczy mogły się zmienić), tylko zwykły flash AS3 był zdolny do tworzenia ładowanego przez bytearray pliku SWF z wideo. Powinien jednak być możliwy.

Na pokrewnej notatce - jedno pytanie brzmi, czy to wszystko warte kłopotów - jeśli miałoby się zbudować udaną stronę z takim VODem jak P2P, Adobe równie dobrze mógłby po prostu wyciąć linię (hackowanie czegoś podobnego do bez klipów filmowych SWF) z osadzonym wideo do załadowania z bytearrays ...).

Nadal staram się znaleźć pęknięcia, by osiągnąć p2p vod, na wypadek, gdyby ktoś był zainteresowany, zachęcamy do wysłania mi msg me @ [email protected] | sed -e 's/A/e /'

Powiązane problemy