Vroma Cut課題・対応策と設計

好きな場面を残す。
記録とのつながりも残す。

GPX(時刻付きの経路ファイル)とMark(覚えておきたい瞬間の日時とコメント)から、長い録画の好きな場面へ。映像と音声を再エンコードせず必要な部分を無劣化で素早く切り出します。切り出した後も、撮影時刻と記録の対応を保ちます。

私が道具を作る中で直面した課題と、対応策・理由を載せています。必要なら、その内容をもとに自分の道具をAIと作るための設計と指示を使えます。

A moment / still connected

GPSのない動画にも、
旅の記録がある。

動画自体に位置・高度・速度を埋め込めていることは前提にしません。撮影時刻にどこにいたかはiPhoneが知っています。撮影時刻と切り出し位置の対応を残し、GPXから場所をたどれる形を目指します。

設計の模式図です。時刻と場面は例示です。

場面は短く。記録はつながる。DESIGN ILLUSTRATION
GPX + Mark09:24:18 ● Mark
長い録画映像+音声
Markから、残す範囲を選ぶ
好きな場面● 09:24:18

動画にGPSがなくても。撮影時刻から、同じGPXとMarkへ戻れる。

設計で目指す体験の模式図架空の時刻・場面
Problems / Solutions

直面した課題と、私の対応策。

以下は私がCut/Editを作る中で直面した課題です。どの操作で困り、何を変え、なぜその方法を選んだかを示します。自分のカメラや素材に合う道具を作るときは、必要な課題から条件を選べます。

PC002

コピーした日の日時を、撮影した日時と取り違える

撮った動画を後日Macへコピーすると、ファイルの作成日時が撮影日を表さない場合があります。名前も利用者が変更できます。

私の対応策
Cutは動画内部の日時を優先します。内部日時が読めない場合は、利用者がファイルの作成日時を選んで使えます。使用中は「ファイルの作成日時を使用」と表示します。ファイル名や変更日時からは推測せず、作成日時を選択しない場合や取得できない場合は「時刻未確定」として扱います。
理由
日時の出所を確認しながら、内部日時のない素材でもGPXやMarkと照合できるようにするためです。
適用条件と制限
ファイルの作成日時はコピーや書き出しで変わる場合があります。撮影開始時刻を表す日時か確認してから使います。カメラの時計などにずれがある場合は、時刻合わせで補正します。

この課題を全一覧で読む

PC016

保存した時計補正を、別の動画へ当ててしまう

Vroma Studioで時計を合わせた情報をCutやEditでも使いたいとき、同じ名前の別録画へ補正を当てるとMarkの位置がずれます。

私の対応策
Studioが保存するVromaMedia.jsonには、対象動画の名前・バイト数・補正前の開始日時・長さと補正秒数が入ります。Cutは今回の動画の情報と比較し、一つだけ一致する項目の補正を使います。
理由
保存した補正がどの原本のための値か確認してから、同じ場面を他のアプリでも探せるようにするためです。
適用条件と制限
名前とサイズは同一、開始日時の差は1ms未満、長さの差は0.25秒以内が条件です。改名すると一致しません。通常取込で一致しなければ補正を追加せず、明示取込で対象が一つもなければエラーにします。

この課題を全一覧で読む

PC018

長い録画が分割され、境界をまたぐ場面を探しにくい

カメラが長い録画を複数ファイルに分けると、続きの場面を見るためにファイルを切り替える必要があります。

私の対応策
Cutは同じフォルダの「VID_日付_時刻_番号」という名前を調べ、日付・時刻部分が同じで番号が連続し、時計補正と日時の出所も同じものを一本にまとめます。例はVID_20260911_080012_025.mp4と末尾026の組です。
理由
各ファイルの長さを足した一つの位置で、境界の前後の場面を選べるようにするためです。
適用条件と制限
判定はこの名前の規則によるもので、カメラのメーカーや機種を自動判別していません。内部の撮影日時が実際に隙間なく連続しているかまでは検証していません。GoProなどの別規則の名前を同様にまとめる機能ではありません。

