Foreword

SMPTE 时间同步,实际能搜到使用的例子

绝对时间同步

使用UTC时间,但是UTC时间往往是没有ms时间的,所以要更高精度的时候,UTC时间不合适

SMPTE同步

SMPTE是个大型时间同步规则的制定机构,有多个不同情况下使用的时间同步标准。

最初只是给视频信息做同步的,后续音频、灯光等等多媒体设备加入,扩充了使用范围和标准。以前电视最常见的没信号的彩条也是这个组织规定的。

直接使用SMPTE 大概率是从视频或者是音频的信号进行同步接入。

最常见的时间同步就是拍摄现场的场记板,做的好的同步,会和摄像机、录音设备等联动,记录当前的时间。每天可能有成百上千条素材产生的时候,通过时间同步就很容易定位到某一个时刻发生的各个视频内容,方便后期、剪辑、审阅等等。

而如果没有时间同步,想想那个素材量,整理起来得有多麻烦。

多台设备做时间同步,一般会用Genlock,相当于是校准了每个设备上的系统时钟,防止他们跑偏

SMPTE成立时间非常早,早期技术不发达,定下来的一些标准不够好(29.97fps这种),导致后来要去兼容,于是弄出来了丢帧时间码和非丢帧时间码。

非丢帧时间码就是各种整数的FPS

丢帧时间码则是非整数FPS的情况,因为时间码上没办法做小数,所以通过丢帧实现小数fps

这种方式实现的效果,就是实际播放的时候只会丢弃这个时间码,而不会丢失实际的帧,这样一份素材也能很容易兼容到不通FPS中

SMPTE也非常类似Unicode那一套,编码方式多种多样,不通载体里形式不一样。

LTC

LTC,Linear(Longitudinal)Timecode,LTC是SMPTE的编码方式之一。一般叫做线性时间编码,或者纵向时间编码

主要是通过时分秒、帧来确定时间的。帧的话实际要根据选择的模式,比如24fps、30fps、29.97fps、60fps等

LTC是规定了使用80bits,10bytes作为一个时间同步帧的存储结构。

MIDI Timecode同步

MTC,MIDI timecode,MIDI Time Code(MTC)是MIDI中的一个子协议。在MTC的协议数据中包含了SMPTE的时间信息。

这个本质上还是非常简单的,是直接把LTC的编码包进去了,只是外部是MIDI的数据帧而已

ArtTime 同步

The data format is compatible with both longitudinal time code and MIDI time code. The four key types of Film, EBU, Drop Frame and SMPTE are also encoded.

Art-Net 中的同步是兼容了多种时间编码的,协议包内就可以区分清楚。

ArtTime 则是选择从灯光设备角度进行接入

Art-Net中就没有直接使用LTC的编码格式,而是自己定义了一套。

声音同步

SMPTE可以编码,所以也有人直接编码以后嵌入音频之中,这样识别到特定的音频就知道这里指代的时间戳了

音视频附加SMPTE信息

给一段音频附加了SMPTE信息,可以将LTC通道指定为左/右声道,直接播放就能听到LTC的特定频率了

一般控制灯光等设备,是单独指定某个通道,音乐还是正常播放的,最后将这个通道输出给这些设备就行了,需要注意各通道的帧率要一致,否则定位有偏差。

https://www.reaper.fm/

中文语言包

https://stash.reaper.fm/v/41464/REAPER_zh_CN_www.szzyyzz.com.rar

读取验证SMPTE

java提取SMPTE信息

https://stackoverflow.com/questions/7368615/java-class-for-extracting-ltc-smpte-timecode-from-an-audio-signal

c# SMPTE时间转换库

https://github.com/ailen0ada/Timecode4net

libltc C读取和处理ltc的库

https://github.com/x42/libltc

Summary

Quote

https://zhuanlan.zhihu.com/p/101728723

https://blog.frame.io/2017/07/17/timecode-and-frame-rates/

https://www.douyin.com/video/7158293264326495528

https://developer.huawei.com/consumer/cn/doc/development/Media-Guides/ltc-code-0000001525719745