GStreamer TS Transport Stream multiplexer comparison
Description
This page shows all the results related with the performance analysis about TS stream features for the Leopard DM368 using the FFMPEG and Fluendo plugins.
The main idea is determine what plugins present a better performance.
For both cases are applied the following environment:
- Used UDP stream.
- The size of image captured is 640x480.
- The h264 encoder used a target bitrate of 1,5 Mbits per second and enconding algorithm high speed.
For raise the performance of mpegtsmux was applied the several patches development for Ridgerun that improving the performance of the plugin. For the fluendo mpegtsmux was enabled the feature buffer-list that it sends a buffer list instead single buffer.
TS approach using ffmux_mpegts (FFMPEG)
The pipeline used for TS streaming from the DM368 to the PC is shown below:
- DM368 (Server)
gst-launch v4l2src always-copy=FALSE ! 'video/x-raw-yuv, width=640, height=480, \ framerate=(fraction)30/1' ! dmaiaccel ! dmaienc_h264 encodingpreset=2 intraframeinterval=30 \ idrinterval=60 ratecontrol=2 profile=66 level=30 entropy=0 t8x8intra=0 t8x8inter=0 \ seqscaling=0 targetbitrate=1500000 bytestream=true ! queue ! ffmux_mpegts ! \ udpsink host=10.251.101.43 sync=false enable-last-buffer=false port=3001
- PC (Client)
gst-launch udpsrc port=3001 ! mpegtsdemux ! decodebin ! xvimagesink sync=false
Information
This test was made during 10 mins.
- The image is fluent and good quality.
- CPU Average: 10%
TS approach using mpegtsmux (Fluendo)
The pipeline used for TS streaming from the DM368 to the PC is shown below:
- DM368 (Server)
gst-launch v4l2src always-copy=FALSE ! 'video/x-raw-yuv, width=640, height=480, \ framerate=(fraction)30/1' ! dmaiaccel ! dmaienc_h264 encodingpreset=2 intraframeinterval=30 \ idrinterval=60 ratecontrol=2 profile=66 level=30 entropy=0 t8x8intra=0 t8x8inter=0 \ seqscaling=0 targetbitrate=1500000 bytestream=true ! queue ! mpegtsmux buffer-list=true ! \ udpsink host=10.251.101.43 sync=false enable-last-buffer=false port=3001
- PC (Client)
gst-launch udpsrc port=3001 ! mpegtsdemux ! decodebin ! xvimagesink sync=false
Information
This test was made during 10 mins.
- The image is fluent and good quality.
- CPU Average: 35%