さらに別のビデオ同期 Web サイトでは、現在 Youtube、DailyMotion Vimeo Soundcloud、および完全に合法的に所有している独自のファイルサーバーでホストされているビデオをサポートしています
このプロジェクトは、YouTube クリップのランダムなコレクションから長い映画まで、友達のグループが一緒にビデオを視聴できるものを見つけるという私の探求から生まれました。他のすべてのサービスは、mp4 ファイルの再生をサポートしていないか、チャットなどの必要のない機能を備えていました。これは小さな Web アプリであり、API キーを設定する必要がなく、ユーザーはアカウントを作成する必要がありません。ルームシェアのリンクを作成するだけで、他の人も参加できるようになります。
ボットはスラッシュ コマンドのみをサポートします コマンドの完全なリスト
- /join : Join Bot to a voice channel
- /leave : Disconnect Bot from channel
- /pause : Pause Video
- /skip : Skip to next video in the Queue
- /play : Play Video
- /stop : Stop Video
- /list : List videos in the Queue
- /add <video> : Add Video to Queue
- /playlist load <name>
- /now : Current Status of what is playing
Watch2gether は、次の URL でテストされています。他のサイトは UI では動作する可能性がありますが、ボット経由では動作しない可能性があります。
Watch2gether は、カスタム プレイリストを YouTube で公開せずに保存できます。
このアプリケーションは Docker コンテナとしてパッケージ化されています。で実行できます
docker run -d -p 8080:8080 robrotheram/watch2gether
app.sample.env
の値を Discord ボットおよび OAuth クライアント認証情報に置き換える次の手順に従って、 app.sample.env
ファイル内のプレースホルダー値を、Discord ボットと OAuth2 クライアントの作成から取得した実際の認証情報に置き換えます。
Discord ボットを作成します。
OAuth2 クライアントを作成します。
http://localhost:8080/auth/callback
) を追加します。 app.sample.env
の値を置き換えます。
app.sample.env
ファイルをコピーし、名前をapp.env
に変更します。CHANGEME
) を、Discord ボットと OAuth2 クライアントの作成から取得した対応する値に置き換えます。 DISCORD_TOKEN=YOUR_DISCORD_BOT_TOKEN
DISCORD_CLIENT_ID=YOUR_OAUTH2_CLIENT_ID
DISCORD_CLIENT_SECRET=YOUR_OAUTH2_CLIENT_SECRET
SESSION_SECRET=ANY_RANDOM_STRING_FOR_SESSION_SECURITY
YOUR_DISCORD_BOT_TOKEN
、 YOUR_OAUTH2_CLIENT_ID
、およびYOUR_OAUTH2_CLIENT_SECRET
を、Discord Developer Portal から取得した実際の値に置き換えてください。変更を保存:
app.env
ファイルを保存します。 docker-compose.yml
の構成Docker を使用している場合は、必要な環境変数を含めるようにdocker-compose.yml
ファイルを構成できます。以下に例を示します。
environment :
- DISCORD_TOKEN=YOUR_DISCORD_BOT_TOKEN
- DISCORD_CLIENT_ID=YOUR_OAUTH2_CLIENT_ID
- DISCORD_CLIENT_SECRET=YOUR_OAUTH2_CLIENT_SECRET
- SESSION_SECRET=ANY_RANDOM_STRING_FOR_SESSION_SECURITY
プロキシの背後で実行するには、http だけでなく websoctes を転送する必要があります。以下は nginx 設定のサンプルです
server {
server_name watch2gether.<YOUR DOMAIN>;
listen 80;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_pass http://127.0.0.1:8080;
proxy_read_timeout 90;
}
}
このプロジェクトでは、React フロントエンドで構築されたサーバーを使用します。構築されたもの:
1.15+に行く
糸 v1.22.10
UIフレームワーク:
Antd v4.9+
サーバー、UI、コンテナーを構築する便利な Make ファイルがあります。
make build