トップブログ

商談の録画を、自社サーバーではなくお客様のドライブに置いた理由

2026年9月3日

録画の実体はお客様のGoogleドライブに置き、ツール側のデータベースにはリンクだけを残している
録画の実体はお客様のGoogleドライブに置き、ツール側のデータベースにはリンクだけを残している

商談を録画すると、2時間で最大806MBのファイルが1本できます。このファイルをどこに置くか。ツールを提供する側のサーバーに集めるか、お客様自身のGoogleドライブに置くか。Meetnect では両方を実装したうえで、既定をお客様のドライブにしました。

この記事では、その判断の中身を書きます。決め手になったのは保存料金ではありませんでした。料金を計算したら、思っていたより安かったからです。効いたのは、使うのをやめたときに何が残るかでした。


この記事の内容
  1. 2時間の商談1本で、最大806MBが残る
  2. 既定は、ツール側ではなくお客様のドライブ
  3. アプリがドライブに対して持っている権限は、狭い
  4. それでも、自社サーバー保存も作った
  5. 料金を計算したら、決め手にならなかった
  6. 効いたのは、やめたときに何が残るか

2時間の商談1本で、最大806MBが残る

まず量の話です。録画の上限は映像800kbps・音声96kbpsに決めてあります。2時間だとこうなります。

(800 + 96) kbps × 7,200秒 = 6,451,200 kbit ≒ 806 MB

実際には商談の画面はほとんど動かないので、8分の実録画を測った497kbpsから引き伸ばすと2時間で447MB前後に収まります。測り方の詳細は 2時間の商談を録画すると、パソコンの中で何が起きているか に書きました。

1本で450MB前後、上限まで振れて806MB。 これが商談のたびに増えていきます。置き場所を決めないと始まらない量です。

既定は、ツール側ではなくお客様のドライブ

Meetnect の設定は、初期値が「お客様のGoogleドライブ」になっています。データベースの定義でいうと、保存先を持つ列の既定値が drive です。

storage_mode TEXT DEFAULT 'drive'  -- 'drive'(お客様のGoogleドライブ)| 'server'(自社サーバー)

ドライブに保存したとき、Meetnect 側のデータベースに残るのは録画のリンクとファイルIDだけです。録画を記録するテーブルには drive_idlink はありますが、動画の中身を入れる列がありません。動画そのものはうちを一度も通らずにブラウザからドライブへ上がります。

保存先のフォルダは、商談ごとに切っています。会社の共通フォルダの下に、その商談を主催した人の名前でフォルダを作り、さらにその下に 商談_{ルームID} のフォルダを作って、録画とボードのPDFを同じ場所にまとめます。あとから探すときに、日付ではなく商談で辿れるようにするためです。

アプリがドライブに対して持っている権限は、狭い

「お客様のドライブに保存する」と聞くと、ツールにドライブを丸ごと見られるように思えます。実際に要求している権限はそこまで広くありません。

Meetnect が使うのは https://www.googleapis.com/auth/drive.file という1つだけです。Googleの説明では、この権限で触れるのは「アプリで開いたファイル、またはファイル選択画面を使って利用者がアプリに渡したファイル」に限られます(Google Drive API のスコープ一覧)。Googleはこれを機微でないスコープに分類していて、推奨される選び方だとしています。

つまり、アプリが作った録画ファイルと、利用者が自分で選んだ保存先フォルダの中しか見えません。 同じドライブに入っている見積書も人事のファイルも、権限の外にあります。保存先フォルダを選ぶ操作を初回に一度だけお願いしているのは、この狭い権限のままで動かすためです。

それでも、自社サーバー保存も作った

既定はドライブですが、server に切り替えると Cloudflare R2 というオブジェクトストレージに保存されます。Googleアカウントを使っていない会社があるので、ドライブ一本にはできませんでした。

こちらは会社ごとの分離を鍵の名前でやっています。保存する鍵は s/{ドメイン}/{ルーム}/{種類}/{時刻_ファイル名} の形で、読み書きのたびに「その鍵が自分の会社のドメインで始まっているか」を見て、違えば403で断ります。再生も認証必須で、キャッシュは private にしてあります。他社の鍵を推測して叩いても、そこで止まります。

録画は数百MBあるので、一度に送らず8MBずつに切ってアップロードします。開始・各パート・確定の3段階に分かれていて、途中のパートが失敗したらその番号が分かるようにしてあります。1本のリクエストで数百MBを投げると、失敗したときに最初からやり直しになるためです。

料金を計算したら、決め手にならなかった

自社サーバーに置く場合、容量はそのまま自分のコストになります。だから保存中の概算バイト数を会社ごとに数える列を持っています。

では実際いくらか。R2 の標準ストレージは 1GBあたり月0.015ドル、無料枠は月10GBです(Cloudflare R2 の料金)。

仮に1社が週5本、2時間の商談を録画するとします。1本450MBなら月20本で9GB。1社を置いただけで、1か月ちょっとで無料枠を使い切ります。 ただし1年ためて108GBになっても、無料枠の10GBを引いた98GBぶんで月1.47ドル。10社ぶん1,080GBためても月16.05ドルです。

正直に言うと、この金額は判断の理由になりません。 毎年積み上がるので放っておけば増えますが、増え方より先に別の問題が来ます。

効いたのは、やめたときに何が残るか

お客様のドライブに置けば契約が終わっても引き渡す作業は発生しないが、こちらのサーバーに置くと引き渡しの作業が要る
お客様のドライブに置けば契約が終わっても引き渡す作業は発生しないが、こちらのサーバーに置くと引き渡しの作業が要る

判断を決めたのはここでした。

お客様のドライブに置いていれば、Meetnect の契約が終わっても録画は1本もなくなりません。フォルダはもともとお客様のもので、うちは書き込む権限を持っていただけです。解約の日に、こちらから渡すものは何もありません。すでに全部そちらにあります。

自社サーバーに置いていた場合、解約のときに録画をまとめて引き渡す作業が発生します。上の計算だと1社1年で108GBなので、メールで送れる量ではありません。過去の商談を見返したいという要求は、契約が切れたあとにも出ます。そのときに「うちのサーバーに預かっています」という状態は、お互いにとって面倒です。

もうひとつ、商談の録画には相手の会社の発言が入っています。それを預かる先が増えるほど、説明することが増えます。預からずに済むなら預からないのが、一番説明の短い設計でした。

だから分かれ目はこうなります。Googleアカウントで動いていて、録画を自社の管理下に置きたいなら、既定のままドライブ。Googleを使っていない、または保存先を1か所に寄せたい事情があるなら、サーバー保存に切り替える。この2つ以外の選択肢は用意していません。


Meetnect はブラウザだけで動くオンライン商談ツールです。録画は初期設定のまま使えば、指定したGoogleドライブのフォルダに保存され、ツール側にはリンクだけが残ります。この記事に出てくる権限・鍵の作り・上限は、すべて実装からそのまま書き出したものです。

商談しながら、議事録ができています

Meetnect はブラウザだけで動くオンライン商談ツールです。相手は登録不要、URLを開くだけ。通話中に文字起こしが進み、終わった時点で「誰が何を言ったか」まで残った議事録ができています。7日間、カード登録なしで試せます。