メインコンテンツまでスキップ

RcloneViewでDLNAとFTPサーバーを使ってクラウドメディアをストリーミング

· 約16分
Tayson
Senior Engineer

rclone serveを通じて、スマートTVやメディアプレーヤー、FTPクライアントに直接コンテンツをストリーミングし、クラウドストレージを個人用メディアサーバーに変えましょう。

クラウドストレージには数テラバイトの写真、動画、音楽が保存されていますが、それをリビングのTVや従来のファイル転送ツールでアクセスするのは面倒で回りくどいものです。rcloneのserveコマンドは、あらゆるクラウドリモートをDLNAメディアサーバー、FTPサーバー、HTTPサーバー、WebDAVエンドポイントとして公開することでこの問題を解決します。リモートの管理と接続の監視のためのRcloneViewの直感的なインターフェースと組み合わせることで、数分で完全に機能するクラウドバックエンドのメディアサーバーをセットアップできます。このガイドでは、スマートTVやメディアプレーヤーへのDLNAストリーミング、レガシークライアントアクセス向けのFTPサーバー設定、スムーズな再生のためのパフォーマンスチューニング、マルチユーザー環境向けのアクセス制御について説明します。

RcloneViewアプリのプレビュー

すべてのクラウドを一か所で管理・同期

RcloneViewはrcloneのクロスプラットフォームGUIです。フォルダを比較し、ファイルを転送・同期し、クリーンなビジュアルインターフェースでマルチクラウドのワークフローを自動化できます。

  • ワンクリック操作: コピー · 同期 · 比較
  • 信頼性の高い自動化のためのスケジューラーと履歴
  • Google Drive、OneDrive、Dropbox、S3、WebDAV、SFTPなどに対応
WindowsmacOSLinux
無料で始める →

コア機能は無料。Plusで自動化機能を利用可能。

Rclone Serveの仕組み

rcloneのserveコマンドは、標準プロトコル(DLNA、FTP、HTTP、WebDAV)からのリクエストをクラウドストレージAPI呼び出しに変換するローカルサーバーを作成します。スマートTVがDLNA経由で動画をリクエストすると、rcloneはクラウドプロバイダーからファイルを取得し、リアルタイムでストリーミングします。クライアントデバイス側はクラウドストレージにアクセスしていることを意識せず、単に標準的なメディアサーバーやファイルサーバーとして認識するだけです。

利用可能なserveプロトコル:

プロトコルユースケース主なクライアント
DLNATVやプレーヤーへのメディアストリーミングスマートTV、VLC、Kodi、Xbox、PlayStation
FTPレガシーアプリケーション向けファイル転送FileZilla、WinSCP、コマンドラインFTPクライアント
HTTPブラウザベースのファイルアクセス任意のWebブラウザ
WebDAVマウント可能なネットワークドライブWindowsエクスプローラー、macOS Finder、Linuxファイルマネージャー
SFTPセキュアなファイル転送SSHクライアント、SFTP対応アプリケーション

アーキテクチャの概要:

データフローは次のようにシンプルです。

  1. クライアントデバイスが、ローカルネットワーク上のrclone serveインスタンスを検出または接続します。
  2. クライアントがファイル一覧または特定のファイルをリクエストします。
  3. rcloneがそのリクエストをクラウドストレージAPI呼び出しに変換します。
  4. データがクラウドプロバイダーからrcloneを経由してクライアントへストリーミングされます。
  5. オプションのVFSキャッシュにより、頻繁にアクセスされるデータがローカルに保存され、再アクセスが高速化されます。
Open multiple cloud remotes in RcloneView

このアーキテクチャにより、メディアライブラリを完全にクラウド上に置きながら、標準プロトコルを通じてネットワーク上のあらゆるデバイスからアクセス可能にできます。

DLNAメディアストリーミングの設定

DLNA(Digital Living Network Alliance)は、家庭内ネットワークにおけるメディアストリーミングの汎用標準です。ほぼすべてのスマートTV、ゲーム機、メディアプレーヤーがDLNAの検出と再生に対応しています。

基本的なDLNAサーバーの起動:

RcloneViewに統合されたターミナルから、クラウドメディアライブラリを指すDLNAサーバーを起動します。

rclone serve dlna gdrive:/Media

