<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<div style="line-height:1.6;font-family:'苹方','微软雅黑','sans-serif';">help<br><br></div><div class="ne-quoted">        <a href="https://maas.mail.163.com/dashi-web-extend/html/proSignature.html?&name=%E4%BD%95%E6%98%86&uid=hekun_hekun%40163.com&ftlId=1&iconUrl=https%3A%2F%2Fmail-online.nosdn.127.net%2Fwzpmmc%2F19a9ec0a3550da9b1bd455a03cbbeaff.jpg&items=%5B%22%E9%82%AE%E7%AE%B1%EF%BC%9Ahekun_hekun%40163.com%22%5D" style="display:block;background:#fff; max-width: 400px; _width: 400px;padding:15px 0 10px 0;text-decoration: none; outline:none;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:none !important;text-size-adjust:none !important;">
            <table cellpadding="0" style="width: 100%; max-width: 100%; table-layout: fixed; border-collapse: collapse;color: #9b9ea1;font-size: 14px;line-height:1.3;-webkit-text-size-adjust:none !important;text-size-adjust:none !important;">
                <tbody style="font-family: 'PingFang SC', 'Hiragino Sans GB','WenQuanYi Micro Hei', 'Microsoft Yahei', '微软雅黑', verdana !important; word-wrap:break-word; word-break:break-all;-webkit-text-size-adjust:none !important;text-size-adjust:none !important;">
                    <tr>
                            <td width="38" style="padding:0; box-sizing: border-box; width: 38px;">
                                <img width="38" height="38" style="vertical-align:middle; width: 38px; height: 38px; border-radius:50%;" src="https://mail-online.nosdn.127.net/wzpmmc/19a9ec0a3550da9b1bd455a03cbbeaff.jpg">
                            </td>
                            <td style="padding: 0 0 0 10px; color: #31353b;">
                                <div style="font-size: 16px;font-weight:bold; width:100%; white-space: nowrap; overflow:hidden;text-overflow: ellipsis;">何昆</div>
                            </td>
                    </tr>
                        <tr width="100%" style="font-size: 14px !important; width: 100%;">
                            <td colspan="2" style="padding:10px 0 0 0; font-size:14px !important; width: 100%;">
                                    <div style="width: 100%;font-size: 14px !important;word-wrap:break-word;word-break:break-all;">邮箱:hekun_hekun@163.com</div>
                            </td>
                        </tr>
                </tbody>
            </table>
        </a><html><body><p style="border-top:1px solid #e5e5e5;padding-top: 8px; font-size: 12px; color:#b6b8bb;line-height: 1.833;">签名由 <a href="https://mail.163.com/dashi/dlpro.html?from=mail88" style="color:#6aa8f6;text-decoration: none">网易邮箱大师</a> 定制</p></body></html><blockquote id="ntes-andriodmail-quote" style="margin:0px !important;padding:0px !important;border: none !important;"><blockquote id="ntes-andriodmail-quote" style="margin:0px !important;padding:0px !important;border: none !important;"><div class="J-reply" style="background-color:#f2f2f2;color:black;padding-top:6px;padding-bottom:6px;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;margin-top:45px;margin-bottom:20px;">
    <div style="font-size:14px;line-height:1.5;word-break:break-all;margin-left:10px;margin-right:10px">On <span class="mail-date">10/06/2018 05:56</span>, <a class="mail-to" style="text-decoration:none;color:#2a97ff;" href="mailto:gstreamer-devel-request@lists.freedesktop.org">gstreamer-devel-request@lists.freedesktop.org</a> wrote:</div>