この課題を全一覧で読む

PC020

Insta360 Studioで、Markに当たる位置が分からない

INSVをInsta360 Studioで編集するとき、VromaのMark日時だけではファイルの何分何秒を開けばよいか分かりません。

私の対応策
Cutの参照案内はINSV等の開始日時と長さを読み、Markが当たるファイルと、その先頭からの位置を表示します。連番でまとめた録画では、最初のファイルからの通算位置も併記します。
理由
たとえば2本目の30秒目にあるMarkを、2本目の位置と録画全体の位置の両方から探せるようにするためです。
適用条件と制限
INSVの参照ではVID_日付_時刻_00_番号のような追加番号を持つ名前も扱います。撮影の連続性を証明する処理ではなく、INSVをCutで切り出したり360度映像を変換したりする機能でもありません。

この課題を全一覧で読む

PC023

同じ秒から切った動画が、前の出力を上書きする

同じ瞬間から複数の範囲を残すと、日時から作った保存名が同じになります。同時に別の処理がその名前を使う場合もあります。

私の対応策
Cutは同名ファイルを置き換えない方法で保存を確定します。同名があればvroma_01_日時.mp4、次は02という連番へ進みます。同じ保存先で別のCut出力が進行中なら、開始時に止めます。
理由
以前の動画を消さず、今回できた動画だけを新しいファイルとして残すためです。
適用条件と制限
連番は99999までです。名前の重複以外の保存エラーや候補上限では停止します。Editは自動連番へ進まず、別名を指定する扱いです。

この課題を全一覧で読む

PC025

再エンコーディングせず切ると、希望したフレームから始められない

動画には前のフレームの情報を使って再生する部分があり、そこだけを先頭にすると再生できない場合があります。

私の対応策
Cutは、前の映像がなくても再生を始められるIDRフレームを映像データから確認します。希望範囲を含むように開始を前の境界へ、終了を対応する境界へ広げて保存します。
理由
欲しい場面を含めたまま、単独の動画として再生できる開始位置を選ぶためです。
適用条件と制限
一般的な「キーフレーム」の印だけでは開始可能と判断しません。希望範囲と実際の保存範囲が違う場合は、両方を出力の対応情報に残します。

この課題を全一覧で読む

PC027

切り出しで、複数ある音声の一部を失う

カメラの動画には複数の音声トラックが入ることがあります。最初の一つだけを保存すると、別の音声が残りません。

私の対応策
Cutの出力は対応するAAC音声トラックをすべてコピーします。分割ファイルをつなぐ箇所では、隣り合う音声の圧縮単位の開始時刻の間隔を確認し、その間隔に合わせて直前の単位の保存上の長さを調整します。この調整では音声データや開始時刻を変えず、調整回数を出力の記録へ残します。
理由
映像だけでなく、原本に含まれた対応音声を切り出し後にも残すためです。
適用条件と制限
接合箇所の間隔が正で、直前の音声単位の長さの2倍以内の場合に限ります。範囲外なら出力を止めます。詳しい時間単位と末尾の扱いは全一覧に記しています。

この課題を全一覧で読む

PC028

ファイルができたことだけで、正しく保存できたと思う

ファイルの存在だけでは、選んだ映像・音声が欠けずにコピーされたか判断できません。

私の対応策
Cutは出力をもう一度開き、コピーした圧縮済み映像・音声の内容、各単位の時刻と個数を、保存時に記録した値と比べます。先頭が独立して再生できるフレームで、動画内の時刻が0から始まるかも確認します。
理由
保存した範囲のデータや時間の対応が、書き込みで変わっていないことを確かめるためです。
適用条件と制限
通常の確認は圧縮済みデータと時刻の比較です。全フレームを展開して再生できるかまで確かめる処理は、別の任意設定です。

