Thanks: 5 times
Was thanked: 2 time(s) in 2 post(s)
I'm looking for reports of how other folks capture or generate timecode. FFmpeg can do the job, but see below for a limitation that I haven't been able to work around.
- - - -
We use vMix to mix, overlay and record feeds from 5 cameras on a robot.
Capturing timecode with each recording is essential to syncing the video to other data, for example, the robot's location. We use UTC for timecode, so, starting at 0:00 is not really an option. We also selectively record multiple clips during a session, and I'd like to enable our operators to use vMix's Recording or Multicorder controls. vMix has been ideal for our application: we use NDI (in + out), overlays, shortcuts, streaming, etc.
Currently, we generate and record an audio LTC track, which works, but requires additional post-recording steps to convert to timecode tracks. We record in x264 for file size and ease of distribution and create proxies for editing.
FFmpeg can generate a TMCD timecode track, based on Apple's original spec for QuickTime MOV files, which would work for our purposes. However, FFmpeg's timecode feature requires the start time for the timecode track to be provided in the command line (e.g. "ffmpeg -i input.mpg -timecode 01:02:03.04").
vMix invokes FFmpeg using command line templates found in the ffmpegformats.xml file, brilliantly allowing some user control (tip of the hat to Martin, again). However, I can see no way of inserting the current system time in that invocation.
- Shell escape, then call time or Get-Date: I've \\\\tried. Does vMix invoking FFmpeg involve the shell, to be escaped to?
- Use External dshow streams to FFmpeg, with FFmpeg invoked outside of vMix (hat tip DWAM): would work, but I'd really like to control recordings from inside vMix
- Feature request for vMix for a variable (system time) that can be included in the FFmpeg command line template: so tempting, because vMix already accepts a formatted date-time stamp template for the filename.
- Feature request for FFmpeg or code it myself to allow a timecode track start time option of 'now', which has precedent in the FFmpeg Utilities.
Or some option I've overlooked. One additional wrinkle - on occasion we've had the FFmpeg-based recording fail, generating an alert in vMix (thankfully). The logs have not been much help, but I without timecode output I've been able to not rely on the FFmpeg recording option.
1 user thanked rickb for this useful post.