最終更新日: 2026-04-17 17:30 JST
Mylist2¶
Mylist2 は、ニコニコ動画の動画を効率的に管理するための Web アプリケーションである。
ローカルストレージ(IndexedDB)を使用して 完全にブラウザ内で動作し、オフラインでも利用可能。
主要機能¶
- マイリスト管理: 複数のマイリストを作成し、整理・管理(名前変更・削除も可能)
- 動画追加: 動画ID/URLから情報を取得して追加
- キーワード機能: 検索キーワードを保存して、後で素早く確認
- ソート・検索: タイトル、再生数、投稿日時などでソート/検索
- 一括操作: 複数動画を選択して他のマイリストへ移動/コピー/削除/更新
- データ管理: インポート/エクスポートでバックアップ・移行。Google Driveへのバックアップも可能。
- オフライン対応: Service Worker によりオフラインでも基本機能を利用可能
- 情報更新: 再生数・コメント数などの最新情報を手動で更新
はじめに¶
動作環境¶
- モダンブラウザ(Chrome / Firefox / Safari / Edge)
- IndexedDB サポート必須
- Service Worker 対応(HTTPS 環境または localhost)
初回起動時の設定¶
- アプリケーションの起動
ブラウザでindex.htmlを開く。初回起動時にデータベースが自動作成される。 - 最初のマイリスト作成
左サイドバーの「新規マイリスト名」欄に名前を入力して追加。 - 動画の追加
「マイリスト設定」の「動画ID または URL」欄に動画ID/URLを入力して動画を追加。 - 動画視聴ページでの動画の追加
mlink-video-controller の追加ボタンから、視聴ページ上で動画を追加可能。
注意: 初回の動画情報取得には時間がかかる場合がある。API制限により、大量追加の際は間隔を空けること。
基本的な使い方¶
動画の追加方法¶
以下の形式で動画を追加可能。
- 動画ID:
sm12345678 - 完全URL:
https://www.nicovideo.jp/watch/sm12345678 - 短縮URL:
nico.ms/sm12345678
マイリストの操作¶
| 操作 | 方法 | 説明 |
|---|---|---|
| 新規作成 | サイドバー入力欄 + 追加 | 新しいマイリストを作成 |
| 名前変更 | 「マイリスト設定」の名前欄 + 保存 | 選択中のマイリスト名を変更 |
| 削除 | 「マイリスト設定」の「マイリストを削除」ボタン | 確認後にマイリストと動画を削除 |
| 選択 | サイドバーのマイリスト名をクリック | メインエリアに動画一覧を表示 |
動画アイテムの操作¶
| 操作 | 方法 | 説明 |
|---|---|---|
| 選択 | チェックボックス | 複数選択して一括操作 |
| 移動 | 移動ボタン | 他のマイリストへ移動 |
| コピー | コピーボタン | 他のマイリストへコピー |
| 削除 | 削除ボタン | 選択中マイリストから削除 |
| 情報更新 | 更新ボタン | 再生数・コメント数等のメタデータを最新へ更新 |
検索とソート¶
- マイリスト検索: サイドバー検索でマイリスト名を検索
- 動画検索: メインエリア検索で動画タイトルを検索
- ソート: 投稿日時、タイトル、再生数などのメタデータでソート
高度な機能¶
キーワード機能¶
検索キーワードをマイリストに保存して、すぐに検索結果ページへ飛ぶことが可能。
- 「キーワードを追加」欄にキーワードを入力
- 追加ボタンで保存
- リンクから検索結果に直にアクセス
一括操作¶
複数の動画を選択して効率的に操作可能(移動/コピー/削除/情報更新)。
動画情報の更新¶
再生数やコメント数などは時間経過で増える。個別更新・一括更新が可能。
API制限により短時間に大量更新するとエラーが発生する場合があるため、適度な間隔を空けて実行したほうがよい。
インポート・エクスポート¶
エクスポート(バックアップ)¶
- マイリスト設定をクリック
- エクスポートボタンをクリック
- ローカルを選ぶとJSONファイルがダウンロードされる。またはGoogle Driveにバックアップ。
エクスポートされるデータ例:
- すべてのマイリスト情報
- すべての動画情報
- キーワード情報
- 設定情報
インポート(復元)¶
- インポートボタンをクリック
- JSON ファイルを選択。またはGoogle Driveからインポート。
- データが自動的にインポートされる
注意:
- 既存データは上書きされる
- インポート前に必ずバックアップを取ること
- 大量データの場合、処理に時間がかかる
レガシーデータ対応¶
旧バージョン(CustomMylist)のデータも適宜、自動変換してインポート可能。
トラブルシューティング¶
よくあるエラーと対処¶
- 動画が追加できない
- 動画ID/URL形式を確認
- 動画が存在するか確認
- 既に追加済みでないか確認
- API制限にかかっていないか確認
- 動画情報が更新されない
- インターネット接続を確認
- 時間を空けて再試行
- ブラウザキャッシュをクリア
- データが保存されない
- IndexedDB 対応ブラウザか確認
- プライベートブラウジングでないか確認
- ストレージ容量に余裕があるか確認
- Service Worker エラー
- HTTPS/localhost 環境で実行
- ブラウザが Service Worker をサポートしているか確認
- 開発者ツールでエラー詳細を確認
データのリセット(最終手段)¶
警告: この操作により、すべてのマイリストと動画データが削除される。必要なデータは事前にエクスポートしておくこと!
- ブラウザの開発者ツールを開く(F12)
- 「Application」または「ストレージ」タブを選択
- 「IndexedDB」セクションで
Mylist2DBを削除 - ページを再読み込み
技術的詳細¶
アーキテクチャ¶
- フロントエンド: 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の場合、通常ドメイン当たり2GBまで。永続ストレージが許可済みなら最大8TiBまで(ディスクの50%まで)。つまり、ストレージが1TBなら500GBまで、8TBなら4TBまで、16TBなら8TBまで保存可能。ただし、その頃にはこのWebアプリケーションのパフォーマンスの問題が立ちはだかると思われる。
Q: オフラインでも使用できますか?¶
A: Service Worker により基本的な閲覧・管理は可能。ただし、動画情報の取得・更新にはインターネット接続が必要。