コンテンツへスキップ
TubePress — 無料・セルフホスト & 積極的メンテナンス
コンテンツのインポート

動画のインポート

TubePress にコンテンツを取り込む方法と、インポートキューの仕組みを解説します。

TubePress はライブラリをさまざまな方法で充実させることができます — 1本のクリップを手動で追加することから、クラウドから数十万本の既成動画を取り込むことまで対応しています。このページでは組み込みのインポーターを説明し、その他の各手段の詳細ページへのリンクも案内します。

どの方法を選択しても、結果は同じです。通常の動画として編集・整理・モデレート・公開が可能です。コンテンツの量と、一度だけ読み込みたいのか継続的に追加し続けたいのかに合わせて方法を選んでください。

TubePress にコンテンツを取り込む方法

動画を追加する唯一の「正解」の方法はありません — それぞれの方法が異なる規模とワークフローに適しています。以下の表を参考に方法を選び、リンク先で詳細を確認してください。

方法最適なケース提供するもの定期実行?クレジット?
手動アップロード自己ホストの1本のクリップ動画ファイルいいえいいえ
単一URL インポート埋め込み動画1本埋め込みコードまたは動画URLいいえいいえ
一括インポート大量動画の一括取り込みCSV または JSON ファイルいいえ(キュー処理)AIを使う場合のみ
フィード インポート手間なしの継続的な増加フィード URLはいAIを使う場合のみ
カタログ既成のライブラリ40万本以上の動画から選択いいえはい
目安。 動画が数本 → 手動で追加。スプレッドシートに動画がある → 一括インポート。継続的に公開し続けるソース → フィード。ソース不要で質の高いコンテンツが欲しい → カタログ。

動画を1本インポートする

TubePress には専用の「動画1本」インポーターはありません — 動画を1本追加するには、動画画面(/admin/videos)を使い、動画を追加を選択します。メディアを提供する方法は2つあります:

  • 手動アップロード — 自己ホストの動画ファイルをアップロードします。
  • 単一URL インポート — 別のサーバーでホストされているクリップを埋め込むために、<iframe> 埋め込みコードまたは直接の動画URLを貼り付けます。

タイトルとサムネイルを入力し、カテゴリ、タグ、またはパフォーマーを付与したら、下書きとして保存するか即座に公開します。どちらの方法もクレジットは使用しません。

数本以上ありますか? 1本ずつの手順を省略して一括インポート用の CSV または JSON ファイルを準備するか、カタログを閲覧してください。

一括インポート

一括インポートは /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 のフィールドにドラッグしてマッピングします。インポーターが認識するフィールドには以下が含まれます:

title
動画のタイトル。インポーターが本当に必要とする唯一のフィールド。
embed_code
<iframe> 埋め込みコードまたは動画URL。
thumbnail
画像URL。オプションとして自分のストレージにダウンロード可能。
video_id
再インポート時の重複排除に使用する安定した外部ID。
categories / tags / performers / channels
カンマ区切りの名前。存在しない場合は作成されます。
description, slug, duration, views, published_at
同じ方法でマッピングするオプションの追加フィールド。

開始する前に、重複の処理方法(スキップまたは更新video_id で照合)、サムネイルを自分のストレージから配信するためにダウンロードするかどうか、およびオプションのAI書き換えや翻訳を設定します。

一括インポートは埋め込みを行うものであり、ホスティングはしません。 各行には埋め込みまたはプレーヤーのリンクが保存されます。動画ファイルは取得もトランスコードもされません。実際のファイルを自己ホストするには、ダウンロードモードのフィード インポートまたはカタログを使用してください。

インポートキューの仕組み

小さなファイル以外の場合は、バックグラウンドで開始を選択します。TubePress はジョブを作成してインポートプロセッサーに渡し、タブを閉じた後も行の処理を続けます。システムの crontab は不要です — 組み込みのpseudo-cronで動作します。

プロセッサーは安全で耐障害性が高いように設計されています:

  • チャンク処理。 Webワーカーが占有されないよう、行は少量ずつインポートされます。調整可能なインポート速度でチャンクあたりの件数を制御します。
  • 非同期処理。 サイトがトラフィックを受け取ると pseudo-cron がジョブを拾い上げ、インポートページが開いている間も処理を促進します。
  • 自己修復。 処理が停止したジョブ(例:実行中のサーバー再起動)は約5分後に自動的に再キューイングされ、中断した場所から再開します。
  • 重複排除。 既知の video_id を持つ行は重複するのではなく、スキップまたは更新されます。
  • 許容的。 不正な行はログに記録され(チャンクごとに最初のいくつかのエラーがサンプリングされ)、ジョブは続行されます。
二重カウントなし。 ジョブごとのロックにより同じ行が2回処理されることを防ぎ、ページが開いている状態で cron が同時に動作していてもカウントは正確に保たれます。

インポートの進行状況の確認

/admin/import を開き、インポートキューを確認します。アクティブなジョブごとに、インポート数・スキップ数・エラー数・処理済み/合計数がリアルタイムで表示され、数秒ごとに更新されます。

ここからジョブを一時停止再開キャンセル、または削除できます。過去24時間のジョブはリストに残るため、失敗した行のサンプリングされたエラーメッセージを含む経緯を確認できます。

ヒントと制限

  • .csv.json ファイルのみ受け付けます。他の形式は最初から拒否されます。
  • 各行の実用的な最小要件はタイトル、埋め込みコード、サムネイルです。
  • アップロードサイズはサーバーの upload_max_filesizepost_max_size によって制限されます。非常に大きなファイルは分割するか、バックグラウンドジョブを利用してください。
  • 安定した video_id をマッピングすることで、ファイルを再実行した際に重複せず更新されます。
  • サムネイルのダウンロードを有効にして、ソースへのホットリンクの代わりに画像を自己ホストします。
  • AI書き換えと翻訳はクレジットを消費し、tubepress.io アカウントとのリンクが必要です。残高が不足するとジョブは明確なメッセージとともに停止します。

次のステップ

まだお困りですか?

ダッシュボードからチケットを送信してください。サポートチームがお手伝いします。

ライブデモを試す → TubePress をダウンロード →