Devi essere registrato per usare la shout!

Autore Topic: TVServer  (Letto 19352 volte)

Offline gianlucabruni68

  • Moderator
  • Utente
  • *****
  • Ringraziamenti
  • -lasciati: 0
  • -ricevuti: 0
  • Post: 279
  • Karma: 3
TVServer
« il: 02 Luglio 2009, 16:58:09 pm »
come detto, oggi ho installato il nuovo compilatore e quindi sono in grado di compilare il programma per Vista (EVR)
Come da soggetto, pero', qui voglio parlare di un argomento diverso: il TVServer

Lo stato attuale del progetto e' il seguente:
ho creato un filtro directshow che deve stare con il client e che si occupa della ricezione dei dati da network, mentre il TVServer invia questi dati in network.
Il problema e' nel timeshift/registrazione.
Questo e' un task che deve compiere il TVServer, che pertanto deve salvare su file i dati audiovideo.
Il formato del salvataggio e' il vero problema.
Attualmente mi sono inventato un formato proprietario (.gb) che puo' essere riletto dal filtro directshow, e la cosa funziona tranquillamente.
Pero' non so quanto sia bello avere dei files che possono essere letti soltanto da Chimera ...
Mi chiederete: perche' non salvarli in MPEG?

Per alcuni motivi:
1) non conosco il formato MPEG (header, formato dati nel file, ecc) e non mi voglio infognare in una problematica del genere
2) MPEG e' riduttivo: se in futuro chimera gestira' la TV HD, questo formato non andra' piu' bene e ci sarebbe da implementarne un altro (H264) ... altra rogna.

Con la soluzione .gb, io salvo sul file tutto quello che esce dal demux, sia esso MPEG o altro formato, e quindi questa soluzione dovrebbe essere immune al tipo di dati Audio Video.