この課題を全一覧で読む

PC032

切り出しで、カメラが付けた追加情報を失う

MP4を組み直すと、映像・音声のコピーだけではカメラ独自の付加情報が出力へ残らないことがあります。

私の対応策
Cutは原本を識別する値とともに、映像・音声の圧縮済みデータ以外の内部領域をSourceMetadataフォルダへ別保存します。圧縮済みデータを入れる領域は、その見出し部分だけを保存します。
理由
出力MP4へ引き継げなかった原本の追加情報も、元の内容のまま別途残しておくためです。
適用条件と制限
映像・音声の本体はこの別保存に含みません。この情報だけで原本を復元したり、メーカーのソフトが再利用できたりするとは保証していません。

この課題を全一覧で読む

PC040

自分のコメント保存で、他端末の修正が消える

Macでコメントを開いている間に、別端末が同じCSVのコメントを直す場合があります。

私の対応策
現行Cutは最後の入力から2秒後に自動保存を試み、読み始めた版、自分の編集内容、保存直前のファイルの三つを比べます。自分が触っていないコメントは外部の変更を残し、同じMarkを双方が違う文へ変えた場合は保存を止めます。
理由
片方の変更を無言で消さず、競合したMarkを利用者が確認できるようにするためです。
適用条件と制限
対応する日時のMarkが削除された場合や、同じ日時に複数行あって一意に決められない場合も、解決が必要です。

この課題を全一覧で読む

PC051

同じ瞬間を、別のカメラの映像でも確かめたい

複数の録画に同じ場面があると、どちらを残すか見比べたくなります。

私の対応策
Cutは主録画の補正後の撮影日時から、比較する録画内の位置を求めます。比較映像の再生・停止・移動を主録画へ追従させ、比較側は切り出し対象外だと表示します。
理由
別の視点を見ただけで、保存元の録画を取り違えないようにするためです。
適用条件と制限
日時不明や対応する映像のない時刻は比較できません。比較音声は最初は無音で、厳密なフレーム同期を保証する再生ではありません。

この課題を全一覧で読む

PC054

切り出し候補が、次回起動にも残ると思ってしまう

コメントや出力動画が保存されても、調整中の候補や動画内に追加したMarkまで保存されたとは限りません。

私の対応策
現行Cutは作業中の候補と追加Markをメモリ上で保持します。元CSVのコメント保存、出力動画と対応情報の保存、画面配置の保存はそれぞれ別に行います。
理由
何を保存できたかを分け、作業中の範囲を保存済みと取り違えないようにするためです。
適用条件と制限
現行アプリにはプロジェクトを保存・開く画面がありません。調整中の候補や追加Markを再起動後に再開できるとは案内できません。

この課題を全一覧で読む

Cutの全課題・対応策・理由

The intended experience

この設計で、
作りたい体験。

好きな場面を切り出したいときに使う道具の設計です。
GPXとMarkから候補を見つけ、残す範囲を確認します。

01

全部を見直さず、Markから。

記録した瞬間を切り出し候補に。映像を確認して、残す前後の範囲を選びます。

02

再エンコーディングせず、必要な場面を。

映像と音声の圧縮済みデータを残す設計。再生可能な境界に合わせて範囲が広がる場合は、実際の保存範囲を確認します。

03

短くした素材を、もう一度。

切り出し済みの素材から、さらに必要な部分へ。原本のどの場面かを引き継ぎ、GPXとMarkへの対応を失わないことを検証します。

Requirements / Reasons

課題から考えた、
設計の条件と理由。

ここに書くのは、AIと自分用の道具を作るための設計案です。完成アプリの機能一覧ではありません。「守る要件」はこの設計の中心となる動作と、記録を壊さず対応を保つ条件です。「便利機能の提案」は必要なものを選ぶ候補で、全部を実装する条件ではありません。実装言語や映像処理の方式は指定しません。

