[Bug 762715] New: mpegtsmux: alignment property does not work as expected for UDP streaming

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Fri Feb 26 09:51:01 UTC 2016


https://bugzilla.gnome.org/show_bug.cgi?id=762715

            Bug ID: 762715
           Summary: mpegtsmux: alignment property does not work as
                    expected for UDP streaming
    Classification: Platform
           Product: GStreamer
           Version: 1.7.1
                OS: Linux
            Status: NEW
          Severity: major
          Priority: Normal
         Component: gst-plugins-bad
          Assignee: gstreamer-bugs at lists.freedesktop.org
          Reporter: amartin at vicomtech.org
        QA Contact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---

Hi,

Related with https://bugzilla.gnome.org/show_bug.cgi?id=722129 with status
"RESOLVED FIXED".

The alignment property on mpegtsmux seems to have a bug, as
it doesn't timestamp all output when combining multiple packets into
one buffer.

In Gstreamer 1.4.4 the udpsink plugin with sync=true works like a live source.
It means to stream a 2 minutes video file it takes 2 minutes (like a live
source)

In Gstreamer 1.7.1 (also in 1.6.0) the udpsink plugin with sync=true works
similar to sync=false. It means to stream a 2 minutes video file it takes 5
seconds (like a on demand source-best effort)

I used the next pipelines:

1) Create a sample file
gst-launch-1.0 -e videotestsrc ! video/x-raw, framerate=10/1, width=320,
height=240, format=I420 ! timeoverlay font-desc="sans bold 40" halignment=0
valignment=2 ! x264enc bitrate=200 key-int-max=10 ! h264parse config-interval=1
! mpegtsmux ! filesink location=test.ts

2) Stream the file ("alignment=7" for UDP streaming)
gst-launch-1.0 filesrc location=test.ts ! tsparse ! tsdemux ! h264parse !
mpegtsmux alignment=7 ! udpsink port=5014 host=127.0.0.1 sync=true
enable-last-sample=false send-duplicates=false

3) Play the Stream
gst-launch-1.0 udpsrc uri=udp://127.0.0.1:5014 ! video/mpegts ! tsdemux
name=demux ! video/x-h264 ! queue ! decodebin ! autovideosink

When using ("alignment=1") it works as a live source <- wanted behavior
gst-launch-1.0 filesrc location=test.ts ! tsparse ! tsdemux ! h264parse !
mpegtsmux alignment=1 ! udpsink port=5014 host=127.0.0.1 sync=true
enable-last-sample=false send-duplicates=false

When using rndbuffersize workaround (it worked in 1.4.4 but in 1.7.1 it does
not work)
gst-launch-1.0 filesrc location=test.ts ! tsparse ! tsdemux ! h264parse !
mpegtsmux alignment=7 ! rndbuffersize min=1316 max=1316 ! udpsink port=5014
host=127.0.0.1 sync=true enable-last-sample=false send-duplicates=false

Best,

Angel

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list