Altra possibilita' e' quella di salvare le tracce audio e video separate (cioe' avere 2 files, 1 MPA ed 1 MPV) che poi possono essere multiplexati per avere un MPEG
Ho provato, e funziona, pero' c'e' un problema. I dati salvati non hanno informazioni di timestamp, pertanto non sono allineati. Il file mpeg risultante ha un ritardo dell'audio di circa 300 ms rispetto al video
Inoltre, ho paura che se per qualche motivo dei campioni vengono persi (e quindi non salvati nel file) questo shift potrebbe peggiorare ulteriormente.
Quindi non so se questa e' una strada percorribile.
Qualcuno si e' mai dilettato nella creazione di MPEG da MPA+MPV?
Altre idee?
Case: Silverstone LC16M | Front-End: Chimera | Telecomando: Del case | Tuner TV: Hauppauge HVR1300; Twinhan SAT 1034 | TV: VP Acer PD523

Offline Nephilim

  • Administrator
  • Esperto
  • *****
  • Ringraziamenti
  • -lasciati: 29
  • -ricevuti: 80
  • Post: 2940
  • Karma: 152
  • At The Gates Of Silent Memory
    • Nephilim Blog
Re:TVServer
« Risposta #1 il: 02 Luglio 2009, 17:17:15 pm »
Hai detto che salvi tutto quello che esce dal demux, che intendi? Audio e Video separato (ma non mi sembra)? O solo i PID audio e video del canale? Se salvi così com'è sei sicuro che non corrisponda al formato TS?

Bye,
Nephilim
« Ultima modifica: 05 Luglio 2009, 09:11:08 am da VincentD72 »
Case: ASRock Vision 3D | CPU: Intel Core i5-3210M Mobile Ivy Bridge | Front-End: Mediaportal 1.5 | Mainboard: ASRock VisionX | Scheda Grafica: AMD Radeon HD7850M | Telecomando: Logitech Harmony Touch Ultimate | Tuner TV: AnySee S2 + Hauppage DVBT | TV: Panasonic TX-P42VT30E
"...non mi faccio molte domande, non faccio progetti... bene o male di cose belle ne vengono fuori ogni giorno. Ogni tanto capitano anche cose meno belle... ma pazienza, dietro verrà qualcos'altro di bello!"
Paolo Palamara

Ti piace HTPCItalia? Fai una piccola .

Offline gianlucabruni68

  • Moderator
  • Utente
  • *****
  • Ringraziamenti
  • -lasciati: 0
  • -ricevuti: 0
  • Post: 279
  • Karma: 3
Re:TVServer
« Risposta #2 il: 02 Luglio 2009, 17:35:18 pm »
allora, ho la possibilita' di salvare tutto quello che esce dal tuner, ma prima del demux, e questo e' il formato TS che attualmente e' gia' implementato.
Invece intendevo dire proprio audio e video separati; cioe' dall'uscita del demux, ho 1 pin audio, 1 video, piu' altri .... questi pin audio e video vengono connessi ad decoders audio e video e poi renderizzati.
Ecco, io li salvo prima che vengano processati dai decoders.

ciao
Gianluca
Case: Silverstone LC16M | Front-End: Chimera | Telecomando: Del case | Tuner TV: Hauppauge HVR1300; Twinhan SAT 1034 | TV: VP Acer PD523

Offline Nephilim

  • Administrator
  • Esperto
  • *****
  • Ringraziamenti
  • -lasciati: 29
  • -ricevuti: 80
  • Post: 2940
  • Karma: 152
  • At The Gates Of Silent Memory
    • Nephilim Blog
Re:TVServer
« Risposta #3 il: 02 Luglio 2009, 18:16:16 pm »
Ok salvi il raw dei flussi audio/video. E' una possibilità... Certo reimpacchettarli al volo in ts non sarebbe male... ;)

A me è capitato di riconvertire un ts in mkv e, si è vero, può esserci un ritardo audio ma sembra rimanere costante. Quindi in fase di remux basta impostare un delay.

Bye,
Nephilim
 
Case: ASRock Vision 3D | CPU: Intel Core i5-3210M Mobile Ivy Bridge | Front-End: Mediaportal 1.5 | Mainboard: ASRock VisionX | Scheda Grafica: AMD Radeon HD7850M | Telecomando: Logitech Harmony Touch Ultimate | Tuner TV: AnySee S2 + Hauppage DVBT | TV: Panasonic TX-P42VT30E
"...non mi faccio molte domande, non faccio progetti... bene o male di cose belle ne vengono fuori ogni giorno. Ogni tanto capitano anche cose meno belle... ma pazienza, dietro verrà qualcos'altro di bello!"
Paolo Palamara

Ti piace HTPCItalia? Fai una piccola .

mancio2

  • Visitatore
Re:TVServer
« Risposta #4 il: 03 Luglio 2009, 09:17:08 am »
Non so quanto possa esserti utile, ma io continuamente demuxo i ts ( mpv + 2*mpa + srt ) e remuxo in mpg ( lasciando fuori l' srt ). In alternativa passo da avc+2*ac3 in mkv con un paio di passaggi in più.
Da quel che so comunque il delay è specificato nei pacchetti del ts e ribadito ogni tot. Posso esserti d'aiuto ?


Offline Nephilim

  • Administrator
  • Esperto
  • *****
  • Ringraziamenti
  • -lasciati: 29
  • -ricevuti: 80
  • Post: 2940
  • Karma: 152
  • At The Gates Of Silent Memory
    • Nephilim Blog
Re:TVServer
« Risposta #5 il: 03 Luglio 2009, 09:39:22 am »
Confermo quanto detto da mancio, quando usi un demux ts questo ti dice quanto è il delay dell'audio, quindi è scritto nel ts. Inoltre visto che gestisci direttamente i file raw potresti farli passare per un filtro di mux tipo l'Haali (quindi in MKV) prima di scriverli su disco, E fare il contrario quando li leggi hai provato?

A tal proposito su questo sito ci sono un paio di filtri, uno per il dump del flusso e un'altro per rileggerlo che (mi pare) fungono in ts...
http://www.dvbportal.de/projects/index.html

Anche questo sembra interessante: http://nate.dynalias.net/TSFileSource/TSFileSource.html

Se vuoi possiamo fare dei test.

Bye,
Nephilim
Case: ASRock Vision 3D | CPU: Intel Core i5-3210M Mobile Ivy Bridge | Front-End: Mediaportal 1.5 | Mainboard: ASRock VisionX | Scheda Grafica: AMD Radeon HD7850M | Telecomando: Logitech Harmony Touch Ultimate | Tuner TV: AnySee S2 + Hauppage DVBT | TV: Panasonic TX-P42VT30E
"...non mi faccio molte domande, non faccio progetti... bene o male di cose belle ne vengono fuori ogni giorno. Ogni tanto capitano anche cose meno belle... ma pazienza, dietro verrà qualcos'altro di bello!"
Paolo Palamara

Ti piace HTPCItalia? Fai una piccola .

Offline gianlucabruni68

  • Moderator
  • Utente
  • *****
  • Ringraziamenti
  • -lasciati: 0
  • -ricevuti: 0
  • Post: 279
  • Karma: 3
Re:TVServer
« Risposta #6 il: 04 Luglio 2009, 08:58:28 am »
e' vero, nel TS ci sono tutti i timestamps, e questa e' una possibilita' (intendo dire di salvare l'intero TS). Infatti, anche ora, quando si registra un programma si puo' scegliere se registrare il solo canale o l'intero TS.
Per quanto ne so, questo e' l'unico modo per vedere (registrate) le trasmissioni HDTV con la floppy.
Diverso invece e' il caso che descrivevo, ossia DOPO il demux. In questo caso, il demux estrae le tracce audio e video e su queste il timestamp mi sembra che non ci sia piu', e questo dovrebbe essere un grosso problema per rimuxarle
L'alternativa che avevo trovato era quel formato gb "proprietario" che mi sono inventato io; prima di salvare ciascun blocco A/V, scrivo un piccolo header indicando che tipo di blocco e', la lunghezza ed i timestamps.
In questo modo quando si rimanda in play il tutto e' corretto.
Sono costretto a fare cosi' in quanto devo avere un modo per gestire il timeshift da rete e quindi devo conoscere il formato dei dati su cui si lavora.
Il filtro TSFileSource l'ho provato, e funziona, pero' ha un problema.
Se si va a leggere un file ts mentre viene scritto dall'applicazione (ex, il tuner sta scrivendo il TS ed il viewer lo logge mentre il tuner lo scrive) questo appare avere una durata fino al momento il cui il viewer lo apre, anche se dopo l'apertura il writer continua a scriverlo.
Se per ex il tuner ha salvato 20 min di TS (e continua a scrivere), e lo apro con il viewer, questo mi fa vedere una durata di 20 min, la durata non aumenta man mano che il tuner continua a scriverci. Spero di essere stato chiaro.
In definitiva, ho provato varie soluzioni ma l'unica flessibile e' quella del formato gb, che mi da tutte le possibilita' in quanto sono io che decido il formato.

devo vedere ora i filtri che mi ha indicato Nephilim su DVBPortal, per vedere cosa sono

ciao
Gianluca

Case: Silverstone LC16M | Front-End: Chimera | Telecomando: Del case | Tuner TV: Hauppauge HVR1300; Twinhan SAT 1034 | TV: VP Acer PD523

mancio2

  • Visitatore
Re:TVServer
« Risposta #7 il: 04 Luglio 2009, 20:11:02 pm »
Attento, l'opzione che dici è fra registrare un solo canale e l'intero TP ( transponder ), il TS, tanto per ribadire è solo un container ( tipo mkv ) uilizzato principalmente per la diffusione proprio perchè è caratterizzato da un bel po' di overhead per sincronizzazione, correzione di errori e compagnia danzante, in modo che l'applicazione che lo visualizza possa regolarsi facilmente anche se perde dei pacchetti per la strada.
Il dubbio che abbiamo è che il .GB che usi sia abbastanza simile al ts che tu possa salvare anche direttamente in TS come fanno molti applicativi proprio perchè in questo modo non devono entrare nel merito di quanto viene trasmesso ma lo riversano direttamente su stream.
Il programma che fa il demux, proprio perchè queste informazioni "aggiuntive" vengono scartate, solitamente appende o in un log o nel nome dei file raw corrispondenti ai vari stream il delay rispetto alla traccia principale, generalmente il video. In questo modo la fase successiva di remux sfrutta le informazioni "passate" per ottenere un file di output sincronizzato.
Domanda: non puoi lasciare tutto quanta la baracca lavorare con i TS ?

Ciao, Mancio.

Offline gianlucabruni68

  • Moderator
  • Utente
  • *****
  • Ringraziamenti
  • -lasciati: 0
  • -ricevuti: 0
  • Post: 279
  • Karma: 3
Re:TVServer
« Risposta #8 il: 05 Luglio 2009, 18:20:07 pm »
giusto, in fondo anche il .gb e' solo un container dei dati, non mi sognerei mai di modificare lo stream audio e video.
Ho provato a lavorare con i TS, ma non ci sono riuscito.
Anche ora con questa release di chimera puoi provare nel seguente modo:
apri un canale DVB e scegli di registrare l'intero transponder.
CHiudi il modulo TV lasciando la registrazione in background e vai ad aprire dal modulo filmati il file ts che viene registrato.
Questo e' attualmente l'unico modo per vedere un canale HD.

Il sistema funziona, ci sono vari filtri che permettono di aprire il TS, ma non hanno tutti i requisiti necessari.
Per esempio, non tutti riescono ad aprire un file "aperto" (cioe' in cui vengono correntemente scritti i dati)
Chi ci riesce, poi, non ricalcola la nuova dimensione del file stesso, pertanto il .ts appare avere la durata del momento in cui viene aperto dal viewer, anche se poi il tuner continua ad aggiungerci i dati.
Altra cosa, il ts deve essere accessibile anche da rete -> problemi di banda.

La soluzione .gb evita molti di questi problemi; in fondo se anziche' .gb fosse .mpg tutto andrebbe bene, ma questo mi porta a due problemi insormontabili (almeno per me):
1) non so creare un file in formato MPEG
2) se anziche' un programma SD fosse un HD, ecco che l'mpeg non andrebbe piu' bene