守る要件

C01

素材・GPX・Markを読み込む

守る要件
使う場面
動画はカメラのフォルダ、経路はVromaの保存先にあり、同じ日の記録が別々の場所にあります。
望む機能・動き
動画、GPX、同名のMarkファイルを指定し、読めたものと不足するものを一覧で確認できるようにします。Markの日時・コメントはそのまま取り込みます。日時不明や未対応形式を確定済みの素材として扱わず、追加読込で編集中の範囲を消しません。
その理由
一緒のフォルダに移す作業や、途中まで選んだ場面の探し直しを減らすためです。ファイル名だけで同じ撮影と決めると、別の日の録画を切るおそれがあります。
確認する結果
動画とGPXを別フォルダに置いても指定できます。Markなし、日時不明、読込不可を判別でき、追加読込後も選んだ範囲が残ります。
C02

時計差を、原本の時刻へ一度だけ適用する

守る要件
使う場面
Markを付けた時刻と、その瞬間の映像がずれることがあります。カメラとiPhoneの時計が一致しているとは限りません。
望む機能・動き
映像の同じ瞬間を確認して時計差を設定します。「原本の開始時刻+時計差+原本内の位置」で撮影時刻を求め、UTCで比較し、小数秒を保持します。補正対象を示し、補正済みの派生素材へ同じ補正を重ねません。
その理由
時計差は映像の長さを変える処理ではありません。元の時刻と補正量を分ければ、後から量を直しても同じ場面へ戻れ、場所との対応を保てます。
確認する結果
同じMarkと映像の瞬間が合います。補正の再読込や派生素材の読込でも差が二重にならず、別のカメラを推測で補正しません。
C03

Markから映像を見て、残す範囲を選ぶ

守る要件
使う場面
残したかったのはMarkの瞬間だけでなく、その前の景色や後の会話かもしれません。
望む機能・動き
Markの日時・コメントから対応する動画の位置へ移り、再生・停止・前後移動で場面を確認します。開始と終了を調整でき、閲覧中のMark、編集中の動画、選択範囲、書き出す候補を区別します。
その理由
Markは場面を探す手掛かりであり、完成した切り出し範囲ではありません。別のMarkを眺めただけで、調整済みの範囲が変わると作業をやり直すことになります。
確認する結果
Markから場面を見つけ、前後を見て範囲を決められます。次のMarkを見ても調整は保たれ、書き出し前に対象の動画と候補を確認できます。
C04

再エンコーディングせず切り出し、実際の境界を示す

守る要件
使う場面
好きな場面だけ残したい一方で、画質を落としたり、長い変換を待ったりしたくありません。
望む機能・動き
対応する素材では映像と音声を再エンコーディングせず切り出します。再生できる境界の都合で範囲が広がる場合は、希望範囲と実保存範囲、前後に増える長さを示します。任意のフレーム位置で常に切れるとは保証せず、未対応素材を黙って再エンコーディングしません。
その理由
指定通りの境界と再エンコーディングしない切り出しは、常に両立するとは限りません。差を見せれば、余分な部分を許容するか利用者が判断できます。
確認する結果
希望と実際の開始・終了を比べられます。保存した映像と音声が再生でき、派生素材の撮影開始時刻は実際に保存した先頭を基準にします。
C05

長い録画と分割されたファイルを扱う

守る要件
使う場面
数時間の録画がカメラによって複数ファイルに分かれ、残したい場面がその境界をまたぐことがあります。
望む機能・動き
各ファイルの開始時刻・長さ・順序から構成を示し、Markに対応するファイルと位置へ移れるようにします。境界をまたぐ範囲は構成ファイルごとの区間を保持します。欠番や時間の空白、異なる時計差は隠さず、連続しない録画を一続きと決めつけません。
その理由
ファイルごとに最初から探す負担を減らし、境界の場面を失わないためです。単に長さを足すだけでは、撮影が止まっていた時間まで映像があるように見えます。
確認する結果
分割境界の前後で同じ場面を確認でき、各部分がどの原本に属するか残ります。映像のない時刻は空白として分かります。
C06