これにより、ローカルネットワーク上で自身を告知するDLNAサーバーが即座に作成されます。同じネットワーク上のDLNA対応デバイスは自動的にこれを検出します。

DLNAサーバーのカスタマイズ:

rclone serve dlna gdrive:/Media \
--name "Cloud Media Server" \
--addr :7879 \
--log-level INFO \
--vfs-cache-mode full \
--vfs-cache-max-size 10G \
--vfs-read-ahead 128M

主なDLNAフラグ:

フラグ目的推奨値
--nameクライアントに表示されるサーバー名「Cloud Movies」のような分かりやすい名前
--addrリッスンアドレスとポート:7879(デフォルト)
--vfs-cache-modeキャッシュ戦略スムーズなストリーミングにはfull
--vfs-cache-max-sizeローカルキャッシュの最大サイズディスク容量に応じて5〜20GB
--vfs-read-aheadデータの先読みバッファ動画ストリーミングには128M〜256M
--vfs-cache-max-ageキャッシュファイルの保持期間メディアライブラリには24h

スマートTVからの接続:

  1. 上記のコマンドでDLNAサーバーを起動します。
  2. スマートTVでメディアプレーヤーまたはDLNAブラウザを開きます(正確な名称はメーカーによって異なります。Samsungは「SmartThings」、LGは「Media Player」、Sonyは「Media Player」を使用します)。
  3. 指定したサーバー名(例:「Cloud Media Server」)を探します。
  4. フォルダを閲覧し、再生するメディアを選択します。

VLCからの接続:

  1. VLCメディアプレーヤーを開きます。
  2. 表示 > プレイリスト > ローカルネットワーク > Universal Plug'n'Playに移動します。
  3. rcloneのDLNAサーバーがリストに表示されます。
  4. メディアを閲覧して直接再生します。

S3互換ストレージからのメディア配信:

S3やそれに類するオブジェクトストレージは、ギガバイトあたりの低コストのため、メディアライブラリに最適です。

# Serve from Wasabi (S3-compatible, no egress fees)
rclone serve dlna wasabi:media-bucket \
--name "Wasabi Media" \
--vfs-cache-mode full \
--vfs-cache-max-size 20G
mount from remote explorer

FTPサーバーの設定

FTPは、特にレガシーアプリケーション、ネットワーク接続デバイス、自動化ワークフローで今なお広く使われています。rcloneは、あらゆるクラウドリモートを完全に機能するFTPサーバーとして公開できます。

基本的なFTPサーバーの起動:

rclone serve ftp gdrive: --addr :2121 --user ftpuser --pass ftppassword

これにより、Google Drive全体へのアクセスを提供するFTPサーバーがポート2121で作成されます。

高度なFTP設定:

rclone serve ftp s3:my-bucket \
--addr :2121 \
--user admin \
--pass secure-password \
--passive-port 30000-30100 \
--vfs-cache-mode writes \
--vfs-cache-max-size 5G \
--dir-cache-time 5m \
--log-level INFO

主なFTPフラグ:

フラグ目的
--addrリッスンアドレスとポート
--user / --passFTP認証情報
--passive-portパッシブモード接続用のポート範囲
--vfs-cache-modeアップロード対応にはwrites、読み書きキャッシュにはfull
--dir-cache-timeディレクトリ一覧のキャッシュ保持時間
--read-onlyアップロードや変更を禁止

FileZillaや他のFTPクライアントからの接続:

  1. FTPクライアントを開きます。
  2. ホスト(rcloneを実行しているマシンのIP)、ポート(2121)、ユーザー名、パスワードを入力します。
  3. 接続し、従来のFTPサーバーと同じ感覚でクラウドストレージを閲覧します。

FTP配信のユースケース:

  • レガシーアプリケーションとの連携: FTPのみをサポートする古いアプリケーションでも、クラウドストレージにアクセスできるようになります。
  • ネットワークスキャナーからのアップロード: ドキュメントスキャナーからスキャンしたファイルをFTP経由でクラウドストレージに直接送信するよう設定できます。
  • 自動ファイルドロップ: 外部からファイルを受け取るための書き込み専用FTPエンドポイントを設定します。
  • クロスプラットフォームアクセス: FTPは追加のソフトウェアをインストールすることなく、あらゆるOSで動作します。

ストリーミング向けのパフォーマンスチューニング