Attualmente sto dando un'occhiata anche ai filtri della ELECARD, che sembrano simpatici, anche se non free.
In particolare hanno un demux compatibile h264 che dovrebbe permettere la visualizzazione online dei canali HDTV: questo sarebbe un bel passo avanti, almeno finche' da MS non viene fuori un demux che faccia la stessa cosa (al momento sembra che non ci sia)

Case: Silverstone LC16M | Front-End: Chimera | Telecomando: Del case | Tuner TV: Hauppauge HVR1300; Twinhan SAT 1034 | TV: VP Acer PD523

Offline sdf

  • Utente
  • ***
  • Ringraziamenti
  • -lasciati: 0
  • -ricevuti: 10
  • Post: 393
  • Karma: 13
Re:TVServer
« Risposta #9 il: 06 Luglio 2009, 08:52:52 am »
Giuanluca,
è sempre il solito problema.
Però mi sembra che Windows 7 gestisca il tutto con i files .wtv, che dovrebbe essere l'evoluzione del vecchio .dvr-ms, perché ora gestisce anche l'Hd (h264 ecc.).
Per forza di cose la Microsoft dovrebbe avere implementato dei filtri di demux (e di lettura dello stream) che gestiscano più formati, non solo l'mpeg come faceva il vecchio .dvr-ms.
Penso che questa sia la soluzione più semplice, trovare qualcosa sul formato .wtv.
ciao,
sdf
Case: Cooler Master Elite 360 | CPU: Intel i5-4440 | Front-End: DvbViewer-Mediaportal-LibreElec-NextPVR-SmartDVB | Mainboard: AsRock Z87M-Pro4 | Scheda Grafica: Radeon 5770 | Telecomando: HP MCE+Logitech 555 | Tuner TV: Pinnacle 3010iX + Terratec Cinergy S2 HD CI | TV: LG 49LF632

