我有一个.mov文件,其中包含原始源时间代码元数据,但我想不出一种方法来使ffmpeg将原始时间代码刻录到图片中。
如果我在QuickTime Player中打开原始文件,我们可以看到它在最左侧显示了真实的时间码:
当我运行以下命令时,我还可以看到ffprobe能够看到元数据:
命令:
ffprobe -i test.mov -show_streams
缩写结果:
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'test.mov':
Metadata:
major_brand : qt
minor_version : 537199360
compatible_brands: qt
creation_time : 2018-11-05T14:20:51.000000Z
timecode : 09:59:53:00
Duration: 00:16:37.64, start: 0.000000, bitrate: 1680 kb/s
所以我可以看到ffprobe能够确定其元数据结果中文件的开始时间码。问题是如何将这些信息传递给ffmpeg命令,以使ffprobe看到的时间码是我将文件转换为时间码预烧时使用的时间?
时间码命令中标准烧录的示例如下:
ffmpeg -i test.mov -vcodec libx264 -cmp 22 -vf “ drawtext = fontfile = DroidSansMono.ttf:timecode = '09:59:53:00':r = 25: x =(w-tw)/ 2:y = h-(2 * lh):fontcolor = white:box = 1:boxcolor = 0x00000099“ -y test_bitc.mov
尽管如此,唯一的问题是我不得不手动将时间码放入自己的手中。我希望该命令使用现有的时间码元数据作为时间码输入值,以便同一命令可用于多个文件。
有人知道该怎么做吗?