<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;}
@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;}
p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        color:black;}
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.EmailStyle18
        {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.EmailStyle21
        {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]-->
</head>
<body bgcolor="white" lang="EN-US" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal"><span style="color:#1F497D">Thanks, Michael – I will check it out.<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>
<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 [mailto:gstreamer-devel-bounces@lists.freedesktop.org]
<b>On Behalf Of </b>Michael MacIntosh<br>
<b>Sent:</b> Wednesday, November 08, 2017 1:36 PM<br>
<b>To:</b> gstreamer-devel@lists.freedesktop.org<br>
<b>Subject:</b> Re: mp4 file repair<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p>Hello,<span style="font-size:12.0pt"><o:p></o:p></span></p>
<p>You could try untrunc: <a href="https://github.com/ponchio/untrunc">https://github.com/ponchio/untrunc</a><o:p></o:p></p>
<p>But you need a reference file from the same source, and your mileage may vary with how much it will gather out of it.<o:p></o:p></p>
<p>In gstreamer land to get around this, you need to send the end of stream event.  I think sometimes the muxer might play nice with you and write the moov atom while going to null state, but it isn't something you should count on.  If you are using the command
 line, I believe you need the -e flag so it sends and waits for EOS when you hit CTRL+C.<o:p></o:p></p>
<p>Hope that helps!<o:p></o:p></p>
<p>Cheers,<br>
Michael.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">On 11/8/2017 7:46 AM, William Salibrici wrote:<o:p></o:p></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"> <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>
This message has been scanned for viruses and dangerous content by <br>
<a href="http://www.efa-project.org"><b>E.F.A. Project</b></a>, and is believed to be clean.
<br>
<a href="http://lsefa1.linear-systems.com/cgi-bin/learn-msg.cgi?id=AC4A6100055.A6980&token=2e160facb7449abc020f656858c2db85">Click here to report this message as spam.</a>
<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">gstreamer-devel@lists.freedesktop.org</a><o:p></o:p></pre>
<pre><a href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel">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>
</body>
</html>