How to remove timecode track generated by DaVinci Resolve
When exporting a video from DaVinci Resolve to a QuickTime mov container you will add a timecode (tmcd) track to the file. When checking with ffprobe on the video, there will be a stream looking like this:
Stream #0:2(und): Data: none (tmcd / 0x64636D74), 0 kb/s (default)
This is can give issues as some applications, at least on Android, won't be able to open the file and will just complain that something is wrong with the video file.
YouTube Short refusing to add video with "Unable to preview video"
For example, if you have created a video for use as YouTube Short that you would like to upload trough the YouTube app from a phone/tablet, in case you would like to adjust something, add a sound, etc. It won't open, the YouTube app will just complain when adding the clip with a "Unable to preview video" and refuses to add it.
The timecode track removal solution
Fortunately the solution is very easy, we remove the timecode track with ffmpeg. The problem is that any of the stream mapping options won't do anything and the timecode option is a bit hidden in the documentation if don't know what you are looking for exactly, as it is container specific.
What we will do is remux the the video file, making sure we are copying (and NOT re-encoding) the video and audio tracks and remove the timecode track.
The magic option for removing the timecode track is "-write_tmcd 0".
ffmpeg -i input-video.mov -c:a copy -c:v copy -write_tmcd 0 output-video.mov
Now the output-video.mov will be without a timecode track and you should be able to use it with the problematic application.