Movieplayer und Videotext (VBI-Reinsertion)

Alles eine Frage des Images
minze
Neugieriger
Neugieriger
Beiträge: 6
Registriert: Samstag 5. Februar 2005, 10:16

Movieplayer und Videotext (VBI-Reinsertion)

Beitrag von minze »

Hallo ihr Tuxboxer! :)

Ich nehme die Filme mit Videotext auf. Ich brauche Videotext unbedingt wegen VT-Untertitelung. Denn ich bin hörgeschädigt.

Wenn die aufgenommene Filme (TS-File) mit Untertitel per Movieplayer abspielen will, dann muß ich immer Teletext-Plugin (rote Taste) aufrufen und dort VT-Seite abrufen. Aber die Qualität ist so schlecht. Mein Breitbild-Fernseher verzerrt manchmal auch VT. Das ist leider unschön. :(

Ich würde lieber VT per Fernseher einschalten und dort abrufen. Aber das ist wohl im Moment nicht möglich. Aber wenn die Streams abrufe, dann wird zuerst z.B. "Audio", "Audio (AC3)", "Teletext" angezeigt. D.h. für mich, dass der Movieplayer aus dem Streams erkennen kann, dass VT-Stream drin ist. :o

Ich glaube, es muß vom Treiberseite (DVB-API) so einfach sein, um VT (VBI-Reinsertion) einzufliessen/aktivieren.

Das ist mein größter Wunsch!! :lol:
minze
Neugieriger
Neugieriger
Beiträge: 6
Registriert: Samstag 5. Februar 2005, 10:16

Beitrag von minze »

Ich habe ein bisschen im Movieplayer recherchiert:

Code: Alles auswählen

ctx->dmxa = -1;
  ctx->dmxv = -1;
  ctx->dvr  = -1;
  ctx->adec = -1;
  ctx->vdec = -1;

Code: Alles auswählen

  ioctl(ctx->adec, AUDIO_PLAY);             // audio
  ioctl(ctx->vdec, VIDEO_PLAY);             // video

Code: Alles auswählen

  //-- start AV devices again --
  ioctl(ctx->adec, AUDIO_PLAY);             // audio
  ioctl(ctx->vdec, VIDEO_PLAY);             // video

Code: Alles auswählen

      //-- connect to (dbox) ts stream server --
      if ( (ctx->inFd = mp_tcpOpen(lstIt->ip.c_str(), lstIt->port)) != -1 )
      {
        //-- send command line (vpid/apid) --
        sprintf
        (
          ctx->dvrBuf, 
          "GET /0x%03x,0x%03x HTTP/1.0\r\n", 
          lstIt->vpid, lstIt->apid
        );

        mp_tcpRequest(ctx->inFd, ctx->dvrBuf, 512);
        if ( strstr(ctx->dvrBuf, "200 OK") == NULL )
        {
          mp_tcpClose(ctx->inFd);
          ctx->inFd = -1;
          break; // error
        }
        
        ctx->pidv     = lstIt->vpid;
        ctx->pida     = lstIt->apid;
        ctx->ac3      = 0;
      
        ctx->readSize = PF_BUF_SIZE/2;
      }

Da muß man irgendetwas machen...z.b. "ctx->vtdec", pidvt...usw.