PDA

View Full Version : Need Help Script x Video Acquiring & Streaming


Alexxio
12-03-2006, 11:22
Ciao, chiedo la vostra esperta mano e anke il vostro esperto cervello :D per fare una cosa fighissimissimissima...
In pratica, voglio prendere il video che mi arriva in live streaming da una pagina web (cioè tipo da rossoalice, ma non vi preoccupate della legalità,non voglio fare niente di male!! :cool: ) e mandarlo in streaming su un'altra pagina web del mio sito, opportunamente allestita...
per il momento non riesco a capire con che mezzi è possibile fare una cosa del genere, ma credo si possa fare vero? :D
mi date una mano per capire come poter fare una cosa del genere? grazie baby

Alexxio
13-03-2006, 11:38
nessuno?

-fidel-
13-03-2006, 14:52
Ciao, chiedo la vostra esperta mano e anke il vostro esperto cervello :D per fare una cosa fighissimissimissima...
In pratica, voglio prendere il video che mi arriva in live streaming da una pagina web (cioè tipo da rossoalice, ma non vi preoccupate della legalità,non voglio fare niente di male!! :cool: ) e mandarlo in streaming su un'altra pagina web del mio sito, opportunamente allestita...
per il momento non riesco a capire con che mezzi è possibile fare una cosa del genere, ma credo si possa fare vero? :D
mi date una mano per capire come poter fare una cosa del genere? grazie baby

Sì. La cosa più "semplice" che mi viene in mente (in verità ho già implementato un programma analogo in passato, e funziona bene), è una sorta di "proxy" che si connette alla fonte multimediale (il file sul server) con socket TCP, legge i dati a pacchetti e li mette a disposizione di un player che supporti il file di origine (se ad esempio il file è un mp3 che si trova su una pagina html, il programma deve supportare tale tipo di file su connessione remota (in questo caso, tutti i player ne sono in grado).
Devi poi gestire situazioni particolari, come ad esempio il fatto che la pagina html di destinazione del flusso può non essere collegata quando prelevi il flusso dalla sorgente (in questo caso devi bufferizzare il flusso).
Concettualmente, il proxy si sostituisce al browser per la ricezione del flusso audio/video. Per far questo, il prerequisito è una buona conoscenza dei socket e delle connessioni TCP/IP.

Ciao ;)

EDIT: leggo "rossoalice": immagino quindi che tu voglia leggere lo stream da una locazione del server accessibile tramite autenticazione. In questo caso, il tuo proxy deve anche implementare (almeno in parte) il protocollo applicativo HTTP (1.1 o 2.0) per poter accedere allo stream, proprio come se fosse un browser. Un buon punto di partenza è "sniffare" i pacchetti inviati dal tuo browser al server "rossoalice" per vedere quali messaggi ti servono (così da restringere lo studio del protocollo HTTP solo a quello che realmente ti serve). Lo sniffer puoi tranquillamente programmarlo tu (facile) oppure scricarne uno già fatto, li trovi facilmente sul web.

EDIT 2: potrebbe venirti in mente di interfacciarti direttamente all'applicazione che esegue il flusso sul browser (normalmente in Win si tratta di Windows Media Player): in questo caso la cosa si fa più complicata, perchè:

1) Hai bisogno di un prerequisito: il player deve mettere a disposizione un metodo di comunicazione interprocesso (stile DDE ad esempio) ed esporre i suoi dati dall'esterno: questo dipende dal player in uso
2) Il programma che si interfaccia al player per leggerne i dati in arrivo deve "legarsi" al processo avviato dal browser per poter comunicare (non è semplicissimo, dal momento che il processo del player non viene lanciato dal tuo programma, ma dall'esterno (in questo caso dal browser tramite un plugin), quindi devi controllare dinamicamente i processi in esecuzione sul pc).

Alexxio
13-03-2006, 15:05
ok...avrei solo un altro migliaio di domande da porti :D

se è possibile, preferirei lasciare l'autenticazione sul server, così i client possono direttamente collegarsi allo streming...
ma in pratica, tutto quello che hai detto, come può e deve essere fatto? cioè il fulcro di tutto è prelevare lo streaming originale da rossoalice...come posso farlo?

ps:se hai fatto qlcs già in passato del genere, nn è che mi fai dare un'occhiata per vedere come procedere?spero che non serva molto tempo perchè il grande fratello finisce tra un mese!! :D:D:D :ciapet:
datemi una manina! :p

-fidel-
13-03-2006, 15:09
ok...avrei solo un altro migliaio di domande da porti :D

se è possibile, preferirei lasciare l'autenticazione sul server, così i client possono direttamente collegarsi allo streming...
ma in pratica, tutto quello che hai detto, come può e deve essere fatto? cioè il fulcro di tutto è prelevare lo streaming originale da rossoalice...come posso farlo?

ps:se hai fatto qlcs già in passato del genere, nn è che mi fai dare un'occhiata per vedere come procedere?spero che non serva molto tempo perchè il grande fratello finisce tra un mese!! :D:D:D :ciapet:
datemi una manina! :p

Spe, l'autenticazione mi pare sia necessaria per accedere al flusso presente sul server di rossoalice. Vuoi fare da ripetitore di uno stream a cui si accede tramite autenticazione (con abbonamento, ecc.) oppure pubblicamente disponibile?

EDIT: aaah grande fratello! Allora non ce la fai in un mese, a meno che non hai una buona conoscenza della programmazione socket e dell'autenticazione HTTP L'autenticazione è allora necessaria).

