Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[linux-dvb] Re: Any way to mux two PES streams/files to a PS stream?



Hello Patrick 

Thanks for your answer and the patch, however the problem is that it's about 
ES streams (i.e. streams without PES sync information) or am I totaly off :). 
I mean the input type as I see it says ES_STREAM and not PES_STREAM ;-).

The extracted files from the tivo will either be:
- separate PES streams (files) one for Video and one (or more) for Audio. 
- a muxed PES stream (file) containing both video and audio. --NOTE--: The 
muxed stream has no PS information what so ever!

Anyways I must say thanks once again for replying!

Cheers Olaf

On Saturday 19 October 2002 01:35, Patrick GUENEAU wrote:
> hello Olaf,
>
> In mpegtools packaged with linux-dvb driver you can find mplex program
> which can do what you want.
>
> The doc says it can mux 1 video + 1 audio but in fact, the subroutines
> are able to handle 2 audio PES streams. Have a look at the code (domplex
> subroutine).
>
> In case it may help you, here is a patch I proposed more a few months
> ago in this Maillist:
>
> You may need to adapt this patch to the latest mplex version as it may
> have changed a bit.
>
> ========================================================================
> --- mplex.cpp   Wed Jun 27 14:21:48 2001
> +++ ../../../DVB/apps/mpegtools/mplex.cpp       Fri May 10 23:45:29 2002
> @@ -240,7 +240,7 @@
>          printf ("  --help,             -h:  print help message\n");
>          printf ("  --type,             -t:  set output type (MPEG2, DVD,
> SVCD (default), MPEG1, VCD, XSVCD)\n");
>          printf ("  --of,               -o:  set output file\n");
> -       printf ("  --input_stream,     -i:  set input stream type
> (PS_STREAM (default), TS_STREAM, ES_STREAM (needs 2 input files audio
> video))\n");
> +       printf ("  --input_stream,     -i:  set input stream type
> (PS_STREAM (default), TS_STREAM, ES_STREAM (needs 2 or 3 input files
> <audio1> [ <audio2> ] <video>))\n");
>          printf ("  --temp_dir,         -d:  directory for temporary
> demux files\n");
>          printf ("  --audio_delay,      -a:  set audio delay in ms\n");
>          printf ("  --video_delay,      -v:  set video delay in ms\n");
> @@ -332,6 +332,10 @@
>          } else if (optind == argc-2 && !strcmp(inpt,"ES_STREAM")) {
>                  strcpy(AudioFilename,argv[optind]);
>                  strcpy(VideoFilename,argv[optind+1]);
> +       } else if (optind == argc-3 && !strcmp(inpt,"ES_STREAM")) {
> +               strcpy(AudioFilename,argv[optind]);
> +               strcpy(Audio1Filename,argv[optind+1]);
> +               strcpy(VideoFilename,argv[optind+2]);
>          } else {
>                  usage(argv[0]);
>          }
> @@ -404,7 +408,11 @@
>          if (ptsdiff > 0) video_delay_ms += ptsdiff/90;
>          else audio_delay_ms += -ptsdiff/90;
>
> -       domplex(1,1);
> +       if (strlen(Audio1Filename))
> +          domplex(1,2);
> +        else
> +          domplex(1,1);
> +
>          if (strcmp(inpt,"ES_STREAM")){
>                  unlink(AudioFilename);
>                  unlink(VideoFilename);
>
> ========================================================================
>
> Have fun !!
>
> Patrick.
>
> Olaf Beck wrote:
> > Hello Folks,
> >
> > I'm doing some work with a proprietary MPEG stream (TIVO - DirecTv). The
> > PS stream or what ever you would like to call it is of proprietary nature
> > but the PES stream is following the MPEG specs to some extent.
> >
> > I now have code in a early stage and it looks like it will be quite easy
> > to extract two PES streams from the "TIVO-PS" stream. One audio (either
> > AC3 or MPEG)  and one Video. I want to extact the PES stream since it
> > will enable me to keep the PTS information so the final PS stream is in
> > sync.
> >
> > Now for what all I have seen in forms of Open Source muxers is muxers
> > that only can mux ES streams or at least thats what a quick look tells
> > me. Does anyone know of a way to mux PES streams?
> >
> > Cheers Olaf
> >
> > PS: Yes, I could naturally modify a OSS muxer to take to PES streams but
> > I rather spend time coding on the extraction.



-- 
Info:
To unsubscribe send a mail to listar@linuxtv.org with "unsubscribe linux-dvb" as subject.



Home | Main Index | Thread Index