</div>Send gstreamer-devel mailing list submissions to<br>     gstreamer-devel@lists.freedesktop.org<br><br>To subscribe or unsubscribe via the World Wide Web, visit<br>     <a href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel">https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>or, via email, send a message with subject or body 'help' to<br>     gstreamer-devel-request@lists.freedesktop.org<br><br>You can reach the person managing the list at<br>     gstreamer-devel-owner@lists.freedesktop.org<br><br>When replying, please edit your Subject line so it is more specific<br>than "Re: Contents of gstreamer-devel digest..."<br><br><br>Today's Topics:<br><br>   1. Gstreamer / Multithreading problem (klex0)<br>   2. Re: Low latency streaming over the network, time sync<br>      (Wolfgang Grandegger)<br>   3. Extract 1 Video Channel from H.264 encoded multi-stream<br>      Matroska File (Class, Phil)<br>   4. Decoded raw buffer sizes inconsistent (Jon.Titzell@L3T.com)<br><br><br>----------------------------------------------------------------------<br><br>Message: 1<br>Date: Fri, 5 Oct 2018 07:37:45 -0500 (CDT)<br>From: klex0 <alex@kordecki.de><br>To: gstreamer-devel@lists.freedesktop.org<br>Subject: Gstreamer / Multithreading problem<br>Message-ID: <1538743065522-0.post@n4.nabble.com><br>Content-Type: text/plain; charset=us-ascii<br><br>Hello,<br><br>I use Gstreamer together with the Python Twisted Framework. There seems to<br>be a race condition when sending events in the pipeline.<br>With many parallel pipelines which I dynamically create and terminate, a<br>thread hangs reproducibly in the marked line. This seems to happen during a<br>context switch of a twisted thread within this line. <br><br>log.msg("TERM: gen EOS")<br>eos = Gst.Event.new_eos()<br>log.msg("TERM: send EOS")<br>self.pipeline.send_event(eos)           <-- Here it hangs<br>log.msg("TERM: EOS sent to pipline")<br><br>Has anyone an idea about this ?<br><br>Regards,<br>alex<br><br><br><br>--<br>Sent from: <a href="http://gstreamer-devel.966125.n4.nabble.com/">http://gstreamer-devel.966125.n4.nabble.com/</a><br><br><br>------------------------------<br><br>Message: 2<br>Date: Fri, 5 Oct 2018 14:39:50 +0200<br>From: Wolfgang Grandegger <wg@grandegger.com><br>To: gstreamer-devel@lists.freedesktop.org<br>Subject: Re: Low latency streaming over the network, time sync<br>Message-ID: <3d07b69e-94cb-6388-90ed-5e5372d10cce@grandegger.com><br>Content-Type: text/plain; charset="utf-8"<br><br>Hello,<br><br>Am 05.10.2018 um 10:53 schrieb Wolfgang Grandegger:<br>> Hello,<br>> <br>> Am 04.10.2018 um 17:44 schrieb Nicolas Dufresne:<br>>> Le jeudi 04 octobre 2018 à 11:09 +0200, Wolfgang Grandegger a écrit :<br>>>> Hello,<br>>>><br>>>> I'm looking into low latency real-time streaming of MJPEG videos over<br>>>> the network with GStreamer. I wonder what module does the frame<br>>>> synchronisation on the receivers side and how. On the sender I start:<br>>>><br>>>> # gst-launch-1.0 filesrc location=output.avi ! avidemux name=demux<br>>>> demux.video_0 ! vaapipostproc ! vaapijpegenc quality=50 ! rtpjpegpay<br>>>> !<br>>>> udpsink host=192.168.178.52 port=50004<br>>>><br>>>> and on the receiver:<br>>>><br>>>> # gst-launch-1.0 udpsrc port=50004 !<br>>>> application/x-rtp,encoding-name=JPEG,payload=26 ! queue !<br>>>> rtpjpegdepay !<br>>>> vaapijpegdec ! vaapipostproc ! vaapisink<br>>><br>>> To you first question, none in your pipeline. You'll need a<br>>> jitterbuffer to handle the time, ideally with do-timestamp=1 on the<br>>> udpsrc element.<br>>><br>>>><br>>>> I have some basic questions:<br>>>><br>>>> - Are the frames displayed as they arrive (in "udpsrc")?<br>>><br>>> It will depends on the jitterbuffer "mode" property. By default it will<br>>> try to slave to the remote clock. This mode is not extremely accurate<br>>> though.<br>> <br>> I see, I will have a closer look into the various modes. Then also<br>> synchronizing clocks of the participating systems is important. Are<br>> there documents around highlighting that topic?<br><br>The following README was already useful:<br><br><a href="https://fossies.org/linux/gst-plugins-good/gst/rtp/README">https://fossies.org/linux/gst-plugins-good/gst/rtp/README</a><br><br>Wolfgang.<br><br>-------------- next part --------------<br>A non-text attachment was scrubbed...<br>Name: signature.asc<br>Type: application/pgp-signature<br>Size: 836 bytes<br>Desc: OpenPGP digital signature<br>URL: <<a href="https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20181005/6f7925a0/attachment-0001.sig&gt">https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20181005/6f7925a0/attachment-0001.sig&gt</a>;<br><br>------------------------------<br><br>Message: 3<br>Date: Fri, 5 Oct 2018 12:45:28 +0000<br>From: "Class, Phil" <phil.class@fluke.com><br>To: "gstreamer-devel@lists.freedesktop.org"<br>     <gstreamer-devel@lists.freedesktop.org><br>Subject: Extract 1 Video Channel from H.264 encoded multi-stream<br>     Matroska File<br>Message-ID:<br>     <SN1PR12MB2560B56AD198927AF017FB9799EB0@SN1PR12MB2560.namprd12.prod.outlook.com><br>     <br>Content-Type: text/plain; charset="iso-8859-1"<br><br>Hi,<br><br><br>On Linux, I am able to mux the streams from 2 different V4L2 webcams into a Matroska container with the following pipeline:<br><br><br>gst-launch-1.0 -v -e \<br>    v4l2src device=/dev/video2 io-mode=4 \<br>    ! 'video/x-raw, format=(string)UYVY, width=(int)160, height=(int)120' \<br>    ! videoconvert \<br>    ! 'video/x-raw, format=(string)NV12, width=(int)160, height=(int)120' \<br>    ! ducatih264enc \<br>    ! queue \<br>        ! "video/x-h264,width=160,height=120" \<br>    ! h264parse \<br>    ! queue \<br>    ! mux. \<br>    v4l2src device=/dev/video1 \<br>        ! queue max-size-buffers=0 max-size-time=0 max-size-bytes=0 \<br>        ! 'video/x-raw, format=(string)YUY2, width=(int)640, height=(int)480, framerate=30/1' \<br>    ! videoconvert \<br>    ! 'video/x-raw, format=(string)NV12, width=(int)640, height=(int)480' \<br>    ! ducatih264enc \<br>    ! queue \<br>        ! "video/x-h264,width=640,height=480" \<br>    ! h264parse \<br>    ! queue \<br>        ! mux. \<br>    matroskamux name=mux min-index-interval=1000000000  \<br>        ! queue max-size-buffers=0 max-size-time=0 max-size-bytes=0 \<br>        ! filesink location=test-video.mkv<br><br><br>Now I want to be able to exract one of those video streams like shown in: <a href="https://gstreamer.freedesktop.org/documentation/tutorials/basic/gstreamer-tools.html">https://gstreamer.freedesktop.org/documentation/tutorials/basic/gstreamer-tools.html</a><br><br>Basic tutorial 10: GStreamer tools<<a href="https://gstreamer.freedesktop.org/documentation/tutorials/basic/gstreamer-tools.html&gt">https://gstreamer.freedesktop.org/documentation/tutorials/basic/gstreamer-tools.html&gt</a>;<br>gstreamer.freedesktop.org<br>Basic tutorial 10: GStreamer tools Goal. GStreamer comes with a set of tools which range from handy to absolutely essential. There is no code in this tutorial, just sit back and relax, and we will teach you:<br><br><br><br>I am trying to use the pipeline:<br><br><br>gst-launch-1.0 filesrc location=test-video.mkv ! matroskademux name=d d.video_00 ! queue ! video/x-h264 ! queue ! h264parse ! ducatih264dec ! waylandsink sync=false<br><br><br>The problem is that all variations of this that I try give a "Delayed linking failed" error - here is an example:<br><br><br>Setting pipeline to PAUSED ...[68219.713998] omap-iommu 55082000.mmu: 55082000.mmu: version 2.1<br>Pipeline is PREROLLING ...<br>WARNING: from element /GstPipeline:pipeline0/GstMatroskaDemux:d: Delayed linking failed.<br>Additional debug info:<br>../../../gstreamer-1.12.2/gst/parse/grammar.y(510): gst_parse_no_more_pads (): /GstPipeline:pipeline0/GstMatroskaDemux:d:<br>failed delayed linking pad  video_00 of GstMatroskaDemux named d to some pad of GstQueue named queue0<br>ERROR: from element /GstPipeline:pipeline0/GstMatroskaDemux:d: Internal data stream error.<br>Additional debug info:<br>../../../gst-plugins-good-1.12.2/gst/matroska/matroska-demux.c(4799): gst_matroska_demux_loop (): /GstPipeline:pipeline0/GstMatroskaDemux:d:<br>streaming stopped, reason not-linked (-1)<br>ERROR: pipeline doesn't want to preroll.<br>Setting pipeline to NULL ...<br>Freeing pipeline ...<br><br>How can I extract one video stream from the matroska file? Thanks.<br><br><br>________________________________<br><br>Please be advised that this email may contain confidential information. If you are not the intended recipient, please notify us by email by replying to the sender and delete this message. The sender disclaims that the content of this email constitutes an offer to enter into, or the acceptance of, any agreement; provided that the foregoing does not invalidate the binding effect of any digital or other electronic reproduction of a manual signature that is included in any attachment.<br>-------------- next part --------------<br>An HTML attachment was scrubbed...<br>URL: <<a href="https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20181005/1f6a67a3/attachment-0001.html&gt">https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20181005/1f6a67a3/attachment-0001.html&gt</a>;<br><br>------------------------------<br><br>Message: 4<br>Date: Fri, 5 Oct 2018 21:00:24 +0000<br>From: <Jon.Titzell@L3T.com><br>To: <gstreamer-devel@lists.freedesktop.org><br>Subject: Decoded raw buffer sizes inconsistent<br>Message-ID:<br>     <BN3P110MB0292B4340ECE2D97AFDDD41FADEB0@BN3P110MB0292.NAMP110.PROD.OUTLOOK.COM><br>     <br>Content-Type: text/plain; charset="utf-8"<br><br>Hello,<br><br>I am working on maintaining a plugin that writes directly to raw buffers and noticed that sometimes raw video buffers have an inconsistent size after decoding. Attempting to characterize the size led me to discover that it hinges on a multitude of variables; I have observed variance with resolution, codec, video sink, Gstreamer version, and possibly OS.<br>I have tested Gstreamer on Windows (7 and 10) and Linux (Centos 7, Fedora 27, Ubuntu 16, 18, and Arch) with most versions from 1.8.3 to 1.14.1; each of these having minute differences in their results. I have also tested briefly on Windows 7 with Gstreamer 0.10.36 and could not replicate the issue.<br><br>Here's a specific example on Windows 10, Gstreamer 1.10.4, coding a single frame of a 1280x720 I420 test signal into H.264, then decoding and displaying the frame:<br><br>gst-launch-1.0.exe -v videotestsrc num-buffers=1 \<br>    ! video/x-raw,width=1280,height=720,format=I420 \<br>    ! identity name=raw1 silent=false \<br>    ! x264enc \<br>    ! avdec_h264 \<br>    ! identity name=raw2 silent=false \<br>    ! d3dvideosink<br><br>After running this command, the chain message reveals the buffer size in identity raw1 is as expected ( 1280 * 720 * 1.5 = 1,382,400 bytes ) but the buffer size observed in identity raw2 is completely different at 1,596,672 bytes. Switching d3dvideosink to glimagesink or fakevideosink results in raw2's buffer size becoming 1,629,056 bytes, but using fakesink, appsink, or filesink all result in the expected buffer size, 1,382,400 bytes. Changing the codec results in different results yet again, such as in this example: on Ubuntu 16, Gstreamer 1.13.0, coding the same test signal into H.265, then decoding and displaying:<br><br>gst-launch-1.0 -v videotestsrc num-buffers=1 \<br>    ! video/x-raw,width=1280,height=720,format=I420 \<br>    ! identity name=raw1 silent=false \<br>    ! x265enc \<br>    ! avdec_h265 \<br>    ! identity name=raw2 silent=false \<br>    ! xvimagesink<br><br>This resulted in a 1,624,832 byte buffer. I also tried 1920x1080 and 720x480, which resulted in buffer sizes of 3,444,756 and 640,640 bytes, respectively. I have also tested codecs that are not implemented in libav, such as jpeg, openjpeg, png, vp8 and vp9, but only vp9 had a similar ailment.<br><br>If anyone can help narrow down the cause of this or how to accommodate for the extra buffer size in my plugin development, it would be greatly appreciated.<br><br>Thank you,<br>Jon Titzell<br>Software Engineer<br>L3 Technologies MID<br>------------------------------------------- CONFIDENTIALITY NOTICE: This email and any attachments are for the sole use of the intended recipient and may contain material that is proprietary, confidential, privileged or otherwise legally protected or restricted under applicable government laws. Any review, disclosure, distributing or other use without expressed permission of the sender is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies without reading, printing, or saving..<br>-------------- next part --------------<br>An HTML attachment was scrubbed...<br>URL: <<a href="https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20181005/6bc0a8de/attachment.html&gt">https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20181005/6bc0a8de/attachment.html&gt</a>;<br><br>------------------------------<br><br>Subject: Digest Footer<br><br>_______________________________________________<br>gstreamer-devel mailing list<br>gstreamer-devel@lists.freedesktop.org<br><a href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel">https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br><br><br>------------------------------<br><br>End of gstreamer-devel Digest, Vol 93, Issue 17<br>***********************************************<br></blockquote></blockquote></div>
</body>
</html>