Offline gianlucabruni68

  • Moderator
  • Utente
  • *****
  • Ringraziamenti
  • -lasciati: 0
  • -ricevuti: 0
  • Post: 279
  • Karma: 3
Re:TVServer
« Risposta #10 il: 06 Luglio 2009, 17:57:10 pm »
che dire, anche su Win 7 non sembra che al momento funzioni il dvbs2
I files .wtv sembra che gestiscano anche altri formati, pero' mancano i filtri demultiplexer h264 che servirebbero per far andare la HDTV.

@Nephilim
Riguardo al filtro TSFileSource di cui mi avevi scritto, io l'avevo gia' visto a suo tempo e l'ho riprovato anche ora.
Non e' che non funzioni, pero' sul forum qualcuno scrive che era il filtro che usava in origine il tvserver di MP e che fu poi abbandonato a causa di alcuni problemi che aveva.
Per esempio io ho visto alcuni freeze nell'immagine quando dal filtro source si selezionano i vari canali del TS; questi blocchi possono durare diversi secondi, dopo di che lo stream viene agganciato.
Purtroppo dal sito del TSFileSource non si capisce se questo sia un progetto ancora in sviluppo o no, ne' tantomeno la data dell'ultima release rilasciata.
Peccato, perche' c'erano anche i sorgenti e sarebbe stato abbastanza semplice da utilizzare in chimera ...
Case: Silverstone LC16M | Front-End: Chimera | Telecomando: Del case | Tuner TV: Hauppauge HVR1300; Twinhan SAT 1034 | TV: VP Acer PD523

Offline Nephilim

  • Administrator
  • Esperto
  • *****
  • Ringraziamenti
  • -lasciati: 29
  • -ricevuti: 80
  • Post: 2940
  • Karma: 152
  • At The Gates Of Silent Memory
    • Nephilim Blog
