コンテンツにスキップ

最終更新日: 2026-06-26 02:07 JST

Mylist2

Mylist2 は、ニコニコ動画の動画を効率的に管理するための Web アプリケーションである。
ローカルストレージ(IndexedDB)を使用して 完全にブラウザ内で動作し、オフラインでも利用可能。

動作方式

Mylist2 のデータはブラウザの IndexedDB に保存される。外部サーバーに依存しないため、基本的な操作はオフラインでも利用できる。

主要機能

  • マイリスト管理: 複数のマイリストを作成し、整理・管理(名前変更・削除も可能)
  • 動画追加: 動画ID/URLから情報を取得して追加
  • キーワード機能: 検索キーワードを保存して、後で素早く確認
  • ソート・検索: タイトル、再生数、投稿日時などでソート/検索
  • 一括操作: 複数動画を選択して他のマイリストへ移動/コピー/削除/更新/公開状態チェック
  • データ管理: インポート/エクスポートでバックアップ・移行。Google Driveへのバックアップも可能。
  • オフライン対応: Service Worker によりオフラインでも基本機能を利用可能
  • 情報更新: 再生数・コメント数などの最新情報を手動で更新
  • 公開状態管理: 削除・非公開・取得不可・状態不明の動画を検出し、一覧で確認可能

はじめに

動作環境

  • モダンブラウザ(Chrome / Firefox / Safari / Edge)
  • IndexedDB サポート必須
  • Service Worker 対応(HTTPS 環境または localhost)

初回起動時の設定

  1. アプリケーションの起動
    ブラウザで index.html を開く。初回起動時にデータベースが自動作成される。
  2. 最初のマイリスト作成
    左サイドバーの「新規マイリスト名」欄に名前を入力して追加。
  3. 動画の追加
    「マイリスト設定」の「動画ID または URL」欄に動画ID/URLを入力して動画を追加。
  4. 動画視聴ページでの動画の追加
    mlink-video-controller の追加ボタンから、視聴ページ上で動画を追加可能。

初回取得時の注意

初回の動画情報取得には時間がかかる場合がある。API 制限により、大量追加の際は間隔を空けること。

基本的な使い方

動画の追加方法

  • mlink-video-controllerからも追加可能。

以下の形式で動画を追加可能。

  • 動画ID: sm12345678
  • 完全URL: https://www.nicovideo.jp/watch/sm12345678
  • 短縮URL: nico.ms/sm12345678

マイリストの操作

操作 方法 説明
新規作成 サイドバー入力欄 + 追加 新しいマイリストを作成
名前変更 「マイリスト設定」の名前欄 + 保存 選択中のマイリスト名を変更
削除 「マイリスト設定」の「マイリストを削除」ボタン 確認後にマイリストと動画を削除
選択 サイドバーのマイリスト名をクリック メインエリアに動画一覧を表示

動画アイテムの操作

操作 方法 説明
選択 チェックボックス 複数選択して一括操作
移動 移動ボタン 他のマイリストへ移動
コピー コピーボタン 他のマイリストへコピー
削除 削除ボタン 選択中マイリストから削除
情報更新 更新ボタン 再生数・コメント数等のメタデータを最新へ更新
公開状態チェック 一括操作の「公開状態チェック」 選択動画の公開状態を確認し、削除・非公開・取得不可・状態不明を一覧に反映

検索とソート

  • マイリスト検索: サイドバー検索でマイリスト名を検索
  • 動画検索: メインエリア検索で動画タイトルを検索
  • ソート: 投稿日時、タイトル、再生数などのメタデータでソート
  • 利用不可ソート: 削除・非公開・取得不可・状態不明の動画を一覧の上側に集める

高度な機能

キーワード機能

検索キーワードをマイリストに保存して、すぐに検索結果ページへ飛ぶことが可能。

  1. 「キーワードを追加」欄にキーワードを入力
  2. 追加ボタンで保存
  3. リンクから検索結果に直にアクセス

一括操作

複数の動画を選択して効率的に操作可能(移動/コピー/削除/情報更新/公開状態チェック)。

公開状態チェック

選択した動画に対して getthumbinfo を使い、公開中・削除・非公開・取得不可・状態不明を確認できる。結果は動画レコードに保存され、一覧には削除・非公開・取得不可・状態不明のバッジが表示される。実行前に並列数と開始ディレイを指定できるため、大量の動画を確認するときはAPI制限を避けるため控えめな値にするとよい。

動画一覧のソートで「利用不可」を選ぶと、公開状態チェックで削除・非公開・取得不可・状態不明と判定された動画を上側にまとめて確認できる。

動画情報の更新

