> On May 8, 2016, at 1:40 AM, Francois Visagie <francois.visa...@gmail.com> 
> wrote:
> 
>> -----Original Message-----
>> From: ffmpeg-user [mailto:ffmpeg-user-boun...@ffmpeg.org] On Behalf Of
>> Martynas Brijunas
>> Sent: 07 May 2016 01:29
>> To: ffmpeg-user@ffmpeg.org
>> Subject: [FFmpeg-user] Encoding DV tapes with "datecode" preserved for
>> each frame
>> 
>> Hi,
>> 
>> I have a collection of AVI files which were created from DV tapes. Each frame
>> in these AVI files has a "datecode" field which can be seen with a tool like
>> "dvdate". I would like to move my collection from the very bulky AVI files
>> (16GB per tape) to a very manageable MP4. My question is: can the
>> "datecode" field be preserved when transcoding from dvvideo (native) to
>> h264 (libx264)? I am attaching a screenshot of how this "datecode" looks like
>> on one of my files.
> 
> Not saying it isn't possible, but I never managed to do this. It could be 
> that datecode is proprietary DV codec metadata not understood by ffmpeg (at 
> least with the versions I tried).

Here's a sample with recording data and time in the VAUX of the DV encoding: 
https://archive.org/download/DvAnalyzerSampleDvAudioErrors/dvanalyzer_sample_EVIA_IU.mov
 
<https://archive.org/download/DvAnalyzerSampleDvAudioErrors/dvanalyzer_sample_EVIA_IU.mov>.
 The VAUX structure is defined in  
http://web.archive.org/web/20060927044735/http://www.smpte.org/smpte_store/standards/pdf/s314m.pdf
 
<http://web.archive.org/web/20060927044735/http://www.smpte.org/smpte_store/standards/pdf/s314m.pdf>
 but this spec doesn't seem to identify or explain the vaux packs for recording 
date and recording time. 

In the same the first recording date vaux pack is at 129,482 bytes and the 
first recording time vaux pack is at 129,487 bytes (or 458 and 463 bytes from 
the start of the dv encoding). There's a rough guide to parsing these to packs 
at 
https://groups.google.com/d/msg/microsoft.public.win32.programmer.directx.video/3kMuSYZ-KFw/CKfl0xeZ8FUJ
 
<https://groups.google.com/d/msg/microsoft.public.win32.programmer.directx.video/3kMuSYZ-KFw/CKfl0xeZ8FUJ>,
 copying the most relevant part here: 
 BYTE  magic_62;
 BYTE  magic_FF_5;
 BYTE  day:5;   //max = 0x31
 BYTE  msb_day:3;
 BYTE  month:5;  //max = 0x12
 BYTE  msb_month:3;
 BYTE  year;   //max = 0x99

 BYTE  magic_63;
 BYTE  magic_FF_6;
 BYTE  second:6;  //max = 0x59
 BYTE  msb_second:2;
 BYTE  minute:6;  //max = 0x59
 BYTE  msb_minute:2;
 BYTE  hour:6;   //max = 0x23
 BYTE  msb_hour:2;

For the sample the recording date time should be 2004-07-09 13:53:52.

Hope this helps.

> Failing that, you have a couple of alternatives. To help ffmpeg access 
> datecodes, extract them to subtitle text file format with dvdate or similar 
> beforehand, and then try mux them in (converting format if necessary) with 
> ffmpeg during encoding. The other alternative follows from this - extract 
> datecode to subtitle files for your player to render during playback. The 
> latter is what I usually do.
> 
>> 
>> Thank you in advance.
> 
> _______________________________________________
> ffmpeg-user mailing list
> ffmpeg-user@ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-user
> 
> To unsubscribe, visit link above, or email
> ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

_______________________________________________
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to