ts video pipe

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

ts video pipe

th.tom
Hi,

I try to figure that out from the net, but with no success :(, so I gonna ask here (I am really a newby at gstreamer):

I have a file containing only the ts video stream (PID 0x1111 in that special case), which is an mpeg2 stream from dvb-t.

When I try to play that with mplayer ( SVN-r1.0~rc3+svn20090426-4.4.3 - Ubuntu 10.4) It says (see 1-- below) and the video is displayed.

So I tried to play it with gstreamer and it fails:

--- snipp ------
gst-launch-0.10 -v filesrc location=Das\ Erste.ts ! mpegtsdemux name=demux demux.video_4369 ! mpeg2dec ! xvimagesink
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
ERROR: from element /GstPipeline:pipeline0/GstMpegTSDemux:demux: Could not determine type of stream.
Additional debug info:
gstmpegtsdemux.c(2679): gst_mpegts_demux_sink_event (): /GstPipeline:pipeline0/GstMpegTSDemux:demux:
No valid streams found at EOS
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
Freeing pipeline ...
--- snipp ------

When I tried typefind, it recognizes the stream:

--- snipp ------
gst-launch-0.10 -v filesrc location=Das\ Erste.ts ! typefind ! mpegtsdemux ! fakesink
Setting pipeline to PAUSED ...
/GstPipeline:pipeline0/GstTypeFindElement:typefindelement0.GstPad:src: caps = video/mpegts, systemstream=(boolean)true, packetsize=(int)188
Pipeline is PREROLLING ...
/GstPipeline:pipeline0/GstMpegTSDemux:mpegtsdemux0.GstPad:sink: caps = video/mpegts, systemstream=(boolean)true, packetsize=(int)188
ERROR: from element /GstPipeline:pipeline0/GstMpegTSDemux:mpegtsdemux0: Could not determine type of stream.
Additional debug info:
gstmpegtsdemux.c(2679): gst_mpegts_demux_sink_event (): /GstPipeline:pipeline0/GstMpegTSDemux:mpegtsdemux0:
No valid streams found at EOS
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
/GstPipeline:pipeline0/GstMpegTSDemux:mpegtsdemux0.GstPad:sink: caps = NULL
/GstPipeline:pipeline0/GstTypeFindElement:typefindelement0.GstPad:src: caps = NULL
Freeing pipeline ...
--- snipp ------

Is this the correct way to use the mpegts pipe?
What am I doing wrong? I do not find any proper information for mpegtsdemux :-(




1--

#mplayer Das\ Erste.ts

MPlayer SVN-r1.0~rc3+svn20090426-4.4.3 (C) 2000-2009 MPlayer Team
mplayer: could not connect to socket
mplayer: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.

Playing Das Erste.ts.
TS file format detected.
VIDEO MPEG2(pid=4369) NO AUDIO!  NO SUBS (yet)!  PROGRAM N. 0
VIDEO:  MPEG2  720x576  (aspect 3)  25.000 fps  7000.0 kbps (875.0 kbyte/s)
open: No such file or directory
[MGA] Couldn't open: /dev/mga_vid
open: No such file or directory
[MGA] Couldn't open: /dev/mga_vid
[VO_TDFXFB] Can't open /dev/fb0: Permission denied.
[VO_3DFX] Unable to open /dev/3dfx.
==========================================================================
Opening video decoder: [mpegpes] MPEG 1/2 Video passthrough
VDec: vo config request - 720 x 576 (preferred colorspace: Mpeg PES)
Could not find matching colorspace - retrying with -vf scale...
Opening video filter: [scale]
The selected video_out device is incompatible with this codec.
Try appending the scale filter to your filter list,
e.g. -vf spp,scale instead of -vf spp.
VDecoder init failed :(
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Unsupported PixelFormat -1
Selected video codec: [ffmpeg2] vfm: ffmpeg (FFmpeg MPEG-2)
==========================================================================
Audio: no sound
Starting playback...
VDec: vo config request - 720 x 576 (preferred colorspace: Planar YV12)
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is 1.78:1 - prescaling to correct movie aspect.
VO: [xv] 720x576 => 1024x576 Planar YV12
V:31652.7  77/ 77  7%  0%  0.0% 0 0
Exiting... (Quit)

------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: ts video pipe

Sudarshan Bisht
Hi ,
 
Try following ;
 
gst-launch filesrc location=Das\ Erste.ts  ! decodebin ! xvimagesink
 


 
On Wed, Jul 14, 2010 at 12:23 AM, <[hidden email]> wrote:
Hi,

I try to figure that out from the net, but with no success :(, so I gonna ask here (I am really a newby at gstreamer):

I have a file containing only the ts video stream (PID 0x1111 in that special case), which is an mpeg2 stream from dvb-t.

When I try to play that with mplayer ( SVN-r1.0~rc3+svn20090426-4.4.3 - Ubuntu 10.4) It says (see 1-- below) and the video is displayed.

So I tried to play it with gstreamer and it fails:

--- snipp ------
gst-launch-0.10 -v filesrc location=Das\ Erste.ts ! mpegtsdemux name=demux demux.video_4369 ! mpeg2dec ! xvimagesink
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
ERROR: from element /GstPipeline:pipeline0/GstMpegTSDemux:demux: Could not determine type of stream.
Additional debug info:
gstmpegtsdemux.c(2679): gst_mpegts_demux_sink_event (): /GstPipeline:pipeline0/GstMpegTSDemux:demux:
No valid streams found at EOS
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
Freeing pipeline ...
--- snipp ------

When I tried typefind, it recognizes the stream:

--- snipp ------
gst-launch-0.10 -v filesrc location=Das\ Erste.ts ! typefind ! mpegtsdemux ! fakesink
Setting pipeline to PAUSED ...
/GstPipeline:pipeline0/GstTypeFindElement:typefindelement0.GstPad:src: caps = video/mpegts, systemstream=(boolean)true, packetsize=(int)188
Pipeline is PREROLLING ...
/GstPipeline:pipeline0/GstMpegTSDemux:mpegtsdemux0.GstPad:sink: caps = video/mpegts, systemstream=(boolean)true, packetsize=(int)188
ERROR: from element /GstPipeline:pipeline0/GstMpegTSDemux:mpegtsdemux0: Could not determine type of stream.
Additional debug info:
gstmpegtsdemux.c(2679): gst_mpegts_demux_sink_event (): /GstPipeline:pipeline0/GstMpegTSDemux:mpegtsdemux0:
No valid streams found at EOS
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
/GstPipeline:pipeline0/GstMpegTSDemux:mpegtsdemux0.GstPad:sink: caps = NULL
/GstPipeline:pipeline0/GstTypeFindElement:typefindelement0.GstPad:src: caps = NULL
Freeing pipeline ...
--- snipp ------

Is this the correct way to use the mpegts pipe?
What am I doing wrong? I do not find any proper information for mpegtsdemux :-(




1--

#mplayer Das\ Erste.ts

MPlayer SVN-r1.0~rc3+svn20090426-4.4.3 (C) 2000-2009 MPlayer Team
mplayer: could not connect to socket
mplayer: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.

Playing Das Erste.ts.
TS file format detected.
VIDEO MPEG2(pid=4369) NO AUDIO!  NO SUBS (yet)!  PROGRAM N. 0
VIDEO:  MPEG2  720x576  (aspect 3)  25.000 fps  7000.0 kbps (875.0 kbyte/s)
open: No such file or directory
[MGA] Couldn't open: /dev/mga_vid
open: No such file or directory
[MGA] Couldn't open: /dev/mga_vid
[VO_TDFXFB] Can't open /dev/fb0: Permission denied.
[VO_3DFX] Unable to open /dev/3dfx.
==========================================================================
Opening video decoder: [mpegpes] MPEG 1/2 Video passthrough
VDec: vo config request - 720 x 576 (preferred colorspace: Mpeg PES)
Could not find matching colorspace - retrying with -vf scale...
Opening video filter: [scale]
The selected video_out device is incompatible with this codec.
Try appending the scale filter to your filter list,
e.g. -vf spp,scale instead of -vf spp.
VDecoder init failed :(
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Unsupported PixelFormat -1
Selected video codec: [ffmpeg2] vfm: ffmpeg (FFmpeg MPEG-2)
==========================================================================
Audio: no sound
Starting playback...
VDec: vo config request - 720 x 576 (preferred colorspace: Planar YV12)
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is 1.78:1 - prescaling to correct movie aspect.
VO: [xv] 720x576 => 1024x576 Planar YV12
V:31652.7  77/ 77  7%  0%  0.0% 0 0
Exiting... (Quit)

------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel



--
Regards,

Sudarshan Bisht

------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: ts video pipe

Zaheer Merali-2
In reply to this post by th.tom
On Tue, Jul 13, 2010 at 7:53 PM,  <[hidden email]> wrote:
> Hi,
>
> I try to figure that out from the net, but with no success :(, so I gonna ask here (I am really a newby at gstreamer):
>
> I have a file containing only the ts video stream (PID 0x1111 in that special case), which is an mpeg2 stream from dvb-t.

Your file then is not a real transport stream, it has pes packets for
the video but no pat or pmt.

>
> When I try to play that with mplayer ( SVN-r1.0~rc3+svn20090426-4.4.3 - Ubuntu 10.4) It says (see 1-- below) and the video is displayed.
>
> So I tried to play it with gstreamer and it fails:
>
> --- snipp ------
> gst-launch-0.10 -v filesrc location=Das\ Erste.ts ! mpegtsdemux name=demux demux.video_4369 ! mpeg2dec ! xvimagesink
> Setting pipeline to PAUSED ...
> Pipeline is PREROLLING ...
> ERROR: from element /GstPipeline:pipeline0/GstMpegTSDemux:demux: Could not determine type of stream.
> Additional debug info:
> gstmpegtsdemux.c(2679): gst_mpegts_demux_sink_event (): /GstPipeline:pipeline0/GstMpegTSDemux:demux:
> No valid streams found at EOS
> ERROR: pipeline doesn't want to preroll.
> Setting pipeline to NULL ...
> Freeing pipeline ...
> --- snipp ------
>
> When I tried typefind, it recognizes the stream:
>
> --- snipp ------
> gst-launch-0.10 -v filesrc location=Das\ Erste.ts ! typefind ! mpegtsdemux ! fakesink
> Setting pipeline to PAUSED ...
> /GstPipeline:pipeline0/GstTypeFindElement:typefindelement0.GstPad:src: caps = video/mpegts, systemstream=(boolean)true, packetsize=(int)188
> Pipeline is PREROLLING ...
> /GstPipeline:pipeline0/GstMpegTSDemux:mpegtsdemux0.GstPad:sink: caps = video/mpegts, systemstream=(boolean)true, packetsize=(int)188
> ERROR: from element /GstPipeline:pipeline0/GstMpegTSDemux:mpegtsdemux0: Could not determine type of stream.
> Additional debug info:
> gstmpegtsdemux.c(2679): gst_mpegts_demux_sink_event (): /GstPipeline:pipeline0/GstMpegTSDemux:mpegtsdemux0:
> No valid streams found at EOS
> ERROR: pipeline doesn't want to preroll.
> Setting pipeline to NULL ...
> /GstPipeline:pipeline0/GstMpegTSDemux:mpegtsdemux0.GstPad:sink: caps = NULL
> /GstPipeline:pipeline0/GstTypeFindElement:typefindelement0.GstPad:src: caps = NULL
> Freeing pipeline ...
> --- snipp ------
>
> Is this the correct way to use the mpegts pipe?
> What am I doing wrong? I do not find any proper information for mpegtsdemux :-(

try gst-launch filesrc ! mpegtsdemux es-pids=0x1111 ! mpeg2dec ! xvimagesink

Zaheer

------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: ts video pipe

th.tom

>
> Your file then is not a real transport stream, it has pes packets for
> the video but no pat or pmt.
>

Right, it is only the video stream. However, the pes transported within the ts packets carry all information for configuring the decoder correctly, as far as I know. So what is left to do is to demux the stream (here: get rid of the ts packaging) and feed it to the decoder, I guess.

> try gst-launch filesrc ! mpegtsdemux es-pids=0x1111 ! mpeg2dec !
> xvimagesink

Same output as before :-(

I may be able to add the PMT and PAT, but they carry more information (Information for all 4 programs in the bouquet), which are not included into the stream. It would be best for me, if I do not have to reconfigure the pipe for every stream with different PID information, as this makes the call of the stream kind of cumbersome.

I do not believe I will be able to rearrange the PAT/PMT information :-/. Actually the audio is not integrated as I would love to see a picture in first place.

-t

------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel