<div dir="ltr"><br><br><div class="gmail_quote">On Thu, Sep 4, 2008 at 1:54 PM, Wim Taymans <span dir="ltr">&lt;<a href="mailto:wim.taymans@gmail.com">wim.taymans@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="Ih2E3d">On Thu, 2008-09-04 at 11:34 -0400, Tristan Matthews wrote:<br>
&gt; Thanks for the feedback Eric. I had seen the RFC before but that book<br>
&gt; looks pretty useful as well.<br>
&gt; My concern isn&#39;t that the AV will get out of sync in<br>
&gt; gstreamer/gstrtpbin, but rather that it will be out of sync immediately<br>
&gt; at the capture stage, i.e. if i have video input from a camera with more<br>
&gt; latency than a separate audio source. An example scenario is given here:<br>
&gt; <a href="http://chris.pirillo.com/2007/07/11/audio-video-capture/" target="_blank">http://chris.pirillo.com/2007/07/11/audio-video-capture/</a><br>
&gt; where you have video of someone clapping and you have to adjust the<br>
&gt; delay to make the sound and image of the clap line up.<br>
&gt; I would need to be able to manually adjust the latency to ensure the<br>
&gt; video and audio are sync&#39;d. Should I just put the audio through a<br>
&gt; Ladspa-delay or is their a better solution in gstreamer?<br>
&gt;<br>
<br>
</div>This situation can not occur in gstreamer when you have a well written<br>
source element that generates correct timestamps and reports its latency<br>
correctly. You could write an element that applies an offset to all<br>
timestamps on the buffers.<br>
<font color="#888888"><br>
Wim<br>
</font><div><div></div><div class="Wj3C7c"></div></div></blockquote><div><br>AFAIK, This element already exists and is called GstShift from gentrans plugins<br>&nbsp;</div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div><div class="Wj3C7c"><br>
<br>
&gt; -T<br>
&gt;<br>
&gt; Eric Zhang wrote:<br>
&gt; &gt; Hi, Tristan:<br>
&gt; &gt;<br>
&gt; &gt; &nbsp; &nbsp; You should not adjust video/audio latency manually because RTP<br>
&gt; &gt; provides a mechanism to accomplish this, called `lip-synchronization&#39;.<br>
&gt; &gt; Refer to RFC 3550 or book `RTP: Video and Audio for the Internet&#39; for<br>
&gt; &gt; more details. These will help you a lot.<br>
&gt; &gt;<br>
&gt; &gt; Eric Zhang<br>
&gt; &gt;<br>
&gt; &gt; 2008/9/3 Tristan Matthews &lt;<a href="mailto:tristan@sat.qc.ca">tristan@sat.qc.ca</a> &lt;mailto:<a href="mailto:tristan@sat.qc.ca">tristan@sat.qc.ca</a>&gt;&gt;<br>
&gt; &gt;<br>
&gt; &gt; &nbsp; &nbsp; Hi,<br>
&gt; &gt;<br>
&gt; &gt; &nbsp; &nbsp; If I have a pipeline using gstrtpbin (similar to the example in the<br>
&gt; &gt; &nbsp; &nbsp; documentation) to send audio and video, what is the best/most reliable<br>
&gt; &gt; &nbsp; &nbsp; way of adding latency to the audio? Would gst_event_new_latency work<br>
&gt; &gt; &nbsp; &nbsp; (and if so, how), or am I missing its intent:<br>
&gt; &gt; &nbsp; &nbsp; <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/stable/gstreamer/html/gstreamer-GstEvent.html#gst-event-new-latency" target="_blank">http://gstreamer.freedesktop.org/data/doc/gstreamer/stable/gstreamer/html/gstreamer-GstEvent.html#gst-event-new-latency</a><br>

&gt; &gt;<br>
&gt; &gt; &nbsp; &nbsp; Basically my concern is that if video capture is too slow, can I<br>
&gt; &gt; &nbsp; &nbsp; manually adjust the audio latency to match.<br>
&gt; &gt;<br>
&gt; &gt; &nbsp; &nbsp; Best,<br>
&gt; &gt;<br>
&gt; &gt; &nbsp; &nbsp; Tristan<br>
&gt; &gt;<br>
&gt; &gt; &nbsp; &nbsp; --<br>
&gt; &gt; &nbsp; &nbsp; Tristan Matthews<br>
&gt; &gt; &nbsp; &nbsp; Société des arts technologiques [SAT]<br>
&gt; &gt; &nbsp; &nbsp; email: <a href="mailto:tristan@sat.qc.ca">tristan@sat.qc.ca</a> &lt;mailto:<a href="mailto:tristan@sat.qc.ca">tristan@sat.qc.ca</a>&gt;<br>
&gt; &gt; &nbsp; &nbsp; web: <a href="http://www.music.mcgill.ca/%7Etmatthews" target="_blank">http://www.music.mcgill.ca/~tmatthews</a><br>
&gt; &gt; &nbsp; &nbsp; &lt;<a href="http://www.music.mcgill.ca/%7Etmatthews" target="_blank">http://www.music.mcgill.ca/%7Etmatthews</a>&gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; &nbsp; &nbsp; -------------------------------------------------------------------------<br>
&gt; &gt; &nbsp; &nbsp; This SF.Net email is sponsored by the Moblin Your Move Developer&#39;s<br>
&gt; &gt; &nbsp; &nbsp; challenge<br>
&gt; &gt; &nbsp; &nbsp; Build the coolest Linux based applications with Moblin SDK &amp; win<br>
&gt; &gt; &nbsp; &nbsp; great prizes<br>
&gt; &gt; &nbsp; &nbsp; Grand prize is a trip for two to an Open Source event anywhere in<br>
&gt; &gt; &nbsp; &nbsp; the world<br>
&gt; &gt; &nbsp; &nbsp; <a href="http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/" target="_blank">http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/</a><br>
&gt; &gt; &nbsp; &nbsp; &lt;<a href="http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/" target="_blank">http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/</a>&gt;<br>
&gt; &gt; &nbsp; &nbsp; _______________________________________________<br>
&gt; &gt; &nbsp; &nbsp; gstreamer-devel mailing list<br>
&gt; &gt; &nbsp; &nbsp; <a href="mailto:gstreamer-devel@lists.sourceforge.net">gstreamer-devel@lists.sourceforge.net</a><br>
&gt; &gt; &nbsp; &nbsp; &lt;mailto:<a href="mailto:gstreamer-devel@lists.sourceforge.net">gstreamer-devel@lists.sourceforge.net</a>&gt;<br>
&gt; &gt; &nbsp; &nbsp; <a href="https://lists.sourceforge.net/lists/listinfo/gstreamer-devel" target="_blank">https://lists.sourceforge.net/lists/listinfo/gstreamer-devel</a><br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; ------------------------------------------------------------------------<br>
&gt; &gt;<br>
&gt; &gt; -------------------------------------------------------------------------<br>
&gt; &gt; This SF.Net email is sponsored by the Moblin Your Move Developer&#39;s challenge<br>
&gt; &gt; Build the coolest Linux based applications with Moblin SDK &amp; win great prizes<br>
&gt; &gt; Grand prize is a trip for two to an Open Source event anywhere in the world<br>
&gt; &gt; <a href="http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/" target="_blank">http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/</a><br>
&gt; &gt; ------------------------------------------------------------------------<br>
&gt; &gt;<br>
&gt; &gt; _______________________________________________<br>
&gt; &gt; gstreamer-devel mailing list<br>
&gt; &gt; <a href="mailto:gstreamer-devel@lists.sourceforge.net">gstreamer-devel@lists.sourceforge.net</a><br>
&gt; &gt; <a href="https://lists.sourceforge.net/lists/listinfo/gstreamer-devel" target="_blank">https://lists.sourceforge.net/lists/listinfo/gstreamer-devel</a><br>
&gt; &gt;<br>
&gt;<br>
&gt;<br>
<br>
<br>
-------------------------------------------------------------------------<br>
This SF.Net email is sponsored by the Moblin Your Move Developer&#39;s challenge<br>
Build the coolest Linux based applications with Moblin SDK &amp; win great prizes<br>
Grand prize is a trip for two to an Open Source event anywhere in the world<br>
<a href="http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/" target="_blank">http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/</a><br>
_______________________________________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.sourceforge.net">gstreamer-devel@lists.sourceforge.net</a><br>
<a href="https://lists.sourceforge.net/lists/listinfo/gstreamer-devel" target="_blank">https://lists.sourceforge.net/lists/listinfo/gstreamer-devel</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Thiago Sousa Santos<br><br>Embedded Systems and Pervasive Computing Lab (Embedded)<br>Center of Electrical Engineering and Informatics (CEEI)<br>Federal University of Campina Grande (UFCG)<br>

</div>