After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 529672 - Big latency and bad framerate while mixing multiple live streams
Big latency and bad framerate while mixing multiple live streams
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
0.10.7
Other All
: Normal normal
: 0.10.26
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2008-04-24 08:18 UTC by Dejan Sakelšak
Modified: 2010-09-23 18:39 UTC
See Also:
GNOME target: ---
GNOME version: 2.21/2.22



Description Dejan Sakelšak 2008-04-24 08:18:09 UTC
Please describe the problem:
When mixing multiple live streams with non-live streams the output framerate is inconsistent and a big latency gain (10s+ for QCIF output) is achieved.

Steps to reproduce:
1. 2 client machines: with pipeline: gst-launch videotestsrc ! ffmpegcolorspace ! videoscale ! video/x-raw-yuv,format=\(fourcc\)AYUV,width=176,height=144 ! ffmpegcolorspace ! ffenc_h263 ! rtph263pay ! udpsink port=some_port host=mixer_host
2. on the mixer host side: gst-launch udpsrc port=some_port1 ! gstrtpjitterbuffer ! rtph263depay ! ffdec_h263 ! ffmpegcolorspace ! videoscale ! video/x-raw-yuv,format=\(fourcc\)AYUV,width=88,height=72 ! mix.
gst-launch udpsrc port=some_port1 ! gstrtpjitterbuffer ! rtph263depay ! ffdec_h263 ! ffmpegcolorspace ! videoscale ! video/x-raw-yuv,format=\(fourcc\)AYUV,width=176,height=144 ! mix.
videomixer name=mix. ! ffmpegcolorspce ! ximagesink



Actual results:
The output framerate is not smooth. Big latency gain.

Expected results:
The output video should be smooth, with as little latency as possible

Does this happen every time?
yes

Other information:
Comment 1 S. Zamory 2009-04-10 11:06:13 UTC
A more simple trigger (if you have a camera):

gst-launch-0.10 videotestsrc ! videomixer name=mix ! ffmpegcolorspace ! xvimagesink hdv1394src ! decodebin ! ffmpegcolorspace ! mix.

Framerate is one every few seconds for both sources. One processor is thoroughly saturated, others are idle.

Launching each stream with separate instances presents two windows operating acceptably with ample processor headroom.

Mixing two test or pre-recorded sources performs acceptably.


version: 0.10.10.4
   videomixer
   hdv1394src

version: 0.10.21
   gst-launch-0.10
   videotestsrc
   ffmpegcolorspace
   xvimagesink
   decodebin

gnome version: 2.24.1
   
Comment 2 Tim-Philipp Müller 2010-09-23 16:54:47 UTC
I didn't test your pipelines, but I believe this should be fixed with the new videomixer2 element in gst-plugisn-good git:

 commit bcfd60a8d200e3f18d6260e1a6d71835d76036fb
 Author: Sebastian Dröge <sebastian.droege@collabora.co.uk>
 Date:   Mon Jul 26 16:07:15 2010 +0200

    videomixer2: Add videomixer2 element
    
    This is based on collectpads2 and is synchronizing
    all streams based on the running time.
    
    New features compared to old videomixer:
     * Synchronizing frames on the running time
     * Improved and simplified negotiation
     * Full QoS support
     * Variable framerate support
    
    Fixes bug #626048, #624905.

Please re-open if it's still an issue.
Comment 3 Sebastian Dröge (slomo) 2010-09-23 18:39:19 UTC
Note that the support for live streams is still suboptimal. But it should work better now