<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<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;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
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;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}
@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]-->
</head>
<body lang="EN-US" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<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"><o:p></o:p></p>
</div>
</body>
</html>