Re:TVServer
« Risposta #11 il: 06 Luglio 2009, 18:25:14 pm »
Sembra esserci in giro una versione fixata. Te la allego...

Bye,
Nephilim



[allegato eliminato da un amministratore]
Case: ASRock Vision 3D | CPU: Intel Core i5-3210M Mobile Ivy Bridge | Front-End: Mediaportal 1.5 | Mainboard: ASRock VisionX | Scheda Grafica: AMD Radeon HD7850M | Telecomando: Logitech Harmony Touch Ultimate | Tuner TV: AnySee S2 + Hauppage DVBT | TV: Panasonic TX-P42VT30E
"...non mi faccio molte domande, non faccio progetti... bene o male di cose belle ne vengono fuori ogni giorno. Ogni tanto capitano anche cose meno belle... ma pazienza, dietro verrà qualcos'altro di bello!"
Paolo Palamara

Ti piace HTPCItalia? Fai una piccola .

Offline sdf

  • Utente
  • ***
  • Ringraziamenti
  • -lasciati: 0
  • -ricevuti: 10
  • Post: 393
  • Karma: 13
Re:TVServer
« Risposta #12 il: 10 Luglio 2009, 08:27:36 am »
che dire, anche su Win 7 non sembra che al momento funzioni il dvbs2
Gianluca, le voci sembrano contrastanti, guarda qui: http://www.hauppauge.co.uk/board/showthread.php?t=17012.
Mi sembrerebbe strano che w7mc non supporti il dvb-s2 anche perché (non so se sto dicendo cavolate) la gestione dvb-t/s/s2/c dovrebbe essere pertinenza più della parte hardware/drivers, lasciando al software il demuxing/decoding dei flussi.
Insomma, se lo standard supportato dal tuner è s2, non vedo perché usando un tuner s2 teoricamente qualsiasi software non possa essere in grado di riprodurre il flusso.
ciao,
sdf
Case: Cooler Master Elite 360 | CPU: Intel i5-4440 | Front-End: DvbViewer-Mediaportal-LibreElec-NextPVR-SmartDVB | Mainboard: AsRock Z87M-Pro4 | Scheda Grafica: Radeon 5770 | Telecomando: HP MCE+Logitech 555 | Tuner TV: Pinnacle 3010iX + Terratec Cinergy S2 HD CI | TV: LG 49LF632

Offline gianlucabruni68

  • Moderator
  • Utente
  • *****
  • Ringraziamenti
  • -lasciati: 0
  • -ricevuti: 0
  • Post: 279
  • Karma: 3
Re:TVServer
« Risposta #13 il: 10 Luglio 2009, 09:23:17 am »
Citazione
Mi sembrerebbe strano che w7mc non supporti il dvb-s2 anche perché (non so se sto dicendo cavolate) la gestione dvb-t/s/s2/c dovrebbe essere pertinenza più della parte hardware/drivers, lasciando al software il demuxing/decoding dei flussi.

E' proprio quello il problema!
La scheda sat funziona in dvbs2, cioe' sono in grado di sintonizzare i canali, pero' non sono in grado di vedere la live TV in quanto su M$ non esiste un demuxing H264.
L'unico demultiplexer disponibile e'  MPEG-2 Demultiplexer che come dice il nome demultiplexa MPEG-2.
Io speravo che a dispetto del nome, demultiplexasse anche H264, pero' non sembra sia cosi'
In sostanza, quello che manca e' un demultiplexer H264. Una soluzione utilizzabile e' con i filtri della Elecard, che includono anche il demux h264.
Di questi filtri forniscono anche la documentazione e l'sdk, pero' sono a pagamento (ci vogliono 300 $ per l'acquisto).
Con questi filtri sarebbe possibile ottenere tutto quello che fa il ProgDVB Elecard Edition (visione canali HD, streaming in rete, timeshift, rec, ecc)
Case: Silverstone LC16M | Front-End: Chimera | Telecomando: Del case | Tuner TV: Hauppauge HVR1300; Twinhan SAT 1034 | TV: VP Acer PD523

mancio2

  • Visitatore
Re:TVServer
« Risposta #14 il: 10 Luglio 2009, 09:39:33 am »
Non puoi usare l' haali splitter che è free ? Già che ci sono, hai mica le impostazioni per la TT dvbs2-3600 ? Ho provato con quelle della 3200 ma non funziona...