再生数やコメント数などは時間経過で増える。個別更新・一括更新が可能。

Warning

API制限により短時間に大量更新するとエラーが発生する場合があるため、適度な間隔を空けて実行したほうがよい。

インポート・エクスポート

インポート前の注意

インポートを実行すると既存データは上書きされる。必ず事前にバックアップを取ってから操作すること。

エクスポート(バックアップ)

  1. マイリスト設定をクリック
  2. エクスポートボタンをクリック
  3. ローカルを選ぶとJSONファイルがダウンロードされる。またはGoogle Driveにバックアップ。

エクスポートされるデータ例:

  • すべてのマイリスト情報
  • すべての動画情報
  • キーワード情報
  • 設定情報

インポート(復元)

  1. インポートボタンをクリック
  2. JSON ファイルを選択。またはGoogle Driveからインポート。
  3. データが自動的にインポートされる

  4. 大量データの場合、処理に時間がかかる

レガシーデータ対応

旧バージョン(CustomMylist)のデータも適宜、自動変換してインポート可能。

トラブルシューティング

よくあるエラーと対処

  • 動画が追加できない
  • 動画ID/URL形式を確認
  • 動画が存在するか確認
  • 既に追加済みでないか確認
  • API制限にかかっていないか確認
  • 動画情報が更新されない
  • インターネット接続を確認
  • 時間を空けて再試行
  • ブラウザキャッシュをクリア
  • データが保存されない
  • IndexedDB 対応ブラウザか確認
  • プライベートブラウジングでないか確認
  • ストレージ容量に余裕があるか確認
  • Service Worker エラー
  • HTTPS/localhost 環境で実行
  • ブラウザが Service Worker をサポートしているか確認
  • 開発者ツールでエラー詳細を確認

データのリセット(最終手段)

最終手段

この操作により、すべてのマイリストと動画データが削除される。必要なデータは事前にエクスポートしておくこと。

  1. ブラウザの開発者ツールを開く(F12)
  2. 「Application」または「ストレージ」タブを選択
  3. 「IndexedDB」セクションで Mylist2DB を削除
  4. ページを再読み込み

技術的詳細

アーキテクチャ

  • フロントエンド: TypeScript / Vanilla JS / CSS3 / HTML5
  • データベース: IndexedDB(トランザクション・インデックス最適化)
  • PWA: Service Worker によるオフライン対応(キャッシュ戦略)
  • API統合: ニコニコ動画 API(レート制限・エラーハンドリング・キューイング)

データ構造(概要)

// マイリスト (mylists)
{
  id: number;
  name: string;
  createdAt: number;
  sortOrder: number;
}

// 動画 (videos)
{
  id: string;
  originalId: string;
  mylistId: number;
  title: string;
  viewCount: number;
  commentCount: number;
  mylistCount: number;
  thumbnailUrl: string;
  uploadedAt: number;
  authorName: string;
  length: number;
  addedAt: number;
}

// キーワード (keywords)
{
  id: number;
  mylistId: number;
  keyword: string;
  addedAt: number;
}

セキュリティ

  • すべてのデータはローカルに保存(外部サーバーへのユーザーデータ送信なし)
  • HTTPS 環境での動作推奨

パフォーマンス

  • インデックス最適化
  • API リクエストのキューイング
  • レイジーローディング

よくある質問

Q: データはどこに保存されますか?

A: すべてのデータはブラウザの IndexedDB にローカル保存される。外部サーバーには送信されない。

Q: 他のブラウザでデータを共有できますか?

A: エクスポートした JSON を他のブラウザでインポートすることで共有可能。または、Google Driveにログインしてインポートできる。

Q: 動画が削除された場合はどうなりますか?

A: マイリスト内の動画情報は保持される。公開状態チェックを実行すると削除・非公開などの状態が一覧バッジに反映され、「利用不可」ソートでまとめて確認できる。必要に応じて手動で削除すること。

Q: 何本まで動画を保存できますか?

A: 保存できる本数は、ブラウザのストレージ容量とディスク容量に左右されるが、目安としては数万本の動画情報を保存できる。Firefoxでは通常1ドメインあたり2GBまで、永続ストレージが許可されていれば最大8TiBまで使用できる(ディスク容量の50%が上限)。たとえばディスクが1TBなら約500GB、8TBなら約4TB、16TBなら約8TBまで保存可能。ただし、実際にはその前にWebアプリケーションのパフォーマンスが問題になる可能性がある。

Q: オフラインでも使用できますか?

A: Service Worker により基本的な閲覧・管理は可能。ただし、動画情報の取得・更新にはインターネット接続が必要。