How to remove a QuickTime Timecode from a video

ReamJAM VR just released a video which includes a QuickTime Timecode stream, making remuxing with ffmpeg (and perhaps other things) a little tricky. A quick ffmpeg command to remux it minus this superfluous workflow remnant of MacOS would be something like this:

Summary

ffmpeg -i "Input.mp4" -map 0:v -map 0:a -c copy -movflags use_metadata_tags -map_metadata -1 -metadata:s:t handler_name="" -metadata:s:t handler="" -metadata:s:t name="" -movflags +faststart "Output.mp4"

Why do this? Why remove the QuickTime Timecode via the command above? Well its existence COULD cause various problems I don’t even know about, but personally I remux my VR videos with thumbnail covers using this recursive command:

Summary

for i in *.mp4; do ffmpeg -i "$i" -i "${i%.*}.png" -map 1 -map 0 -c copy -disposition:0 attached_pic -movflags +faststart "/OutputDir/${i%.*}.mp4"; done;

And the QuickTime TC stream was making it fail. If you run both of these, it would make sense to not do -movflags +faststart for intermediate files, or do it as one command.

try adding -write_tmcd 0 to your ffmpeg command or as a preprocessing step?

-write_tmcd 0 is probably what RealJam VR should’ve used when encoding/remuxing for distribution, but from what I’ve read it cannot remove an existing QT TC, only decide whether to write a new one.

In case there is any confusion or you just skimmed my post, I did solve it; my first Summary is the command to remove it. This is not a “how to?” but rather a how to.

My bad, for some reason I thought this was within the help category.
Looking deeper into it, mp4 does not officially support timecode so my suggestion may not have worked anyway. TIL.

1 Like