スムーズなメディアストリーミングには、rcloneのVFS(Virtual File System)キャッシュとネットワーク設定の入念なチューニングが必要です。

VFSキャッシュモードの理解:

モード動作最適な用途
offキャッシュなし、直接ストリーミング小さなファイル、高帯域幅接続
minimal開いているファイルのみキャッシュ軽いメディア閲覧
writes書き込みをローカルにキャッシュし、読み込みはストリーミングアップロードが多いFTP利用
full読み書き両方の完全キャッシュ動画ストリーミング、メディア再生

メディアストリーミングには、fullキャッシュモードがほぼ常に正しい選択です。これにより、ネットワークの遅延やAPIのスロットリングによって動画再生が途切れることを防げます。

動画ストリーミング向けの最適化:

rclone serve dlna gdrive:/Movies \
--vfs-cache-mode full \
--vfs-cache-max-size 20G \
--vfs-read-ahead 256M \
--vfs-cache-max-age 72h \
--buffer-size 64M \
--vfs-read-chunk-size 32M \
--vfs-read-chunk-size-limit 256M

主要なパラメーターの説明:

  • --vfs-read-ahead 256M: 現在の再生位置より256MB先のデータを先読みし、再生中のバッファリングを防ぎます。
  • --vfs-read-chunk-size 32M: 読み込みの初期チャンクサイズ。32MBから始まり、上限まで倍増していきます。
  • --vfs-read-chunk-size-limit 256M: チャンクサイズの上限。チャンクが大きいほどAPI呼び出しは減りますが、初期レイテンシは高くなります。
  • --buffer-size 64M: 開いている各ファイルに対するインメモリバッファ。

帯域幅の考慮事項:

動画ストリーミングに必要な帯域幅は、画質によって大きく異なります。

動画品質ビットレート最低限必要な回線速度
720p3〜5 Mbps10 Mbps推奨
1080p8〜12 Mbps25 Mbps推奨
4K25〜40 Mbps50 Mbps推奨

インターネット回線やクラウドプロバイダーのegress(送信)速度がこれらのレートを維持できない場合は、アップロード前にメディアを低ビットレートにトランスコードするか、Wasabiやegress速度が速いS3バケットとCDNを組み合わせたプロバイダーの利用を検討してください。

transfer monitoring

ストリーミングパフォーマンスの監視:

RcloneViewの転送モニタリングを使用して、リアルタイムのスループットを観察し、ボトルネックを特定します。頻繁な一時停止の後にバースト転送が見られる場合は、read-aheadバッファを増やしてください。転送が一貫して遅い場合、ボトルネックはおそらくインターネット回線かクラウドプロバイダー側のスループット制限です。

アクセス制御とマルチユーザー設定

共有環境では、誰がどのコンテンツにアクセスできるかを制御する必要があります。

FTPのマルチユーザー設定:

rcloneのFTPサーバーは、単一のユーザー/パスワードペアを直接サポートします。マルチユーザー環境では、異なるポートで複数のserveインスタンスを実行します。

# Family media - read only
rclone serve ftp gdrive:/Media/Family \
--addr :2121 --user family --pass familypass --read-only &

# Admin access - full control
rclone serve ftp gdrive: \
--addr :2122 --user admin --pass adminpass &

読み取り専用アクセス:

メディアサーバーの場合、通常は読み取り専用アクセスが適切です。

rclone serve dlna gdrive:/Media --read-only
rclone serve ftp gdrive:/Media --read-only --user viewer --pass viewerpass

特定のディレクトリへの制限:

特定のサブディレクトリのみを配信することで、公開範囲を制限します。

# Only serve the Movies folder, not the entire drive
rclone serve dlna gdrive:/Media/Movies --name "Movies"

# Serve a specific S3 prefix
rclone serve ftp s3:media-bucket/public --user public --pass publicpass

ネットワークレベルの制限:

特定のインターフェースにバインドすることで、ネットワークアクセスを制御します。

# Only accessible from local machine
rclone serve dlna gdrive:/Media --addr 127.0.0.1:7879

# Only accessible from local network
rclone serve ftp gdrive: --addr 192.168.1.100:2121 --user admin --pass adminpass

常駐サービスとしての実行

常時稼働のメディアサーバーにするには、rclone serveを自動起動するよう設定します。

Linux systemdサービス:

