ugrás a tartalomhoz

Streaming (letölthetetlen audio fájlok)

Liquid · 2005. Már. 31. (Cs), 04.02
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]
 
1

Szia, ha jól tudom, akkor

virág · 2005. Már. 31. (Cs), 08.10
Szia, ha jól tudom, akkor az MMS (Microsoft Media Server) használatához is külső alkalmazás kell, pl. a Mediaplyaer. Itt kipróbálhatod:

mms://www.fix.tv/fixdsl
2

Streaming MP3

Poetro · 2005. Már. 31. (Cs), 10.00
Flash alatt elég kényelmesen lehet mindezt megoldani, és az mp3 forrása is csak nagyon nehezen visszakövethető, de sajnos vannak még vele problémák.
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
3

Flash streaming

Liquid · 2005. Ápr. 1. (P), 06.08
Igen, jómagam is a Flash alapú megoldáson töröm a fejemet, ha erről bővebb tájékoztatást tudnál adni (esetleg leírások előnyökről és hátrányokról, buktatókról, stb.) akkor azt szívesen venném!

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. :))
4

Szia,

virág · 2005. Ápr. 1. (P), 09.03
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ó.
5

Flash

Poetro · 2005. Ápr. 1. (P), 11.09
Több megoldás is kínálkozik a dolog megoldására. Lehet próbálkozni a Flash beépített stream kezelésével, vagy saját stream kezelőt írni, ami jóval hatékonyabb tud lenni, mint a beépített megoldás. A alap megoldása se rossz, de sajna, ha nincs elég sávszélesség a folyamatos lejátszáshoz, akkor a zene egyes pontokon meg fog akadni, amíg nem érkezik be megfelelő mennyiségű adat a lejátszáshoz.
A saját megoldásban pont ezt érdemes elkerülni vmilyen prebufferelés elérésével.
classical = new Sound();
// 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
6

Miért nem keresel másik

Anonymous · 2005. Ápr. 28. (Cs), 16.21
Miért nem keresel másik szolgáltatót, aki tud ilyet nyújtani Neked?
Elég lenne, ha csak ezt nyújtja, nem kell a weboldalt elköltöztetni...

vamosb