動画のインポート
TubePress にコンテンツを取り込む方法と、インポートキューの仕組みを解説します。
TubePress はライブラリをさまざまな方法で充実させることができます — 1本のクリップを手動で追加することから、クラウドから数十万本の既成動画を取り込むことまで対応しています。このページでは組み込みのインポーターを説明し、その他の各手段の詳細ページへのリンクも案内します。
どの方法を選択しても、結果は同じです。通常の動画として編集・整理・モデレート・公開が可能です。コンテンツの量と、一度だけ読み込みたいのか継続的に追加し続けたいのかに合わせて方法を選んでください。
TubePress にコンテンツを取り込む方法
動画を追加する唯一の「正解」の方法はありません — それぞれの方法が異なる規模とワークフローに適しています。以下の表を参考に方法を選び、リンク先で詳細を確認してください。
| 方法 | 最適なケース | 提供するもの | 定期実行? | クレジット? |
|---|---|---|---|---|
| 手動アップロード | 自己ホストの1本のクリップ | 動画ファイル | いいえ | いいえ |
| 単一URL インポート | 埋め込み動画1本 | 埋め込みコードまたは動画URL | いいえ | いいえ |
| 一括インポート | 大量動画の一括取り込み | CSV または JSON ファイル | いいえ(キュー処理) | AIを使う場合のみ |
| フィード インポート | 手間なしの継続的な増加 | フィード URL | はい | AIを使う場合のみ |
| カタログ | 既成のライブラリ | 40万本以上の動画から選択 | いいえ | はい |
動画を1本インポートする
TubePress には専用の「動画1本」インポーターはありません — 動画を1本追加するには、動画画面(/admin/videos)を使い、動画を追加を選択します。メディアを提供する方法は2つあります:
- 手動アップロード — 自己ホストの動画ファイルをアップロードします。
- 単一URL インポート — 別のサーバーでホストされているクリップを埋め込むために、
<iframe>埋め込みコードまたは直接の動画URLを貼り付けます。
タイトルとサムネイルを入力し、カテゴリ、タグ、またはパフォーマーを付与したら、下書きとして保存するか即座に公開します。どちらの方法もクレジットは使用しません。
一括インポート
一括インポートは /admin/import のファイルアップロードタブにあります。URLのリストを貼り付けるのではなく、単一のCSV または JSON ファイルを受け付け、各行またはオブジェクトを動画に変換します。
- CSV はヘッダー行が必要で、カンマを区切り文字として使用する必要があります。
- JSON はオブジェクトの配列でなければなりません。
ファイルをアップロードゾーンにドラッグ(またはクリックして参照)すると、TubePress が列を読み取りプレビューを表示します。最小限の CSV はこのようになります:
title,embed_code,thumbnail,duration,tags
My clip,https://ex.com/v/123.mp4,https://ex.com/t.jpg,612,"solo,hd"次に、列を TubePress のフィールドにドラッグしてマッピングします。インポーターが認識するフィールドには以下が含まれます:
<iframe> 埋め込みコードまたは動画URL。開始する前に、重複の処理方法(スキップまたは更新、video_id で照合)、サムネイルを自分のストレージから配信するためにダウンロードするかどうか、およびオプションのAI書き換えや翻訳を設定します。
インポートキューの仕組み
小さなファイル以外の場合は、バックグラウンドで開始を選択します。TubePress はジョブを作成してインポートプロセッサーに渡し、タブを閉じた後も行の処理を続けます。システムの crontab は不要です — 組み込みのpseudo-cronで動作します。
プロセッサーは安全で耐障害性が高いように設計されています:
- チャンク処理。 Webワーカーが占有されないよう、行は少量ずつインポートされます。調整可能なインポート速度でチャンクあたりの件数を制御します。
- 非同期処理。 サイトがトラフィックを受け取ると pseudo-cron がジョブを拾い上げ、インポートページが開いている間も処理を促進します。
- 自己修復。 処理が停止したジョブ(例:実行中のサーバー再起動)は約5分後に自動的に再キューイングされ、中断した場所から再開します。
- 重複排除。 既知の
video_idを持つ行は重複するのではなく、スキップまたは更新されます。 - 許容的。 不正な行はログに記録され(チャンクごとに最初のいくつかのエラーがサンプリングされ)、ジョブは続行されます。
インポートの進行状況の確認
/admin/import を開き、インポートキューを確認します。アクティブなジョブごとに、インポート数・スキップ数・エラー数・処理済み/合計数がリアルタイムで表示され、数秒ごとに更新されます。
ここからジョブを一時停止、再開、キャンセル、または削除できます。過去24時間のジョブはリストに残るため、失敗した行のサンプリングされたエラーメッセージを含む経緯を確認できます。
ヒントと制限
.csvと.jsonファイルのみ受け付けます。他の形式は最初から拒否されます。- 各行の実用的な最小要件はタイトル、埋め込みコード、サムネイルです。
- アップロードサイズはサーバーの
upload_max_filesizeとpost_max_sizeによって制限されます。非常に大きなファイルは分割するか、バックグラウンドジョブを利用してください。 - 安定した
video_idをマッピングすることで、ファイルを再実行した際に重複せず更新されます。 - サムネイルのダウンロードを有効にして、ソースへのホットリンクの代わりに画像を自己ホストします。
- AI書き換えと翻訳はクレジットを消費し、tubepress.io アカウントとのリンクが必要です。残高が不足するとジョブは明確なメッセージとともに停止します。