TL;DR
事象: なんか急にVRChatで動画プレイヤーがエラーを起こして見れなくなった
原因: yt-dlpのバージョンが古い
対策: yt-dlpのバージョンアップ
前提
OS: Windows 10
Stream Player: Yama Player
Logfileのパス: C:\Users\{ユーザー名}\AppData\LocalLow\VRChat\vrchat\output_log_yyyy-MM-dd_hh-mm-ss.txt
(*1, *2)
yt-dlpのパス: C:\Users\{ユーザー名}\AppData\LocalLow\VRChat\VRChat\Tools\yt-dlp.exe
発生した事象
- VRChatで動画プレイヤーを使用して、youtubeの動画を視聴しようとしたとき、エラーが起きて見られない。
- ただし、他のプレイヤーは自分が流した動画をちゃんと視聴できる
- Logfileに、以下のようなログが出力される。
2024.07.06 17:32:38 Error - [Video Playback] ERROR: [urllib] Unexpected error: PermissionError: [Errno 13] Permission denied: 'C:\\work\\tls.keys'; please report this issue on https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using yt-dlp -U
調査結果(ChatGPT)
ぼく
このログのERRORの内容を分析して、解決方法を提示してください。
2024.07.06 17:32:38 Error - [Video Playback] ERROR: [urllib] Unexpected error: PermissionError: [Errno 13] Permission denied: 'C:\\work\\tls.keys'; please report this issue on https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using yt-dlp -U
ChatGPT
エラーログの概要
yt-dlp.exeというツールを使用してYouTubeのURLを解決しようとしています。
プロセスはyt-dlp.exeを正常に開始し、プロセスIDは17768です。
プロセスは425ミリ秒後に終了し、終了コードは255でした。
エラーメッセージとしてPermissionError: [Errno 13] Permission deniedが表示され、C:\\work\\tls.keysへのアクセスが拒否されています。
解決方法
ファイル権限の確認:
C:\\work\\tls.keysファイルのアクセス権限を確認します。このファイルへの読み書き権限があるかどうかを確認し、必要に応じて適切な権限を設定します。
エクスプローラーでファイルを右クリックし、「プロパティ」→「セキュリティ」タブでユーザーのアクセス権を確認・変更します。
実行環境の確認:
yt-dlp.exeが必要な権限で実行されていることを確認します。管理者権限で実行することで、ファイルアクセスの問題が解決する場合があります。
ファイルの存在確認:
C:\\work\\tls.keysファイルが存在するか確認し、存在しない場合はファイルを作成します。必要な情報を含むように設定します。
yt-dlpの更新:
エラーメッセージで提案されている通り、yt-dlpを最新バージョンに更新します。コマンドプロンプトを開き、以下のコマンドを実行します:
コードをコピーする
yt-dlp -U
エラーレポートの提出:
もし問題が解決しない場合は、エラーメッセージに記載されているURL(https://github.com/yt-dlp/yt-dlp/issues)にアクセスし、エラーの詳細を報告します。これにより、開発者からのフィードバックを受け取ることができます。
これらの手順を試すことで、PermissionErrorの問題を解決できる可能性が高いです。必要に応じて、各手順を詳細に実行し、状況に応じた適切な解決方法を選択してください。
実施した内容
- C:\work\tls.keysのパーミッション変更 -> 解決しなかった
- yt-dlpのアップデート -> 解決した
yt-dlpのアップデートを実行する
- Windowsキーを押下し「スタートメニュー」を開く
- 「cmd」と入力し、検索から「コマンドライン」を開く
- 以下のコマンドを実行し、yt-dlp.exeをアップデートする
C:\Users\{ユーザー名}\AppData\LocalLow\VRChat\VRChat\Tools\yt-dlp.exe -U
- ログを確認し、最新のバージョンであることを確認する
Latest version: stable@2024.07.02 from yt-dlp/yt-dlp yt-dlp is up to date (stable@2024.07.02 from yt-dlp/yt-dlp)
- VRChat上で動画プレイヤーがYoutubeが視聴できることを確認する
結論
VRChatの動画プレイヤーが実行するyt-dlp.exeのバージョンが古いため、アップデートすることで直る可能性が高い。
訳注
(*1): パスに含まれる「{ユーザー名}」は、適宜OSユーザーに置き換えてください。
(*2): パスに含まれる「yyyy-MM-dd_hh-mm-ss」は、最も直近のファイルを参照するようにしてください。