<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">Il 09/11/2017 15:09, William Salibrici
      ha scritto:<br>
    </div>
    <blockquote type="cite"
cite="mid:MWHPR08MB2989504A29041FA6154831E4B5570@MWHPR08MB2989.namprd08.prod.outlook.com">
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      <meta name="Generator" content="Microsoft Word 15 (filtered
        medium)">
      <style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        color:black;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";
        color:black;}
span.EmailStyle17
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:"Consolas",serif;
        color:black;}
span.EmailStyle20
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
      <div class="WordSection1">
        <p class="MsoNormal"><span style="color:#1F497D">Hi Nicola,<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D">Thank you for
            your reply.<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D">Yes I am using
            GStreamer to create my mp4 recording.
            <o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D">I will look
            into your suggestion.<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D">I checked the
            Gstreamer documentation for a qtmoovrecover example pipeline
            but there isn’t one there.<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D">Can you send me
            an example pipeline?</span></p>
      </div>
    </blockquote>
    <br>
    very simple:<br>
    <br>
    gst-launch-1.0 qtmoovrecover recovery-input=...  broken-input=...
    fixed-output=....<br>
    <br>
    Nicola<br>
    <br>
    <blockquote type="cite"
cite="mid:MWHPR08MB2989504A29041FA6154831E4B5570@MWHPR08MB2989.namprd08.prod.outlook.com">
      <div class="WordSection1">
        <p class="MsoNormal"><span style="color:#1F497D"><o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D">Regards, <o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D">--Bill<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
        <div>
          <div style="border:none;border-top:solid #E1E1E1
            1.0pt;padding:3.0pt 0in 0in 0in">
            <p class="MsoNormal"><b><span style="color:windowtext">From:</span></b><span
                style="color:windowtext"> gstreamer-devel
                [<a class="moz-txt-link-freetext" href="mailto:gstreamer-devel-bounces@lists.freedesktop.org">mailto:gstreamer-devel-bounces@lists.freedesktop.org</a>]
                <b>On Behalf Of </b>Mailing List SVR<br>
                <b>Sent:</b> Thursday, November 09, 2017 2:54 AM<br>
                <b>To:</b> <a class="moz-txt-link-abbreviated" href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a><br>
                <b>Subject:</b> Re: mp4 file repair - UPDATE 1<o:p></o:p></span></p>
          </div>
        </div>
        <p class="MsoNormal"><o:p> </o:p></p>
        <div>
          <p class="MsoNormal">Hi,<br>
            <br>
            if you are using GStreamer to create your mp4 recording you
            can set moov-recovery-file property on qtmux and  then use
            qtmoovrecover element if the recording is unexpectedly
            interrupted to recover it,<br>
            <br>
            Nicola<br>
            <br>
            Il 08/11/2017 19:43, William Salibrici ha scritto:<span
              style="font-size:12.0pt"><o:p></o:p></span></p>
        </div>
        <blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
          <p class="MsoNormal">I am creating mp4 recordings in a known
            format.<o:p></o:p></p>
          <p class="MsoNormal">Below is the discover tool result [short
            version] for a test recording:<o:p></o:p></p>
          <p class="MsoNormal"> <o:p></o:p></p>
          <p class="MsoNormal">Topology:<o:p></o:p></p>
          <p class="MsoNormal">  container: Quicktime<o:p></o:p></p>
          <p class="MsoNormal">    audio: MPEG-4 AAC<o:p></o:p></p>
          <p class="MsoNormal">    video: H.264 (Constrained Baseline
            Profile)<o:p></o:p></p>
          <p class="MsoNormal"> <o:p></o:p></p>
          <p class="MsoNormal">Properties:<o:p></o:p></p>
          <p class="MsoNormal">  Duration: 0:00:48.000000000<o:p></o:p></p>
          <p class="MsoNormal">  Seekable: yes<o:p></o:p></p>
          <p class="MsoNormal">  Tags:<o:p></o:p></p>
          <p class="MsoNormal">      audio codec: MPEG-4 AAC audio<o:p></o:p></p>
          <p class="MsoNormal">      bitrate: 21346<o:p></o:p></p>
          <p class="MsoNormal">      language code: en<o:p></o:p></p>
          <p class="MsoNormal">      datetime: 2017-10-25T15:04:50Z<o:p></o:p></p>
          <p class="MsoNormal">      container format: ISO MP4/M4A<o:p></o:p></p>
          <p class="MsoNormal">      video codec: H.264 / AVC<o:p></o:p></p>
          <p class="MsoNormal">      maximum bitrate: 5222160<o:p></o:p></p>
          <p class="MsoNormal"> <o:p></o:p></p>
          <p class="MsoNormal">The problem is that sometimes I will get
            a recording that was not finalized so the data is there but
            the recording is unreadable.<o:p></o:p></p>
          <p class="MsoNormal">However, the audio and video formats are
            known.<o:p></o:p></p>
          <p class="MsoNormal">The question is this: does anyone know of
            a repair tool that can go over the existing data in the
            recording file and create the proper moov atom at the end of
            the file?<o:p></o:p></p>
          <p class="MsoNormal">Thank you for your help,<o:p></o:p></p>
          <p class="MsoNormal"> <o:p></o:p></p>
          <p class="MsoNormal">--Bill<o:p></o:p></p>
          <p class="MsoNormal"> <o:p></o:p></p>
          <p class="MsoNormal">UPDATE 1 -><o:p></o:p></p>
          <p class="MsoNormal"> <o:p></o:p></p>
          <p class="MsoNormal">I failed to clarify in my first post that
            I’m interested to know if anyone in the gstreamer
            development community has done any kind of mp4 file repair
            using gstreamer elements or gstreamer source code. I can
            google for repair tools but that’s not what I want. <o:p></o:p></p>
          <p class="MsoNormal"> <o:p></o:p></p>
          <p class="MsoNormal">I need some c/c++ code to do this repair.
            I can dig into the mp4mux and discoverer source code to see
            what’s going on but that’s a pretty big task. I’m thinking
            if anyone has already done some work in this area I could
            avoid reinventing the wheel so to speak.<o:p></o:p></p>
          <p class="MsoNormal"> <o:p></o:p></p>
          <p class="MsoNormal">Sorry about that.<o:p></o:p></p>
          <p class="MsoNormal">Thanks again for any help,<o:p></o:p></p>
          <p class="MsoNormal"> <o:p></o:p></p>
          <p class="MsoNormal">Bill<o:p></o:p></p>
          <p class="MsoNormal"> <o:p></o:p></p>
          <p class="MsoNormal"><span
              style="font-size:12.0pt;font-family:"Times New
              Roman",serif"><br>
              <br>
              <br>
              <o:p></o:p></span></p>
          <pre>_______________________________________________<o:p></o:p></pre>
          <pre>gstreamer-devel mailing list<o:p></o:p></pre>
          <pre><a href="mailto:gstreamer-devel@lists.freedesktop.org" moz-do-not-send="true">gstreamer-devel@lists.freedesktop.org</a><o:p></o:p></pre>
          <pre><a href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" moz-do-not-send="true">https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><o:p></o:p></pre>
        </blockquote>
        <p class="MsoNormal"><span
            style="font-size:12.0pt;font-family:"Times New
            Roman",serif"><o:p> </o:p></span></p>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
gstreamer-devel mailing list
<a class="moz-txt-link-abbreviated" href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a>
<a class="moz-txt-link-freetext" href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel">https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>