Built-in rules
Subframe video edits
Reports clip edges and sequence in/out points that are not on a frame boundary.
| Property | Value |
|---|---|
| Id | no-subframe-video-edits |
| Category | Static |
| Default severity | warning |
| Scope | clip |
Options
| Option | Type | Default | Description |
|---|---|---|---|
includeAudio | boolean | false | Also check audio clip edges, which Premiere lets sit between frames. |
Customize it
Turn the rule on or off in the panel's Rules settings. To change its options, severity or wording, open it with its cogwheel in the rule editor and save: your copy replaces the built-in rule until you revert it. You can also copy the file below into your rules folder as no-subframe-video-edits.rule.json and edit it. See Change a built-in rule.
Rule file
{
"formatVersion": 1,
"id": "no-subframe-video-edits",
"name": {
"en_US": "Subframe video edits",
"de_DE": "Videoschnitte zwischen Frames",
"es_ES": "Ediciones de vídeo entre fotogramas",
"fr_FR": "Montages vidéo entre deux images",
"it_IT": "Modifiche video tra fotogrammi",
"ja_JP": "サブフレームのビデオ編集",
"ko_KR": "서브프레임 비디오 편집",
"pt_BR": "Edições de vídeo entre quadros",
"ru_RU": "Монтаж между кадрами",
"zh_CN": "子帧视频编辑"
},
"description": {
"en_US": "Reports clip edges and sequence in/out points that are not on a frame boundary.",
"de_DE": "Meldet Clipkanten und In-/Out-Points der Sequenz, die nicht auf einer Framegrenze liegen.",
"es_ES": "Detecta bordes de clips y puntos de entrada/salida de la secuencia que no coinciden con un límite de fotograma.",
"fr_FR": "Signale les bords d'éléments et les points d'entrée et de sortie de séquence qui ne tombent pas sur une limite d'image.",
"it_IT": "Segnala i bordi delle clip e i punti di attacco/stacco della sequenza non allineati a un fotogramma.",
"ja_JP": "フレームの境界上にないクリップの端とシーケンスのイン/アウトポイントを報告します。",
"ko_KR": "프레임 경계에 맞지 않는 클립 가장자리와 시퀀스 시작/종료 지점을 보고합니다.",
"pt_BR": "Relata bordas de clipes e pontos de entrada/saída da sequência que não estão no limite de um quadro.",
"ru_RU": "Сообщает о границах клипов и точках входа и выхода эпизода, не совпадающих с границей кадра.",
"zh_CN": "报告未对齐帧边界的剪辑边缘和序列入点/出点。"
},
"category": "static",
"scope": "clip",
"severity": "warning",
"options": {
"includeAudio": {
"type": "boolean",
"default": false,
"description": "Also check audio clip edges, which Premiere lets sit between frames."
}
},
"checks": [
{
"condition": {
"all": [
{
"any": [
{
"field": "clip.trackType",
"operator": "equals",
"value": "video"
},
{
"field": "options.includeAudio",
"operator": "equals",
"value": true
}
]
},
{
"field": "clip.startFrameOffset",
"operator": "greaterThan",
"value": 0
},
{
"field": "clip.endFrameOffset",
"operator": "greaterThan",
"value": 0
}
]
},
"message": {
"en_US": "Clip \"{clip.name}\" on {clip.track} starts and ends between two frames.",
"de_DE": "Clip „{clip.name}“ auf {clip.track} beginnt und endet zwischen zwei Frames.",
"es_ES": "Clip \"{clip.name}\" en {clip.track} empieza y termina entre dos fotogramas.",
"fr_FR": "Élément « {clip.name} » sur {clip.track} commence et se termine entre deux images.",
"it_IT": "Clip \"{clip.name}\" su {clip.track} inizia e termina tra due fotogrammi.",
"ja_JP": "クリップ「{clip.name}」({clip.track})の開始位置と終了位置がフレームの間にあります。",
"ko_KR": "{clip.track}의 클립 \"{clip.name}\"이(가) 두 프레임 사이에서 시작하고 끝납니다.",
"pt_BR": "Clipe \"{clip.name}\" em {clip.track} começa e termina entre dois quadros.",
"ru_RU": "Клип «{clip.name}» на {clip.track} начинается и заканчивается между двумя кадрами.",
"zh_CN": "{clip.track} 上的剪辑“{clip.name}” 的开头和结尾均位于两帧之间。"
},
"data": {
"startOffsetTicks": "clip.startFrameOffset",
"endOffsetTicks": "clip.endFrameOffset"
}
},
{
"condition": {
"all": [
{
"any": [
{
"field": "clip.trackType",
"operator": "equals",
"value": "video"
},
{
"field": "options.includeAudio",
"operator": "equals",
"value": true
}
]
},
{
"field": "clip.startFrameOffset",
"operator": "greaterThan",
"value": 0
},
{
"field": "clip.endFrameOffset",
"operator": "equals",
"value": 0
}
]
},
"message": {
"en_US": "Clip \"{clip.name}\" on {clip.track} starts between two frames.",
"de_DE": "Clip „{clip.name}“ auf {clip.track} beginnt zwischen zwei Frames.",
"es_ES": "Clip \"{clip.name}\" en {clip.track} empieza entre dos fotogramas.",
"fr_FR": "Élément « {clip.name} » sur {clip.track} commence entre deux images.",
"it_IT": "Clip \"{clip.name}\" su {clip.track} inizia tra due fotogrammi.",
"ja_JP": "クリップ「{clip.name}」({clip.track})の開始位置がフレームの間にあります。",
"ko_KR": "{clip.track}의 클립 \"{clip.name}\"이(가) 두 프레임 사이에서 시작합니다.",
"pt_BR": "Clipe \"{clip.name}\" em {clip.track} começa entre dois quadros.",
"ru_RU": "Клип «{clip.name}» на {clip.track} начинается между двумя кадрами.",
"zh_CN": "{clip.track} 上的剪辑“{clip.name}” 的开头位于两帧之间。"
},
"data": {
"startOffsetTicks": "clip.startFrameOffset",
"endOffsetTicks": "clip.endFrameOffset"
}
},
{
"condition": {
"all": [
{
"any": [
{
"field": "clip.trackType",
"operator": "equals",
"value": "video"
},
{
"field": "options.includeAudio",
"operator": "equals",
"value": true
}
]
},
{
"field": "clip.startFrameOffset",
"operator": "equals",
"value": 0
},
{
"field": "clip.endFrameOffset",
"operator": "greaterThan",
"value": 0
}
]
},
"message": {
"en_US": "Clip \"{clip.name}\" on {clip.track} ends between two frames.",
"de_DE": "Clip „{clip.name}“ auf {clip.track} endet zwischen zwei Frames.",
"es_ES": "Clip \"{clip.name}\" en {clip.track} termina entre dos fotogramas.",
"fr_FR": "Élément « {clip.name} » sur {clip.track} se termine entre deux images.",
"it_IT": "Clip \"{clip.name}\" su {clip.track} termina tra due fotogrammi.",
"ja_JP": "クリップ「{clip.name}」({clip.track})の終了位置がフレームの間にあります。",
"ko_KR": "{clip.track}의 클립 \"{clip.name}\"이(가) 두 프레임 사이에서 끝납니다.",
"pt_BR": "Clipe \"{clip.name}\" em {clip.track} termina entre dois quadros.",
"ru_RU": "Клип «{clip.name}» на {clip.track} заканчивается между двумя кадрами.",
"zh_CN": "{clip.track} 上的剪辑“{clip.name}” 的结尾位于两帧之间。"
},
"data": {
"startOffsetTicks": "clip.startFrameOffset",
"endOffsetTicks": "clip.endFrameOffset"
}
},
{
"scope": "sequence",
"condition": {
"field": "sequence.inPointFrameOffset",
"operator": "greaterThan",
"value": 0
},
"message": {
"en_US": "Sequence in point is between two frames.",
"de_DE": "Der In-Point der Sequenz liegt zwischen zwei Frames.",
"es_ES": "El punto de entrada de la secuencia está entre dos fotogramas.",
"fr_FR": "Le point d'entrée de la séquence se trouve entre deux images.",
"it_IT": "Il punto di attacco della sequenza è tra due fotogrammi.",
"ja_JP": "シーケンスのインポイントがフレームの間にあります。",
"ko_KR": "시퀀스 시작 지점이 두 프레임 사이에 있습니다.",
"pt_BR": "O ponto de entrada da sequência está entre dois quadros.",
"ru_RU": "Точка входа эпизода находится между двумя кадрами.",
"zh_CN": "序列入点位于两帧之间。"
},
"location": "sequence.inPoint",
"data": {
"point": {
"literal": "in"
},
"offsetTicks": "sequence.inPointFrameOffset"
}
},
{
"scope": "sequence",
"condition": {
"field": "sequence.outPointFrameOffset",
"operator": "greaterThan",
"value": 0
},
"message": {
"en_US": "Sequence out point is between two frames.",
"de_DE": "Der Out-Point der Sequenz liegt zwischen zwei Frames.",
"es_ES": "El punto de salida de la secuencia está entre dos fotogramas.",
"fr_FR": "Le point de sortie de la séquence se trouve entre deux images.",
"it_IT": "Il punto di stacco della sequenza è tra due fotogrammi.",
"ja_JP": "シーケンスのアウトポイントがフレームの間にあります。",
"ko_KR": "시퀀스 종료 지점이 두 프레임 사이에 있습니다.",
"pt_BR": "O ponto de saída da sequência está entre dois quadros.",
"ru_RU": "Точка выхода эпизода находится между двумя кадрами.",
"zh_CN": "序列出点位于两帧之间。"
},
"location": "sequence.outPoint",
"data": {
"point": {
"literal": "out"
},
"offsetTicks": "sequence.outPointFrameOffset"
}
}
],
"matching": "all",
"data": {
"frameDuration": "sequence.frameDuration"
}
}