Mpeg2 Transport Stream

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Mpeg2 Transport Stream

2,603 Views
TorbjarnSvangay
Contributor II

Hi,

Anyone knows how to play a Mpeg2 transport stream?

gplay, totem (playbin2) does not want to play it.

Log with GST_DEBUG=3 is attached.

 

Pipeline is PREROLLING ...
0:00:00.301646650 18943   0x121fb8 WARN          GST_SCHEDULING gstpad.c:4683:gst_pad_get_range:<source:src> getrange failed unexpected
0:00:00.301846154 18943   0x121fb8 INFO          GST_SCHEDULING gstpad.c:4796:gst_pad_pull_range:<decodebin20:sink> pullrange failed, flow: unexpected
0:00:00.301923281 18943   0x121fb8 WARN          GST_SCHEDULING gstpad.c:4683:gst_pad_get_range:<sink:proxypad0> getrange failed unexpected
0:00:00.301987657 18943   0x121fb8 INFO          GST_SCHEDULING gstpad.c:4796:gst_pad_pull_range:<typefind:sink> pullrange failed, flow: unexpected
0:00:00.302047283 18943   0x121fb8 WARN          GST_SCHEDULING gstpad.c:4683:gst_pad_get_range:<typefind:src> getrange failed unexpected
0:00:00.302107784 18943   0x121fb8 INFO          GST_SCHEDULING gstpad.c:4796:gst_pad_pull_range:<aiurdemux0:sink> pullrange failed, flow: unexpected
0:00:00.302167036 18943   0x121fb8 WARN               aiurdemux aiurdemux.c:414:aiurdemux_callback_read_pull: gst_pad_pull_range failed ret = -3

0:00:00.302232162 18943   0x121fb8 WARN               aiurdemux aiurdemux.c:3559:aiurdemux_pull_task: pausing task, reason error
0:00:00.302302413 18943   0x121fb8 WARN               aiurdemux aiurdemux.c:3581:aiurdemux_pull_task:<aiurdemux0> error: streaming stopped, reason error, state 2
0:00:00.302637920 18943   0x121fb8 INFO        GST_ERROR_SYSTEM gstelement.c:1763:gst_element_message_full:<aiurdemux0> posting message: GStreamer encountered a general stream error.
ERROR: from element /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstAiurDemux:aiurdemux0: GStreamer encountered a general stream error.
Additional debug info:
aiurdemux.c(3581): aiurdemux_pull_task (): /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstAiurDemux:aiurdemux0:
streaming stopped, reason error, state 2
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...

Labels (1)
0 Kudos
Reply
5 Replies

1,545 Views
TalleyHo
Contributor II

I believe the official stance is that live feeds are not supported on the mx53 platform.  

I don't even use the AIUR demuxer.  I've had to upgrade to gstreamer 0.10.35 w/ the .22 -bad plugins and use the new tsdemux to even get close.  

I think you are correct that live streams are not seekable, but I suspect you'll need more than just that check to make things work.  But, as I said, I abandoned the aiur demux early on and haven't looked at any of the code.



Torbjörn Svangård said:

Hi all and Merry Christmas,

Unfortunantly this issue is not completely resolved. Playback is working with recorded .ts but it seems that aiurdemux is not capable of demuxing Live TS-feeds. It seems to get stuck in a loop while trying to do a seek, however Live streams are not seekable, right?.

I have created a workaround for the problem, but im not sure if I addressed the root cause properly.

--- /home/torbjorn/src/gst-fsl-plugin-2.0.3/src/parser/aiur/src/aiurdemux.c  2011-09-13 18:03:34.000000000 +0200
+++ aiurdemux.c    2011-12-26 15:28:28.000000000 +0100
@@ -652,7 +652,7 @@
     if (size == 0)
       return ret;
 
-    if (content->offset != gst_aiur_stream_cache_get_position (content->cache)) {
+    if (content->offset != gst_aiur_stream_cache_get_position (content->cache) && content->seekable) {
       gst_aiur_stream_cache_seek (content->cache, content->offset);
     }
     gint64 readsize =

Im using a DVB-T2 NanoStick 290e on the i.MX53 QSB and im getting both SD and HD Live-feeds from that device. With my patch the SD feeds play well in totem, however the HD feeds get blocky and does not play well at all. However if i record the HD-feed in to a .ts file and then play that file with totem, then playback is ok. Can anyone here point me in the right direction in how to fix Live Mpeg2 TS HD playback in totem?

Kindest regards

Torbjörn

0 Kudos
Reply

1,545 Views
TorbjarnSvangay
Contributor II

Hi all and Merry Christmas,

Unfortunantly this issue is not completely resolved. Playback is working with recorded .ts but it seems that aiurdemux is not capable of demuxing Live TS-feeds. It seems to get stuck in a loop while trying to do a seek, however Live streams are not seekable, right?.

I have created a workaround for the problem, but im not sure if I addressed the root cause properly.

--- /home/torbjorn/src/gst-fsl-plugin-2.0.3/src/parser/aiur/src/aiurdemux.c  2011-09-13 18:03:34.000000000 +0200
+++ aiurdemux.c    2011-12-26 15:28:28.000000000 +0100
@@ -652,7 +652,7 @@
     if (size == 0)
       return ret;
 
-    if (content->offset != gst_aiur_stream_cache_get_position (content->cache)) {
+    if (content->offset != gst_aiur_stream_cache_get_position (content->cache) && content->seekable) {
       gst_aiur_stream_cache_seek (content->cache, content->offset);
     }
     gint64 readsize =

Im using a DVB-T2 NanoStick 290e on the i.MX53 QSB and im getting both SD and HD Live-feeds from that device. With my patch the SD feeds play well in totem, however the HD feeds get blocky and does not play well at all. However if i record the HD-feed in to a .ts file and then play that file with totem, then playback is ok. Can anyone here point me in the right direction in how to fix Live Mpeg2 TS HD playback in totem?

Kindest regards

Torbjörn

0 Kudos
Reply

1,545 Views
TorbjarnSvangay
Contributor II

Problem is resolved, i did not have PMT and PAT in my .ts

Mplayer seem to be able to cope, but gstreamer needs it.

0 Kudos
Reply

1,545 Views
TorbjarnSvangay
Contributor II

Hi Randy,

GST_DEBUG=3 gst-launch playbin2 uri=file:///home/lucid/test.ts

/Torbjörn

0 Kudos
Reply

1,545 Views
RandyKrakora
NXP Employee
NXP Employee

What's the gst-launch command line?

0 Kudos
Reply