Skip to content
/ tod-m Public

LAN内で大容量動画ファイルを安全にやりとりするデスクトップアプリケーション

License

Notifications You must be signed in to change notification settings

kzbb/tod-m

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TOD-M

LAN内で大容量動画ファイルを安全にやりとりするデスクトップアプリケーション

TOD-Mは、大学や教育機関で学生が卒業制作動画などの大容量ファイルを教員へ提出するためのアプリケーションです。管理者権限不要で、LAN内で安全にファイルをアップロード・管理できます。

主な機能

  • 管理者権限不要 - 一般ユーザーで起動・運用可能
  • 📤 大容量ファイル対応 - TUSプロトコルで安全な断続的アップロード
  • 🎬 動画形式チェック - 解像度・コーデック・フレームレートの自動検証
  • マルチフォーマット対応 - 動画以外のファイル(音声・画像等)も受付可能(オプション)
  • 📝 受領票自動生成 - アップロード完了時にHTML形式の受領票を発行
  • 🔒 SHA-256チェックサム - ファイルの完全性を保証
  • 💾 ディスク容量監視 - 空き容量不足を事前警告
  • 📥 ダウンロード機能 - 教員が配布資料を学生に提供
  • ⚙️ GUI設定画面 - ポート、保存先、形式要件をGUIで設定
  • 📊 リアルタイム進捗表示 - 処理ステップごとの進行状況を可視化

動作要件

  • OS: macOS 10.13以降
  • メモリ: 4GB以上推奨
  • ディスク: 500MB以上の空き容量(保存領域は別途必要)
  • ネットワーク: LAN接続環境
  • ffmpeg: 動画形式チェックに必須

インストール

  1. TOD-M-26.2.7-arm64.dmgをダウンロード
  2. DMGファイルを開く
  3. TOD-M.appApplicationsフォルダーへドラッグ
  4. ApplicationsフォルダーからTOD-M.appを起動

ffmpegのインストール(初回のみ)

アプリ起動時にffmpegが未検出の場合、警告が表示されます。

Homebrewでのインストール(推奨):

# Homebrewがない場合は先にインストール
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# ffmpegをインストール
brew install ffmpeg

インストール後、TOD-Mを再起動してください。

使い方

1. 教員側:サーバーの起動

  1. TOD-Mを起動
  2. 「サーバーを起動」ボタンをクリック
  3. ステータスが「起動中」になり、LAN内アドレスが表示されます
    例: http://192.168.1.100:3000
  4. このアドレスを学生に共有

2. 学生側:ファイルのアップロード

  1. 教員から教えられたアドレスにブラウザでアクセス
  2. 作品タイトル、学籍番号、氏名を入力
  3. ファイルを選択(動画ファイル、または教員が許可した形式)
  4. 「アップロード開始」ボタンをクリック
  5. 進捗状況が表示されます:
    • ① アップロードの進行状況: 送信サイズ・速度・残り時間
    • ② サーバ側チェック・受領票作成:
      • ファイル配置中
      • メタデータ取得中
      • ハッシュ計算中
      • 受領票生成中
  6. 受領票が表示されたら保存または印刷

注意: 大容量ファイルの場合、アップロード完了後のサーバー側処理に時間がかかることがあります。

3. 教員側:アップロード管理

アップロード一覧の確認

  1. メインウィンドウから「管理画面を開く」をクリック
    • 注意: 管理画面はセキュリティのためlocalhost(127.0.0.1)からのみアクセス可能です
  2. アップロードされたファイルの一覧が表示されます
  3. 検索ボックスで学籍番号や氏名で絞り込み可能
  4. 受領票リンクから詳細確認

ファイル保存先について

  • アーカイブディレクトリ: 処理完了ファイルの最終保存先
    • receipt/: 受領票HTML
    • meta/: メタデータJSON
    • hash/: SHA-256ハッシュ
    • incoming/: アップロード中の一時ファイル(処理完了後は親ディレクトリへ移動)