短くした動画を、もう一度切り出す

守る要件
使う場面
一度残した場面を見返して、さらに短くしたくなることがあります。
望む機能・動き
派生素材を読み込み、使う範囲を再調整できます。派生素材内の位置から原本の区間と撮影時刻へ戻れる対応を引き継ぎ、Mark・GPX参照・既存の時計差を保持します。対応情報が読めない場合は不明として示します。
その理由
短くするたびに「元のどこだったか」が失われると、場所やMarkをたどれなくなります。派生素材の先頭を撮影の始まりと誤認しないためです。
確認する結果
二度目の切り出しでも、残した瞬間の撮影時刻とMark・GPXの対応が変わりません。原本の区間と今回保存した区間を確認できます。
C07

原本と作業データを分ける

守る要件
使う場面
試して作った道具で、動画や旅の記録を失うと取り返せません。
望む機能・動き
動画の原本は変更せず、出力・時計差・選択範囲を別に保存します。記録を読むだけでGPXやMarkを書き換えません。コメント編集を採用する場合は、入力した変更の保存先を示し、参照元を追跡して同時変更時の上書きを止め、双方の控えを残します。原本を保管し、道具はコピーで確認します。
その理由
動画を再び使える状態を保つためです。コメント編集を採用する場合も、参照と編集を区別して入力した変更を安全に残します。
確認する結果
読込・補正・切り出しで動画原本は変わりません。同名出力は別名や別の保存先を選べます。コメント編集を採用した場合は、入力した変更が示された方式で指定の参照元へ保存され、競合時は両方の内容を確認できます。
C08

動画とGPX・Markの対応を残す

守る要件
使う場面
動画にGPSがなくても、撮影した場所や、そのとき残したコメントをたどりたい場合があります。
望む機能・動き
出力と原本の識別、原本内の使用区間、希望範囲と実範囲、撮影時刻の対応、時計差の適用状態、参照するGPX・Markを保持します。位置や高度は撮影時刻からGPXを参照し、速度は測位点からの推定値とします。欠測・範囲外・高度なしを0や推測値で埋めません。
その理由
動画へGPSを埋め込むことを条件にすると、使えるカメラが限られます。同じ場面を記録側へ結び付ける情報を残せば、切り出し後も旅の場所を確かめられます。
確認する結果
GPSを持たない動画でも、同じ撮影時刻とMarkへ戻れます。記録のない時刻は不明となり、速度の求め方と単位を確認できます。
C09

保存結果と、止まった理由を確認する

守る要件
使う場面
一部の動画だけ保存できなかったとき、何をやり直すべきか分からなくなることがあります。
望む機能・動き
保存前に対象・候補件数・実範囲・保存先を確認し、処理後は成功・失敗・取消を候補ごとに示します。未対応形式、読込権限、容量不足、参照切れ等を区別し、元の範囲を保って再指定や再実行へ戻れるようにします。中断した出力を完成品として示しません。
その理由
一つの成功表示だけでは、全部が保存されたのか判断できません。調整済みの範囲を保持すれば、失敗のたびに選び直す必要もありません。
確認する結果
保存したファイルを開いて映像と音声を確認できます。失敗や取消を成功と取り違えず、同じ範囲から再実行できます。

便利機能の提案

CX01

日付とコメントから候補を探す

便利機能の提案
使う場面
何日分もの素材や多数のMarkがあると、目的の場面を一覧から探しにくくなります。
望む機能・動き
日付の絞り込み、Markコメント検索、読み込んだ素材の要約一覧があると便利だと考えています。検索結果を眺めるだけでは編集中の録画や範囲を変えません。
その理由
映像を全部開く前に候補を減らしつつ、作業中の場面を守れるためです。
確認する結果
コメントで絞り込み、条件を解除しても調整済みの範囲と選択録画が残ります。
CX02

