<div dir="ltr"><div><div><div><div><div><div><div><div><div><div><div>Hi Nicola,<br><br></div>I ran some tests using the latest master version of gstreamer and openjpeg.<br><br></div>On my system (Ubuntu VM on i7 3770 host) , using the pipelines you suggested, I found the following<br></div>timings:<br><br></div>Openjpeg 2.1.X:   3.08 seconds<br></div>VP8:  1.38 seconds<br></div>JPEG:  0.054 seconds<br><div><br></div>Also, my accelerated J2K codec took 1.04 seconds.<br><br></div><div>I didn't test 1.5, but there are so many bugs and security issues with 1.5 that I wouldn't recommend using it.<br></div><br></div>So, the situation has improved with the latest versions.<br><br></div>Also, I just noticed that openjpegenc uses the default encode parameters settings for OpenJPEG, and the default is *lossless*<br></div>encoding. So, the compression ratio is never going to go much higher than 2:1. This will definitely affect file size.<br></div><div><br></div><div>Cheers,<br></div><div>Aaron<br></div><div><div><div><div><div><div><div><div><div><div><br><br><div><div><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Jun 26, 2016 at 4:10 AM, Mailing List SVR <span dir="ltr"><<a href="mailto:lists@svrinformatica.it" target="_blank">lists@svrinformatica.it</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
  
    
  
  <div bgcolor="#FFFFFF" text="#000000">
    <div>Hi Aaron,<br>
      <br>
      first of all thanks for your efforts,<br>
      <br>
      I'm not a J2K user, I evaluated this codec some years ago but was
      not suitable for my needs, <br>
      <br>
      in my use case I get video from network cameras and I can save or
      restream using the same codec or a different codec (for example
      jpeg2000). My input is never encoded as jpeg2000 (some cameras
      support jpeg2000 but they support h264 too)<br>
      <br>
      The main reason to transcode is to reduce bandwidth and/or change
      the original stream (add a text overlay, rotate the images ecc..)<br>
      <br>
      major problem with jpeg2000 is that encoding/decoding seems
      terribly slow and encoder does not save bandwidth.<br>
      <br>
      Please take a look at the following pipelines<br>
      <br>
      gstreamer compiled against openjpeg 1.5.2<br>
      <br>
      gst-launch-1.0 videotestsrc num-buffers=100 ! openjpegenc !
      fakesink silent=false sync=false<br>
      Impostazione della pipeline a PAUSED ...<br>
      La pipeline è in PREROLLING ...<br>
      La pipeline è in PREROLLED ...<br>
      Impostazione della pipeline a PLAYING ...<br>
      New clock: GstSystemClock<br>
      Ottenuto EOS dall'elemento «pipeline0».<br>
      <font size="+1"><b>Execution ended after 0:00:08.701328003</b></font><br>
      Impostazione della pipeline a PAUSED ...<br>
      Impostazione della pipeline a READY ...<br>
      Impostazione della pipeline a NULL ...<br>
      Esecuzione di free sulla pipeline...<br>
      <br>
      gstreamer compiled against openjpeg 2.1<br>
      <br>
       gst-launch-1.0 videotestsrc num-buffers=100 ! openjpegenc !
      fakesink silent=false sync=false<br>
      Setting pipeline to PAUSED ...<br>
      Pipeline is PREROLLING ...<br>
      Pipeline is PREROLLED ...<br>
      Setting pipeline to PLAYING ...<br>
      New clock: GstSystemClock<br>
      Got EOS from element "pipeline0".<br>
      <font size="+1"><b>Execution ended after 0:00:26.328685923</b></font><br>
      Setting pipeline to PAUSED ...<br>
      Setting pipeline to READY ...<br>
      Setting pipeline to NULL ...<br>
      Freeing pipeline ...<br>
      <br>
      Now the same pipeline with other encoders:<br>
      <br>
      gst-launch-1.0 videotestsrc num-buffers=100 ! vp8enc ! fakesink
      silent=false sync=false<br>
      Setting pipeline to PAUSED ...<br>
      Pipeline is PREROLLING ...<br>
      Redistribute latency...<br>
      Pipeline is PREROLLED ...<br>
      Setting pipeline to PLAYING ...<br>
      New clock: GstSystemClock<br>
      Got EOS from element "pipeline0".<br>
      <font size="+1"><b>Execution ended after 0:00:01.459543338</b></font><br>
      Setting pipeline to PAUSED ...<br>
      Setting pipeline to READY ...<br>
      Setting pipeline to NULL ...<br>
      Freeing pipeline ...<br>
      <br>
      gst-launch-1.0 videotestsrc num-buffers=100 ! jpegenc ! fakesink
      silent=false sync=false<br>
      Setting pipeline to PAUSED ...<br>
      Pipeline is PREROLLING ...<br>
      Pipeline is PREROLLED ...<br>
      Setting pipeline to PLAYING ...<br>
      New clock: GstSystemClock<br>
      Got EOS from element "pipeline0".<br>
      <font size="+1"><b>Execution ended after 0:00:00.052316056</b></font><br>
      Setting pipeline to PAUSED ...<br>
      Setting pipeline to READY ...<br>
      Setting pipeline to NULL ...<br>
      Freeing pipeline ...<br>
      <br>
      I don't know if the problem is inside openjpeg or in gstreamer
      integration however this codec is actually too slow for my use
      case, decoder seems slow too and produced files have a bigger size
      than for example the ones obtained with jpegenc,<br>
      <br>
      is there some "magic" property to set to improve performance?<br>
      <br>
      thanks<br>
      Nicola<br>
      <br>
      P.S. if you try avenc_jpeg2000 you'll get better performance so
      maybe the problem is in openjpeg<div><div class="h5"><br>
      <br>
      Il 25/06/2016 17:22, Aaron Boxer ha scritto:<br>
    </div></div></div>
    <blockquote type="cite"><div><div class="h5">
      <div dir="ltr">
        <div>
          <div>
            <div>
              <div>
                <div>
                  <div>
                    <div>
                      <div>Dear GStreamers,<br>
                        <br>
                      </div>
                      I've spent the last month or so trying to improve
                      J2K support inside GStreamer ( with a lot of help
                      from the GStreamer gurus :) )<br>
                      <br>
                    </div>
                    I am very curious about how people are using
                    GStreamer to stream J2K content.<br>
                  </div>
                  Are there many people streaming J2K over RTP ?  Are
                  people transcoding J2K assets<br>
                </div>
                to other formats such as H.264 or HEVC ?  How much
                interest is there in supporting<br>
              </div>
              J2K over MPEG TS  ? What about motion J2K ?<br>
              <br>
            </div>
            Any feedback on what people are doing, and what they would
            like to see, would be most welcome.<br>
            <br>
          </div>
          Thanks!<br>
        </div>
        Aaron<br>
      </div>
      <br>
      <fieldset></fieldset>
      <br>
      </div></div><pre>_______________________________________________
gstreamer-devel mailing list
<a href="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank">gstreamer-devel@lists.freedesktop.org</a>
<a href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" target="_blank">https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a>
</pre>
    </blockquote>
    <br>
  </div>

<br>_______________________________________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" rel="noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>
<br></blockquote></div><br></div></div></div></div></div></div></div></div></div></div></div></div></div></div>