sudo cat > /etc/systemd/system/rclone-dlna.service << 'EOF'
[Unit]
Description=Rclone DLNA Media Server
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
User=rclone
ExecStart=/usr/bin/rclone serve dlna gdrive:/Media \
--name "Cloud Media" \
--vfs-cache-mode full \
--vfs-cache-max-size 20G \
--vfs-read-ahead 256M \
--log-file /var/log/rclone-dlna.log \
--log-level INFO
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target
EOF

sudo systemctl enable rclone-dlna
sudo systemctl start rclone-dlna

Windowsでのサービス設定:

Windowsでは、NSSM(Non-Sucking Service Manager)やタスクスケジューラを使用して、起動時にrclone serveコマンドを実行します。

# Using Task Scheduler (run at login)
schtasks /create /tn "Rclone DLNA" /tr "rclone serve dlna gdrive:/Media --name CloudMedia --vfs-cache-mode full" /sc onlogon

複数のサーバーを同時に実行:

互換性を最大化するために、DLNAサーバーとFTPサーバーを同時に実行できます。

# DLNA for smart TVs and media players
rclone serve dlna gdrive:/Media --name "Cloud Media" &

# FTP for file manager access
rclone serve ftp gdrive: --addr :2121 --user admin --pass adminpass &

# HTTP for browser access
rclone serve http gdrive:/Media --addr :8080 --read-only &
Configure a mount from Mount Manager

ServeとMountの比較

rclone serverclone mountはどちらもクラウドストレージをローカルからアクセス可能にしますが、それぞれ異なる目的を持っています。

機能Serve(DLNA/FTP)Mount
プロトコルDLNA、FTP、HTTP、WebDAVFUSE/WinFSPファイルシステム
クライアント互換性プロトコルに対応する任意のクライアントファイルシステム経由の任意のアプリケーション
ネットワークアクセスネットワーク上のすべてのデバイスから利用可能デフォルトではローカルマシンのみ
セットアップの複雑さシンプルなコマンド、ドライバー不要FUSE(Linux/Mac)またはWinFSP(Windows)が必要
メディアプレーヤーのサポートネイティブなDLNA検出プレーヤーにマウントパスを指定する必要あり
複数の同時ユーザー対応(組み込み)ファイルシステムの共有機能に依存

serveを使うべき場面:

  • スマートTV、ゲーム機、ネットワーク対応プレーヤーへのメディアストリーミング
  • レガシーアプリケーションやデバイス向けのFTPアクセス提供
  • ネットワーク上の複数ユーザーとのクラウドファイル共有
  • FUSE/WinFSPドライバーのインストール回避

mountを使うべき場面:

  • ローカルパスを前提とするデスクトップアプリケーションからクラウドファイルにアクセスする場合
  • オフィスアプリケーションでクラウドファイルを直接編集する場合
  • ローカルファイルパスを操作するスクリプトを実行する場合

多くの構成では、serveとmountを同時に実行することで、両方の利点を得ることができます。

始めてみましょう

rclone serveは、クラウドストレージを受動的なアーカイブから、能動的なメディアサーバー兼ファイル共有プラットフォームへと変えます。まずはクラウドのメディアフォルダを指すシンプルなDLNAサーバーから始め、スマートTVやVLCプレーヤーで再生をテストしてください。ストリーミングが安定して動作することを確認したら、VFSキャッシュを追加してより滑らかな再生を実現し、より幅広いファイルアクセスのためにFTPエンドポイントを設定し、サービスが自動起動するように構成しましょう。RcloneViewでリモートを管理し接続を監視することで、既存のクラウドストレージのサブスクリプション以外に一切追加コストのかからない、完全なクラウドバックエンドのメディアサーバーを手に入れることができます。


関連ガイド:

対応クラウドプロバイダー

Local Files
WebDAV
FTP
SFTP
HTTP
SMB / CIFS
Google Drive
Google Photos
Google Cloud Storage
OneDrive
Dropbox
Box
MS Azure Blob
MS File Storage
S3 Compatible
Amazon S3
pCloud
Wasabi
Mega
Backblaze B2
Cloudflare R2
Alibaba OSS
Ceph
Swift (OpenStack)
IBM Cloud Object Storage
Oracle Cloud Object Storage
IDrive e2
MinIO
Storj
DigitalOcean Spaces