Markの前後に仮の範囲を置く

便利機能の提案
使う場面
Markを選ぶたびに開始と終了をゼロから設定すると、候補が多い日に手間が増えます。
望む機能・動き
Markの前後に調整可能な仮範囲を作る機能があると便利だと考えています。長さを利用者が変えられ、録画の端では収まる範囲を示します。手動調整済みの候補へ設定を勝手に適用しません。
その理由
候補を作る速さと、場面ごとに前後を確かめる自由を両立できるためです。仮範囲を完成した選択と扱わないことが大切です。
確認する結果
候補の前後を変えられます。録画の端でも存在しない映像を選ばず、手動調整が残ります。
CX03

別のカメラの同じ瞬間を比較する

便利機能の提案
使う場面
同じ場面を複数のカメラで撮ったとき、どちらを残すか見比べたくなることがあります。
望む機能・動き
補正後の同じ撮影時刻で別視点を参照できる機能があると便利だと考えています。切り出し元と比較用を分け、比較を開いただけで書き出し対象を変えません。映像がない時刻はその事実を示します。
その理由
視点を選ぶ操作と、保存する素材を選ぶ操作を取り違えないためです。
確認する結果
参照動画を切り替えても主録画と範囲が残り、書き出したファイルは指定した切り出し元です。
CX04

複数候補をまとめて処理する

便利機能の提案
使う場面
候補が多い日に、一つずつ保存先を指定して処理を始めるのは繰り返しになります。
望む機能・動き
候補の一覧を確定して順に保存し、個別に取消できる機能があると便利だと考えています。開始後の編集を確定済みの処理へ混ぜず、候補ごとの結果を残します。
その理由
処理をまとめても、何を保存し何を取り消したかを判断できるためです。
確認する結果
途中の一件を取り消しても、他の候補の結果と元の調整範囲を確認できます。
記録と映像を結び付ける

同じ瞬間を、切った後も見つける。

撮影した場面と経路・Markを対応させるには、時刻の意味と参照元を残す必要があります。UTCで日時を比べることや、秒数を整数の組で保存することは一般的な方法です。Vromaのファイルと連携するときだけ、下の独自形式も使います。

経路と、覚えておきたい瞬間

GPXは経路を保存する標準形式です。VromaはGPX 1.1を使います。Topografixの公式仕様 ↗に形式の定義があります。動画との対応には、位置だけでなく観測日時のある点が必要です。

Markは瞬間の日時とコメントです。Vromaでは同じフォルダの「旅.gpx」と「旅.marks.csv」のように名前を対応させます。動画をこのフォルダへ移す必要はありません。

カメラの時計のずれを合わせる

動画のある瞬間の日時は、カメラが記録した開始日時に、時計の補正秒数と動画内の位置を足して求めます。カメラが2秒遅れていたなら+2秒です。表示を日本時間から別地域へ変えても、同じ瞬間を表す日時そのものは動かしません。

補正を適用済みの切り出し動画へ、同じ補正をもう一度足してはいけません。開始日時が読めない素材は不明と示し、名前やコピー日から撮影日時を決めません。

動画の原本と、意図した記録編集を守る

切り出しや作品編集は動画原本を変更せず、使用した範囲や追加表示を別に保存します。短い素材の0秒が原本の何秒目かを残せば、同じMarkと場所へ戻れます。

コメント編集は、自分の道具で必要な場合に採用します。採用する場合は、読み込んだMarkの参照元を追跡し、利用者が入力した変更だけを保存します。別端末の変更と競合したら勝手に上書きせず、両方を残して確認します。参照するだけで記録を書き換えません。保存はボタンでも自動保存でも構いませんが、その動きを利用者へ示します。

