Chinachuのライブ視聴をSVPで60fps化
ChinacuではXSPF形式のプレイリストを使ってVLCでのリアルタイム視聴を実現しています。
それならせっかくだしSVPでインターレース解除+フレーム補間して視聴したいなーしたくない?
ということで色々試してみた。
ちなみにSVPとはAVISynthやらffmpegやらを駆使してフレーム補間再生を可能にするソフトウェアです。
基本的に無料で使えますが中身を弄りたい場合は$15の有料版が必要になりますが、今回は無料版でOKでした。
1. VLCでフレーム補間
SVP Pro ($15)ならVLCに対応するし簡単にできるんじゃね?
と思ったもののSVPとVLCの組み合わせはインターレース動画に対応していませんでした。残念。。
そのうち対応すると思うので面倒なことをしたくない方はそれまで待ちましょう。
2. Chinachuの再生リストをMPC-HCで開かせる
対応していませんでした。
MPC-HCも開発が終わってから長いので仕方がないですね。
3. MPC-BEで開かせる
MPC-HCの後継版ではXSPFに対応していました。
しかしなぜかビデオが再生されずオーディオだけ流れる。。
どうやらプレイリストから読み取るとオーディオトラックとして認識されてしまうらしい。
なぜなのか。。
4. バッチファイルでプレイリストからURLを引っ張り出してNPC-HCに投げつける
もうヤケです。
プレイリストなんて所詮テキストファイルなのでChinachuのURLだけ抜き取ってMPC-HCに投げつければ再生できるはず。
Windowsはバッチファイルにも関連付けが可能なのでこういう荒技が通るのです。
ただXSPFの中身がUTF8なのでバッチファイルで扱うと謎の挙動をするのでPowerShellのスクリプトで代用。
が、PowerShellのスクリプトは関連付けができないのでPowerShellのスクリプトはバッチファイルで起動する。
もうどうとでもな~れ!
xxx.ps1
$MPC = "C:\Program Files (x86)\MPC-HC\mpc-hc.exe" $file = (Get-Content $Args[0]) -as [string[]] foreach ($line in $file){ if($line.Contains("<location>")) { $URL = $line.Replace("<location>", "").Replace("</location>", "") } } & $MPC $URL
xxx.bat
PowerShell -file C:\xxx\xxx.ps1 %1
-file オプションを付けないとファイル名にスペースが入った場合に途切れるので注意。
新しいPCで使おうとしたらセキュリティで弾かれて使えなかった。
PowerShellのスクリプトが標準では実行禁止になっているのをすっかり忘れていた。
セキュリティ的にはよろしくないが、以下を実行すれば問題はなくなる。
Set-ExecutionPolicy Unrestricted
以上。
無理やりだけどいけました。
これでPCでのテレビ視聴が捗ります。