ダウンロード用ファイルの公開

  1. メインウィンドウの「詳細設定」を展開
  2. 「ダウンロード公開ディレクトリ」を設定
  3. そのフォルダーに配布資料を配置
    指定したディレクトリ内のファイルのみ表示されます。
    サブディレクトリ以下のファイルは表示されません。
  4. 「ダウンロード画面を開く」で学生向けURLを確認
  5. 学生にURLを共有(例: http://192.168.1.100:3000/download

4. サーバーの停止

  • メインウィンドウで「サーバーを停止」をクリック
  • またはアプリを終了(自動的に停止)

設定

メインウィンドウの「詳細設定」を展開すると、以下を変更できます:

基本設定

  • HTTPサーバーポート: デフォルト3000
  • TUSサーバーポート: アップロード用、デフォルト1080
  • アーカイブ保存先: アップロードファイルとメタデータの保存場所
    • 処理完了ファイルはこのディレクトリ直下に保存
    • アップロード中のファイルは incoming/ サブディレクトリに一時保存
  • ダウンロード公開ディレクトリ: 学生がダウンロードできるファイル置き場
  • ffmpeg/ffprobeパス: 自動検出されない場合に手動指定

動画形式チェック要件

以下の項目で動画の要件を設定できます(空欄の場合はチェックしません):

  • コンテナ形式: 例 QuickTime/MOV
  • 映像コーデック: 例 ProRes
  • 解像度: 例 1920x1080
  • フレームレート: 例 23.98, 24, 29.97, 30
  • 音声コーデック: 例 PCM
  • サンプルレート: 例 48000

動画以外のファイル形式も許可

チェックを入れると、音声ファイルや画像ファイルなど、動画以外のファイルもアップロード可能になります。

注意: この設定を有効にした場合、上記の形式要件チェック(コーデック・解像度・フレームレート等)は実施されません。ファイルの基本情報(種別)のみ確認されます。

トラブルシューティング

サーバーが起動しない

症状: 「サーバーを起動」ボタンを押してもエラーが表示される

対処法:

  1. ポートがすでに使用されていないか確認
    lsof -i :3000
  2. 設定画面で別のポート番号に変更
  3. ファイアウォール設定を確認(システム設定→ネットワーク)

ffmpegが見つからない

症状: メインウィンドウに「ffmpegがインストールされていません」と警告表示

対処法:

  1. Homebrewがインストール済みか確認
    brew --version
  2. ffmpegをインストール
    brew install ffmpeg
  3. TOD-Mを再起動
  4. それでも検出されない場合、設定画面で手動パス指定
    • ffmpegパス例: /opt/homebrew/bin/ffmpeg
    • ffprobeパス例: /opt/homebrew/bin/ffprobe

アップロードが途中で止まる

症状: 進捗バーが途中で止まったまま

対処法:

  1. ネットワーク接続を確認(Wi-Fiの電波状況など)
  2. ディスク空き容量を確認(メインウィンドウに表示)
  3. ブラウザをリロードしてアップロードを再開

受領票が表示されない

症状: アップロード完了後、受領票が表示されない

対処法:

  1. 動画ファイルの場合、ffmpegが正しくインストールされているか確認
  2. 数分待ってからページをリロード(大容量ファイルは処理に時間がかかります)
  3. サーバー側処理の進行状況は「② サーバ側チェック・受領票作成」セクションで確認
  4. 管理画面から該当ファイルの受領票リンクをクリック

動画以外のファイルがアップロードできない

症状: 画像や音声ファイルを選択できない

対処法:

  1. メインウィンドウの「詳細設定」を展開
  2. 「動画以外のファイル形式も許可」にチェックを入れる
  3. 「設定を保存」ボタンをクリック
  4. ブラウザをリロード

注意: この設定を有効にすると、動画形式要件のチェックは実施されなくなります。

ライセンス

MIT License
Copyright (c) 2025 馬場一幸 (Kazuyuki Baba)

About

LAN内で大容量動画ファイルを安全にやりとりするデスクトップアプリケーション

Resources

License

Stars

Watchers

Forks

Packages

No packages published