Vromaのファイルを使う道具を作るときの形式

Mark CSV:瞬間の日時とコメントを渡す

UTF-8、ヘッダーなしの3列です。第1列はUTCのISO 8601日時、第2列は時差付きの現地日時、第3列はコメント。小数秒を残し、カンマ・引用符・改行のあるコメントはCSVの引用で保存します。時刻を比べるときは第1列を使います。第2列は同じ瞬間の表示であり、別の時計補正ではありません。

このCSVにID列はありません。読み込む側が識別値を作ります。Cutは解析した日時の秒数とコメント、Editは第1列の日時文字列とコメントを使うため、両者のIDは常に同じとは限りません。IDは読み込み後のProjectや出力の対応情報に現れます。同じ瞬間を照合するため、参照元・日時・コメントも残します。出力にIDが付いている場合はその値を引き継ぎます。

VromaMedia.json:Studioで合わせた時計を他の道具へ渡す

補正を保存するのはStudioです。選んだ動画の場面をMarkの日時へ合わせて補正秒数を保存し、Cut/Editはこのファイルを読み込んで利用します。通常の保存先は動画フォルダで、別の場所なら利用者が明示的に読み込みます。

schemaVersion: 1のentriesに、対象のsource、補正秒数seconds、任意の表示名cameraNameを保存します。sourceは末尾の名前filename、バイト数size、補正前の開始日時cameraStart、秒単位の長さdurationです。cameraStartの数値は1970-01-01 UTCからのUnix秒です。

名前とサイズは一致、開始日時の差は1ms未満、長さの差は0.25秒以内のときだけ補正を使います。改名するとこの一致を失います。これは時計差を自動測定する処理でも、動画の全内容を比較する処理でもありません。Studioには内部日時が読めないときにファイルの作成日時を使う経路があります。Cutでも利用者が選択した場合にファイルの作成日時を使えます。使用する日時やコピー後のファイル日時によって、アプリ間で開始日時が一致しない場合があります。形式不正や曖昧な一致はエラーにします。

ExportManifest.json:切り出した素材の位置を引き継ぐ

既存Cutの出力形式と連携するときは、MP4とこの対応ファイルを同じ出力フォルダに残します。CutはschemaVersion: 1を書き、Editは1と2を読みます。clipsのoutputFileが出力名、creationDateが出力の最初の実フレームに対応する補正後の撮影日時です。原本の開始日時や希望した開始日時とは限りません。

requestedは希望した範囲、actualは再生できる境界へ広げた実際の範囲です。どちらも切り出す前の原本、またはまとめた録画内の位置であり、出力の0秒を基準にした範囲ではありません。整数valueを時間単位timescaleで割ると秒になります。Editは両範囲の差から、出力内で希望部分が始まる位置を求めます。

この対応ファイルの数値日時は2001-01-01 UTCを基準にした秒数で、VromaMedia.jsonのUnix秒とは基準が違います。EditにはISO 8601文字列を読む経路もあります。表示用タイムゾーンを変えても絶対日時へ再び時差を足しません。

任意のmarksには識別値id、UTCのISO 8601日時date、comment、出力動画内の秒位置sourceTimeがあります。Mark情報のない出力は元のGPXとMark CSVを併用します。自分の道具が既存Cut/Editと連携しない場合、同じ形式を採用することは必須ではありません。

stationary:新しい測位点を作らず停止を表す

Vromaの停止拡張は、OSが確認した有限の停止区間を、すでにある実測点に添えるものです。観測していない時刻に新しい位置の点を追加するための形式ではありません。通常のGPX二点の近さから停止を推定する方法とは区別します。

