arikrupnik / ltcsync

Syncs media files using embedded timecode (LTC)
GNU General Public License v3.0
45 stars 6 forks source link

Extract TC metadata from files that have it, but noLTC #18

Open arikrupnik opened 5 years ago

arikrupnik commented 5 years ago

A common use case is using a sound recorder to jam-sync Tentacle(s) which then feed LTC into audio inputs on cameras. The resulting file set has video file(s) with LTC and an audio file without. The audio file has metadata in the the format that the specific recorder uses.

It is desirable, for files that have no LTC, to examine the metadata for timestamps.

arikrupnik commented 5 years ago

Example from ZOOM H4 WAV:

  Metadata:
    encoded_by      : ZOOM Handy Recorder H6
    date            : 2018-12-11
    creation_time   : 13:34:21
    time_reference  : 2345328000
    coding_history  : A=PCM,F=48000,W=16,M=stereo,T=ZOOM Handy Recorder H6 XY STEREO             

(H4 has no timecode capability, but it does have an internal clock the user can set manually. It reports values from this clock)

arikrupnik commented 5 years ago

Example from Sound Devices 788T WAV:

    comment         : sSPEED=025.000-ND 
                    : sTAKE=001 
                    : sUBITS=$13031901 
                    : sSWVER=3.02 
                    : sSCENE=D3-12 
                    : sFILENAME=D3-12T001.WAV 
                    : sTAPE=19Y03M13 
                    : sCIRCLED=FALSE 
                    : sTRK3=XXXXXXXX 
                    : sTRK4=XXXXXXXX 
                    : sTRK6=XXXXX 
                    : sNOTE= 
                    : 
    encoded_by      : Sound Dev: 788T S#XXXXXXXXXXXX
    originator_reference: USSDVXXXXXXXXXXXX190313I6J03XV01
    date            : 2019-03-13
    creation_time   : 18:06:38
    time_reference  : 3134736001
    coding_history  : A=PCM,F=48000,W=24,M=multi,R=48000,T=3 Ch 
chrisspiegl commented 3 years ago

Zoom F6

set to 24fps

32bit float file at 48.000 Hz

 Metadata:
    comment         : zSPEED=24.000ND
                    : zTAKE=006
                    : zUBITS=20110600
                    : zSCENE=201106
                    : zTAPE=1
                    : zCIRCLED=FALSE
                    : zTRK3=Tr1
                    : zNOTE=
                    :
    encoded_by      : ZOOM F6
    date            : 2020-11-06
    creation_time   : 17:12:22
    time_reference  : 2973168000
    coding_history  : A=PCM,F=48000,W=32,M=mono,T=F6;VERSION=1.10;1:1 0 0 CNTR   00;2:0 0 0 CNTR MUTE;3:0 0 0 CNTR MUTE;4:0 0 0 CNTR MUTE;5:0 0 0 CNTR MUTE;6:0 0 0 CNTR MUTE;7:0 0 0 L100 MUTE;8:0 0 0 L100 MUTE;L:0 1 0 CNTR   00;R:0 1 0 CNTR   00;FaderOffset=  00   00   00   00
  Duration: 00:00:12.00, bitrate: 1623 kb/s
    Stream #0:0: Audio: pcm_f32le ([3][0][0][0] / 0x0003), 48000 Hz, 1 channels, flt, 1536 kb/s

24bit float file at 48.000 Hz

Metadata:
    comment         : zSPEED=24.000ND
                    : zTAKE=002
                    : zUBITS=20110600
                    : zSCENE=201106
                    : zTAPE=1
                    : zCIRCLED=FALSE
                    : zTRK3=Tr1
                    : zNOTE=
                    :
    encoded_by      : ZOOM F6
    date            : 2020-11-06
    creation_time   : 17:09:44
    time_reference  : 2965584000
    coding_history  : A=PCM,F=48000,W=24,M=mono,T=F6;VERSION=1.10;1:1 0 0 CNTR -480;2:0 0 0 CNTR MUTE;3:0 0 0 CNTR MUTE;4:0 0 0 CNTR MUTE;5:0 0 0 CNTR MUTE;6:0 0 0 CNTR MUTE;7:0 0 0 L100 MUTE;8:0 0 0 L100 MUTE;L:0 1 0 CNTR   00;R:0 1 0 CNTR   00;FaderOffset=  00   00   00   00
  Duration: 00:00:11.00, bitrate: 1247 kb/s
    Stream #0:0: Audio: pcm_s24le ([1][0][0][0] / 0x0001), 48000 Hz, 1 channels, s32 (24 bit), 1152 kb/s
chrisspiegl commented 3 years ago

Atomos Ninja V

The Atomos Ninja V also inserts Timecode data into the media file, so I thought I'd share the metadata read.

Timecode on the device was set to always start at 01:00:00:00 in my current setup. That's why it is that right now.

 Metadata:
    major_brand     : qt
    minor_version   : 537199360
    compatible_brands: qt
    creation_time   : 2020-11-09T15:18:21.000000Z
    make            : Atomos
    make-eng        : Atomos
    encoder         : NinjaV - 10.52
    encoder-eng     : NinjaV - 10.52
    com.atomos.hdr.range: Legal
    com.apple.proapps.image.{TIFF}.Make: Atomos
    com.apple.proapps.image.{TIFF}.Model: NinjaV
    com.apple.proapps.image.{TIFF}.Software: 10.52
    timecode        : 01:00:00:00
  Duration: 00:21:34.58, start: 0.000000, bitrate: 298164 kb/s
    Stream #0:0(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 4 channels, s32 (24 bit), 4608 kb/s (default)
    Metadata:
      creation_time   : 2020-11-09T15:18:21.000000Z
    Stream #0:1(eng): Video: prores (LT) (apcs / 0x73637061), yuv422p10le(tv, bt709, progressive), 3840x2160, 293550 kb/s, SAR 1:1 DAR 16:9, 24 fps, 24 tbr, 2400 tbn, 2400 tbc (default)
    Metadata:
      creation_time   : 2020-11-09T15:18:21.000000Z
      encoder         : Apple ProRes 422 LT
    Stream #0:2(eng): Data: none (tmcd / 0x64636D74) (default)
    Metadata:
      creation_time   : 2020-11-09T15:18:21.000000Z
      timecode        : 01:00:00:00