EDIT 2: Mi spiace ma non posso proprio, quello che vuoi fare non è legale...

-fidel-
13-03-2006, 15:13
Dimenticavo: il programma che ho fatto a suo tempo è in C, però si collega ad uno stream pubblico (lettura di un file via HTTP): fare questo, ma su un server con autenticazione (magari https con cifratura) richiede lavoro aggiuntivo.

Comunque posso darti una mano dal punto di vista di una normale implementazione, non posso passarti il codice per una cosa del genere :)

Alexxio
13-03-2006, 15:40
come programmazione sui socket lo so fare bene in java, qualcosina in c..
se ciò che voglio fare non è legale lascio perdere, ma non mi sembra...in pratica vorrei sharare il mio abbonamento al gf...cmq è anke per sfizio personale...
per quanto riguarda l'autenticazione, non sapendo come implementare il tutto non so spiegarmi bene, hai presente come funziona rossoalice ?
in pratica inserisci username e pwd e parte il mediaplayer (tramite il plugin del browser) con il video...e da lì io dovrei in qualche modo inviarlo...

ps:mi farebbe piacere vedere il tuo programma giusto per imparare, eddai eddai eddai ti prometto che non lo uso :D:D:D:D giuro

-fidel-
13-03-2006, 16:02
come programmazione sui socket lo so fare bene in java, qualcosina in c..
se ciò che voglio fare non è legale lascio perdere, ma non mi sembra...in pratica vorrei sharare il mio abbonamento al gf...cmq è anke per sfizio personale...
per quanto riguarda l'autenticazione, non sapendo come implementare il tutto non so spiegarmi bene, hai presente come funziona rossoalice ?
in pratica inserisci username e pwd e parte il mediaplayer (tramite il plugin del browser) con il video...e da lì io dovrei in qualche modo inviarlo...

ps:mi farebbe piacere vedere il tuo programma giusto per imparare, eddai eddai eddai ti prometto che non lo uso :D:D:D:D giuro

Il mio programma è in C, se sei abituato al Java dubito che possa esserti di aiuto. Comunque il mio programma prevede una fonte pubblica, non una fonte accessibile tramite autenticazione.
Ah, comunque ti avverto che l'abbonamento rossoalice è personale, e non ti permette (almeno mi pare sia così), di fare ciò che tu vuoi (magari! sennò lo avrebbero già fatto :D)

EDIT: Premesso che il proxy "ripetitore" deve girare su una macchina con ip pubblico (con ADSL sei a posto, o se hai fastweb, può essere visto dagli altri utenti Fastweb (ma solo quelli) se non hai ip pubblico) e i fruitori devono poi collegarsi su quel proxy direttamente con un mediaplayer (puoi sempre rendere il contenuto accessibile da una pagina html però).
Dimenticavo, il mio programma è scritto per linux, anche se il codice è facilmente compilabile anche su Win (basta qualche piccola modifica e l'inclusione di winsock2.h).

Alexxio
13-03-2006, 21:48
Il mio programma è in C, se sei abituato al Java dubito che possa esserti di aiuto. Comunque il mio programma prevede una fonte pubblica, non una fonte accessibile tramite autenticazione.
Ah, comunque ti avverto che l'abbonamento rossoalice è personale, e non ti permette (almeno mi pare sia così), di fare ciò che tu vuoi (magari! sennò lo avrebbero già fatto :D)

EDIT: Premesso che il proxy "ripetitore" deve girare su una macchina con ip pubblico (con ADSL sei a posto, o se hai fastweb, può essere visto dagli altri utenti Fastweb (ma solo quelli) se non hai ip pubblico) e i fruitori devono poi collegarsi su quel proxy direttamente con un mediaplayer (puoi sempre rendere il contenuto accessibile da una pagina html però).
Dimenticavo, il mio programma è scritto per linux, anche se il codice è facilmente compilabile anche su Win (basta qualche piccola modifica e l'inclusione di winsock2.h).

si, sono su adsl quindi per quello nessun problema...boh per il resto cerco di capire come hai implementato il proxy e da lì poi mi regolo...