実測点のtrkptの直下にあるextensionsへ、名前空間https://www.tsuyukimakoto.com/xmlns/vroma/gpx/1のstationary要素を一つ置きます。開始fromと終了untilはその要素の属性で、現行の書出しは小数秒付きのUTC ISO 8601日時です。たとえば<vroma:stationary from="2026-10-07T01:00:00.000Z" until="2026-10-07T01:02:00.000Z" />です。vromaの接頭辞は上の名前空間へ宣言します。実測点の時刻≦from<untilを満たし、次の観測があればそこまでに制限し、終了時刻自体は区間へ含めません。接頭辞のつづりでなく名前空間と要素名で読み、不正・重複の宣言を停止の根拠にしません。推定値を観測点としてGPXへ書き戻しません。

自分の道具を作りたいとき

読んだ内容を、AIへ渡す。

まず、このページのURLをAIへ渡し、課題・対応策・理由と設計条件を読んでもらいます。目的と、記録のコピーを読める場所や方法を添えてください。AIがURLを取得できない場合は、本文をコピーして渡せます。

参照するページhttps://www.tsuyukimakoto.com/products/vroma/cut/

下の指示は相談の始め方です。URLが読めないときは「課題と設計の本文をコピー」で本文も渡してください。

Vroma Cut / AIへの指示
次の課題・対応策・理由と設計条件を参考に、私のカメラ・素材・作業環境に合う自分用の道具を作ってください。
https://www.tsuyukimakoto.com/products/vroma/cut/
URLを取得できない場合は、私が渡す本文を使ってください。既存の対応策は作者の実装例なので、同じ言語や映像処理方式を必須にせず、選ぶ方法と理由を説明してください。
作りたい道具と用途:[指定]
カメラ・素材形式・OSと作業環境:[指定]
残したいMarkや範囲:[指定]
記録のコピーの保存場所と、AIが読める方法:[指定]
既存Cut/Edit出力との互換性:[必要な場合だけ指定。通常は前提にしない]
まず課題から必要な条件を整理し、未知の条件は推測せず示してください。設計と実装、小さなコピーでの確認を進めてください。
動画原本を変更しないでください。コメント編集は必要な場合に採用し、採用する場合は参照元を追跡して利用者が入力した変更を保存し、同時変更を勝手に上書きしないでください。UTC比較は一般の時刻処理、Vroma独自形式は選んだ連携に応じて使ってください。
同じMarkと場面、時計補正、欠測、希望範囲と実保存範囲、再切り出し後の対応を確認してください。実装したこと、未対応条件、確認結果を分けて示してください。

課題と対応策は全項目の一覧でも読めます。本文コピーはこのページの掲載範囲です。全一覧も使う場合は、そのURLか本文を併せて渡してください。

Check your own records

作った道具を、
自分の記録のコピーで確かめる。

原本は保存したまま、小さな範囲のコピーから。
使えることと、まだ扱えないことを確かめます。

確認すること自分の記録で見る結果
同じMark、同じ場面自分のMarkが元の動画のどの場面かを確認する。時計差の補正や再切り出しの後も、同じ撮影時刻とGPXへの対応が保たれている。
動画にGPSがない位置や高度を持たない自分の動画でも、撮影時刻から持ち帰ったGPXを参照できる。時刻が読み取れない場合は、推測で埋めずに示す。
原本と、保存する範囲原本を残し、コピーだけで確認する。希望した範囲と実際に保存した範囲を区別し、映像と音声を再生して確認する。GPX欠測や範囲外は不明として扱う。
切り出した動画を読み直す保存した動画と対応情報を読み直し、同じMarkが同じ撮影時刻を指すことを確認する。作業候補の保存・再開とは区別する。
コメント編集を採用する場合の保存と同時変更コメント編集を採用する場合に確認する。参照するだけでは記録が変わらず、入力した変更は示された保存方式で指定の参照元へ反映される。別端末と同じMarkを違う文へ直した場合は上書きを止め、両方の内容を確認できる。
Choose by purpose

目的に合わせて、選ぶ。

手元の写真や動画を見返すならChrova。動画を作品にまとめたいときはEditの設計を読めます。