Streaming (letölthetetlen audio fájlok)
Audio fájlokat szeretnék streamingelni. Olyan megoldáson gondolkodtam, melyet magán az oldalon belül lehet elérni. [Nem külön RealPlayer, vagy hasonló programok segítségével!]
A lényeg, hogy streamingelni szeretnék bizonyos audio fájlokat, olyanokat, melyeket egy egyszerű http protokollon keresztül nem lehet letölteni.
Rátaláltam a már sok helyen használt MMS protokollra, de ezt még nem ismerem, s erre vonatkozó információkat nemigen találtam neten.
Továbbá a hosting szolgáltatónk nem rendelkezik külön streaming szerverrel, ezért az alábbi megoldásokat találtam:
Egy az oldalon beépített mp3-at lejátszó Flash moziklip egy PHP fájl segítségével paraméterként megkapná az adott lejátszandó fájl URL-jét, s ezzel a módszerrel nem [vagy csak nagyon nehezen] lehetne visszakeresni az mp3-ak valódi helyét.
A sávszélesség-használat csökkentésére pedig leginkább egy Ogg Vorbis fájl lenne a megoldás, de úgy tudom, hogy a Flash [jelenleg] nem képes az ilyen fájlok lejátszására.
Van valakinek más [hasznosabb, praktikusabb] ötlete? [RealPlayer, ShoutCast, stb. kizárva!]
Ha valaki tudna használható forrást az MMS protokollal kapcsolatban, akkor megkérném, h bocsássa közkézre! :) (Vagy úgy általában, Ti milyen megoldást használtok?)
Köszönöm!
Liquid [Eclipse]
■ A lényeg, hogy streamingelni szeretnék bizonyos audio fájlokat, olyanokat, melyeket egy egyszerű http protokollon keresztül nem lehet letölteni.
Rátaláltam a már sok helyen használt MMS protokollra, de ezt még nem ismerem, s erre vonatkozó információkat nemigen találtam neten.
Továbbá a hosting szolgáltatónk nem rendelkezik külön streaming szerverrel, ezért az alábbi megoldásokat találtam:
Egy az oldalon beépített mp3-at lejátszó Flash moziklip egy PHP fájl segítségével paraméterként megkapná az adott lejátszandó fájl URL-jét, s ezzel a módszerrel nem [vagy csak nagyon nehezen] lehetne visszakeresni az mp3-ak valódi helyét.
A sávszélesség-használat csökkentésére pedig leginkább egy Ogg Vorbis fájl lenne a megoldás, de úgy tudom, hogy a Flash [jelenleg] nem képes az ilyen fájlok lejátszására.
Van valakinek más [hasznosabb, praktikusabb] ötlete? [RealPlayer, ShoutCast, stb. kizárva!]
Ha valaki tudna használható forrást az MMS protokollal kapcsolatban, akkor megkérném, h bocsássa közkézre! :) (Vagy úgy általában, Ti milyen megoldást használtok?)
Köszönöm!
Liquid [Eclipse]
Szia, ha jól tudom, akkor
mms://www.fix.tv/fixdsl
Streaming MP3
Ha visszakövethetelennek szeretnéd, akkor érdemes csak php-n, vagy vmi szerver oldali cuccon át küldeni a fájlt. A Streaming előtt akár csinálhatsz preload-ot is, mondjuk ezt neked kell megoldani. Nekünk mindenesetre sikerült még anno az EMI weboldalán.
Ha Flash-es megoldás érdekelne további részletekről is tudok beszélni.
Az egyik legkényelmesebb megoldás persze a stream szerver működtetése lenne, de sajnos erre nincs mód, mint írtad. Pedig ekkor élő adást is lehetne sugározni, ami a többi módszerrel szinte lehetetlen.
Az MMS-hez, amennyiben én tudom szintén egy szerver kell, amit jelenleg csak a M$ tud szolgáltatni. Sajnos a protokol leírása sehol nem került publikálásra egyenlőre, ahogy a http://sdp.ppona.com/ oldal írja. Persze ha azóta vmi változott arról nem tudok.
--------
Poetro
Flash streaming
Köszönettel:
Liquid [Eclipse]
ps:
Amúgy a teljes visszakövethetetlenség nem élet-halál kérdése, de nem hiszem, hogy valaki pl visszakeresné a böngésző memóriájában a megfelelő URL-t. (Más lehetőség hirtelen nem jutott eszembe. :))
Szia,
nem próbáltam még soha és nem tudom milyen minőségü, de a PHP-hoz készült MING kiterjesztés ha jól tudom támogatja az mp3 fájlok megnyitását szerverről.
http://hu.php.net/manual/hu/function.swfmovie.streammp3.php
Nem tudom mennyire használható.
Flash
A saját megoldásban pont ezt érdemes elkerülni vmilyen prebufferelés elérésével.
// elindítjuk az mp3 letöltését, isStreaming paraméter pedig true
classical.loadSound("http://server.com/mp3s/beethoven.mp3", true);
Ezzel ugye megtörténik a hang betöltődésének elindítása. A prebufferelést persze meg kell oldani. Ha ismert az MP3 hossza (másodpercben), akkor becsülhető a letöltési idő az eddig letöltött anyag és eltelt idő függvényében. Azért mondom, hogy becsülhető, mert a sávszélesség időről időre változhat (multitasking miatt egyszerre többféle letöltés indítható, ami arányosan, vagy aránytalanul, de csökkenti az mp3 letöltés számára rendelkezésre álló sávszélességet). Ha megvan a becsült sávszélesség adat (amit akár időről időre újrabecsülhetünk, mondjuk másodpercenként), akkor a hátralevő letöltendő mennyiség és a zene hosszának ismeretében amikor elegendő adat áll rendelkezésre a prebufferben a megszakadásmentes lejátszéshoz, akkor érdemes elindítani a lejátszást (itt érdemes olyan 10-15 % ráhagyást engedni, hogy biztosan letöltődjön az anyag, vagy az előzetes becslés(ek) alapján a legrosszabbal vagy egy átlaggal számolni). A bufferelés ezután már folyamatos, és ha jók voltak a becsélseink, akkor a lejászás folyamatos lesz, és a letöltés pár pillanattal hamarabb fejeződik be, mint a lejátszás.
Az mp3 elrejtésére pedig a következőt ajánlanám: az mp3-at ne közvetlenül szolgáld ki, mert egyes letöltésvezérlők (ilyen pl. a GetRight), ha mp3-al találkoznak, akkor átveszik a letöltés kezelését a böngészőtől, és letöltik az fájlt egy az egyben a gépre, és a Flash hozzá se jut.
Másik dolog, hogy érdemes az mp3-at olyan helyre helyezni a szerveren, ami közvetlenül a webről nem elérhető, csak a php-n keresztül, és ekkor még véletlenül se kerülhet letöltésre a php meghívása nélkül.
A php-ban ekkor sok egyé dolgot lehet figyelni. Pl statisztikákat lehet készíteni, melyik fájlt hányszor, kicsoda (már amennyiben jelszóhoz kött a dolog), mikor töltötte le a fájlt. Másik dolog, hogy akár a Flashnek átadhatunk egy mindig változó paramétert, amit mondjuk session-ben tárolunk php oldalon, és ezt a pramétert fogja átadni a Flash a php-nak. Ezzel elkerülhető, hogy bármikor letöltőthesse az mp3-at, csak akkor teheti meg, ha rendelkezik már az illető a megfelelő session változóval. Persze további hasonl trükköket lehet alkalmazni a biztonság tekintetében.
Remélem ez már elég kielégítő válasz volt, és felébresztett benned pár megoldást is.
--------
Poetro
Miért nem keresel másik
Elég lenne, ha csak ezt nyújtja, nem kell a weboldalt elköltöztetni...
vamosb