Re: 答复: 答复: How to reduce avdec_h264 latency

Gary Gilbreath noscgag at yahoo.com
Thu Jul 13 21:01:07 UTC 2017


Is the "is-live" setting only available programmatically? If it will improve latency, I'd like to use it on the decode (receiver) side, but I use gst_parse_launch() to create my pipeline.
I did a gst-inspect on all the GStreamer elements (especially avdec_h264) and as far as I could tell only the source elements support the "is-live" setting (i.e. videotestsrc, souphttpsrc, gltestsrc, fakesrc, audiotestsrc, appsrc). This was with 1.10.4.
Gary

      From: "Lijia (George Lee, Euler)" <george.lee at huawei.com>
 To: paolo perotinus <paoloperot at yahoo.it>; Discussion of the development of and with GStreamer <gstreamer-devel at lists.freedesktop.org> 
 Sent: Tuesday, July 11, 2017 3:58 AM
 Subject: 答复: 答复: How to reduce avdec_h264 latency
   
 <!--#yiv6749509388 _filtered #yiv6749509388 {font-family:Helvetica;panose-1:2 11 6 4 2 2 2 2 2 4;} _filtered #yiv6749509388 {font-family:宋体;panose-1:2 1 6 0 3 1 1 1 1 1;} _filtered #yiv6749509388 {font-family:"Cambria Math";panose-1:2 4 5 3 5 4 6 3 2 4;} _filtered #yiv6749509388 {font-family:Calibri;panose-1:2 15 5 2 2 2 4 3 2 4;} _filtered #yiv6749509388 {panose-1:2 1 6 0 3 1 1 1 1 1;} _filtered #yiv6749509388 {panose-1:2 11 5 3 2 2 4 2 2 4;} _filtered #yiv6749509388 {panose-1:2 11 5 3 2 2 4 2 2 4;}#yiv6749509388 #yiv6749509388 p.yiv6749509388MsoNormal, #yiv6749509388 li.yiv6749509388MsoNormal, #yiv6749509388 div.yiv6749509388MsoNormal {margin:0cm;margin-bottom:.0001pt;font-size:12.0pt;font-family:宋体;}#yiv6749509388 a:link, #yiv6749509388 span.yiv6749509388MsoHyperlink {color:blue;text-decoration:underline;}#yiv6749509388 a:visited, #yiv6749509388 span.yiv6749509388MsoHyperlinkFollowed {color:purple;text-decoration:underline;}#yiv6749509388 p.yiv6749509388msonormal, #yiv6749509388 li.yiv6749509388msonormal, #yiv6749509388 div.yiv6749509388msonormal {margin-right:0cm;margin-left:0cm;font-size:12.0pt;font-family:宋体;}#yiv6749509388 p.yiv6749509388msochpdefault, #yiv6749509388 li.yiv6749509388msochpdefault, #yiv6749509388 div.yiv6749509388msochpdefault {margin-right:0cm;margin-left:0cm;font-size:12.0pt;font-family:宋体;}#yiv6749509388 span.yiv6749509388msohyperlink {}#yiv6749509388 span.yiv6749509388msohyperlinkfollowed {}#yiv6749509388 span.yiv6749509388emailstyle17 {}#yiv6749509388 p.yiv6749509388msonormal1, #yiv6749509388 li.yiv6749509388msonormal1, #yiv6749509388 div.yiv6749509388msonormal1 {margin:0cm;margin-bottom:.0001pt;font-size:12.0pt;font-family:宋体;}#yiv6749509388 span.yiv6749509388msohyperlink1 {color:#0563C1;text-decoration:underline;}#yiv6749509388 span.yiv6749509388msohyperlinkfollowed1 {color:#954F72;text-decoration:underline;}#yiv6749509388 span.yiv6749509388emailstyle171 {color:#1F497D;}#yiv6749509388 p.yiv6749509388msochpdefault1, #yiv6749509388 li.yiv6749509388msochpdefault1, #yiv6749509388 div.yiv6749509388msochpdefault1 {margin-right:0cm;margin-left:0cm;font-size:10.0pt;font-family:宋体;}#yiv6749509388 span.yiv6749509388EmailStyle27 {font-family:"Calibri", sans-serif;color:#1F497D;}#yiv6749509388 .yiv6749509388MsoChpDefault {font-size:10.0pt;} _filtered #yiv6749509388 {margin:72.0pt 90.0pt 72.0pt 90.0pt;}#yiv6749509388 div.yiv6749509388WordSection1 {}-->This option is-live instructs GST h264 decoder element to perform low latency mode for Live event, thus this option takes role of key configuration of pipeline behavior in response to real-time decoding. In my opinion it should not be removed but more elaborate description is also needed to avoid misleading programmer.    George      发件人: gstreamer-devel [mailto:gstreamer-devel-bounces at lists.freedesktop.org]代表 paolo perotinus
发送时间: 2017年7月11日 18:50
收件人: Discussion of the development of and with GStreamer <gstreamer-devel at lists.freedesktop.org>
主题: Re: 答复: How to reduce avdec_h264 latency    I just solved the problem (thanks to Tim-Philipp Muller) by setting is-live=1 on the receiver. The latency was added  in gstavviddec.c (check the line with: "gst_query_parse_latency (query, &is_live, NULL, NULL);" ). However I think that this option (is-live) can appear too generic and misleading, and should be removed/changed. What do you think about?    Il Martedì 11 Luglio 2017 12:40, "Lijia (George Lee, Euler)" <george.lee at huawei.com> ha scritto:    Pls take a bit of time to delve into system –level thread scheduling in attempt to find clue to long latency in plugin implementation. As per experience excluding bitstream encoding option, in many situations we often can find negative impact brought by threading scheduling over Linux. Even though bitstream has been encoded very well for low-latency use-case such as removal of B-frame/sub-frame processing (parallel pipeline), implicit threading scheduling defect is hard to find.   Best Regards,   George Lee   发件人: gstreamer-devel [mailto:gstreamer-devel-bounces at lists.freedesktop.org]代表paolo perotinus
发送时间: 2017年7月11日 17:45
收件人: Discussion of the development of and with GStreamer <gstreamer-devel at lists.freedesktop.org>
主题: Re: How to reduce avdec_h264 latency     Il Martedì 11 Luglio 2017 1:06, Olivier Crête <olivier.crete at collabora.com> ha scritto:   > Hi,

> The only way to do that is to create a stream with no B-frames, for example using the H. 264 baseline profile.

> Olivier    Hi Olivier,   The stream is already coded with no B-frames (zerolatency tune in ffmpeg) but I still have that latency in avdec_h264...   _______________________________________________
gstreamer-devel mailing list
gstreamer-devel at lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel    _______________________________________________
gstreamer-devel mailing list
gstreamer-devel at lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel


   
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20170713/91715c2b/attachment-0001.html>


More information about the gstreamer-devel mailing list