Rinnegatamante氏が、Vitaでゲームのプレイ画面を録画できるプラグイン Vita Recorder v.0.1.1 をリリースしていました。HomebrewコンテストKyûHENにエントリーされています。 (source code)
Vitaのゲームのプレイ画面をPCにストリーミングする事が出来るVITA2PCのコードがベースになっているらしく、改良を行い、ストリーミング機能を録画機能に置き換えた物が Vita Recorder だそうです。
録画に使用される形式はMJPEGです。
録画時間の制限は無いようで、ストレージ(ux0)に空きがあればあるだけ録画出来る仕様になっています。
解像度はダウンスケール(480x272)/非ダウンスケールが選択可能で、デフォは前者になっています。
動画のクオリティとして Default, Low, Worst, Best, High が設定出来るようになっています。
可能な場合はsceJpegEncoderでハードウェアエンコーディングを行い、リソース不足の場合はフォールバックとして libjpeg-turbo を使用したソフトウェアエンコーディングが行われるそうです。
録画は非同期/同期を選択可能で、前者はゲームのパフォーマンスには影響しない代わりにアーティファクトやフレームの欠落が発生する可能性があり、後者はゲームのパフォーマンスを低下させる代わりに動画の質が良くなります。 同期設定時には0~4のフレームスキップを設定可能です。
v0.1.1時点ではユーザープラグインであり、ホーム画面(*main)やシステムアプリ(タイトルIDがNPXSのアプリ)の録画はサポートされていません。 READMEを読むにudcd_uvcをベースにしたカーネルプラグイン版を開発する計画があるようで、redditの以下の投稿でRinnegatamante氏は、ホーム画面は次にリリースされるカーネルプラグイン版で録画が可能になるとコメントされています。
[RELEASE] Vita Recorder - Record video clips while playing
v0.1.1時点ではゲーム音の録音がサポートされていませんが、録音のサポートも計画にあるようです。
Homebrew以外(市販のゲーム)で録画する場合、ioPlusも必要となります。
config.txtで以下のように記述して有効にします。(プラグインをur0:tai/に配置した場合)
録画したいゲームが限られている場合は *ALL の代わりに *タイトルID でも構いません。
*!main は、*ALL におけるホーム画面の除外設定です。必ず *ALL の上に記述してください。
v0.1.1時点では、ホーム画面で有効になってしまうとホーム画面の表示に問題が発生し、プラグインを無効にする必要が出てきます。*タイトルID の下にパスを書く場合は *!main は不要です。
ゲーム中に [Lボタン + SELECTボタン] で画面左上に設定を表示可能です。
設定は△ボタンで閉じる事が可能です。
[Lボタン + STARTボタン] で設定を表示せず録画の開始/終了が可能です。
録画中は画面左上に R の文字が表示されます。
動画は "ux0:data/" に vid_(タイトルID)-(日時).mjpg として保存されます。
以下がVita Recorderの設定です。

とりあえずFloweryで試してみました。積みゲー消化としてやり始めたタイトルです。
Vita Recorderの設定はデフォです。
ちゃんと録れてますね。(YouTubeのせいで若干画質が落ちています)
まあ、クオリティを重視しないちょっとした動画を録りたい時には使えそうです。GIF作りたい時とか。
ちゃんとしたプレイ動画を録りたいならudcd_uvcか、VitaTV+キャプチャーボードが推奨されます。
ちなみに、上の動画はmp4に変換した物ですが、オリジナルのmjpgのファイルサイズは15.2MBでした。
何度か録画を試してみましたが、非同期では動画のゲームスピードが速くなる事があります。
とは言え、同期にするとゲームが重くなるので同期で録画する気にはなれませんが…
v0.1.1時点での既知の問題点は以下のような感じです。
どうでも良い事ですが、1100でモーションセンサー使ってFloweryやったら結構疲れた…重い。
タッチ操作も可能ですけど、モーションセンサー使う場合は2000でやる方が良いですね…
録画に使用される形式はMJPEGです。
録画時間の制限は無いようで、ストレージ(ux0)に空きがあればあるだけ録画出来る仕様になっています。
解像度はダウンスケール(480x272)/非ダウンスケールが選択可能で、デフォは前者になっています。
動画のクオリティとして Default, Low, Worst, Best, High が設定出来るようになっています。
可能な場合はsceJpegEncoderでハードウェアエンコーディングを行い、リソース不足の場合はフォールバックとして libjpeg-turbo を使用したソフトウェアエンコーディングが行われるそうです。
録画は非同期/同期を選択可能で、前者はゲームのパフォーマンスには影響しない代わりにアーティファクトやフレームの欠落が発生する可能性があり、後者はゲームのパフォーマンスを低下させる代わりに動画の質が良くなります。 同期設定時には0~4のフレームスキップを設定可能です。
v0.1.1時点ではユーザープラグインであり、ホーム画面(*main)やシステムアプリ(タイトルIDがNPXSのアプリ)の録画はサポートされていません。 READMEを読むにudcd_uvcをベースにしたカーネルプラグイン版を開発する計画があるようで、redditの以下の投稿でRinnegatamante氏は、ホーム画面は次にリリースされるカーネルプラグイン版で録画が可能になるとコメントされています。
[RELEASE] Vita Recorder - Record video clips while playing
v0.1.1時点ではゲーム音の録音がサポートされていませんが、録音のサポートも計画にあるようです。
Homebrew以外(市販のゲーム)で録画する場合、ioPlusも必要となります。
config.txtで以下のように記述して有効にします。(プラグインをur0:tai/に配置した場合)
*KERNEL
ur0:tai/ioplus.skprx
*!main
*ALL
ur0:tai/VitaRecorder.suprx
記述した後はVitaを再起動してください。ur0:tai/ioplus.skprx
*!main
*ALL
ur0:tai/VitaRecorder.suprx
録画したいゲームが限られている場合は *ALL の代わりに *タイトルID でも構いません。
*!main は、*ALL におけるホーム画面の除外設定です。必ず *ALL の上に記述してください。
v0.1.1時点では、ホーム画面で有効になってしまうとホーム画面の表示に問題が発生し、プラグインを無効にする必要が出てきます。*タイトルID の下にパスを書く場合は *!main は不要です。
ゲーム中に [Lボタン + SELECTボタン] で画面左上に設定を表示可能です。
設定は△ボタンで閉じる事が可能です。
[Lボタン + STARTボタン] で設定を表示せず録画の開始/終了が可能です。
録画中は画面左上に R の文字が表示されます。
動画は "ux0:data/" に vid_(タイトルID)-(日時).mjpg として保存されます。
以下がVita Recorderの設定です。

とりあえずFloweryで試してみました。積みゲー消化としてやり始めたタイトルです。
Vita Recorderの設定はデフォです。
ちゃんと録れてますね。(YouTubeのせいで若干画質が落ちています)
まあ、クオリティを重視しないちょっとした動画を録りたい時には使えそうです。GIF作りたい時とか。
ちゃんとしたプレイ動画を録りたいならudcd_uvcか、VitaTV+キャプチャーボードが推奨されます。
ちなみに、上の動画はmp4に変換した物ですが、オリジナルのmjpgのファイルサイズは15.2MBでした。
何度か録画を試してみましたが、非同期では動画のゲームスピードが速くなる事があります。
とは言え、同期にするとゲームが重くなるので同期で録画する気にはなれませんが…
v0.1.1時点での既知の問題点は以下のような感じです。
- リソース不足でクラッシュするタイトルがある。
- クオリティをBestやHighにすると空の動画が作成される可能性がある。
(エンコーダーのためのリソース不足が原因) - 可変解像度のゲームでは正常な動画にならない可能性がある。
- システムアプリ/ホーム画面がサポートされていない。
どうでも良い事ですが、1100でモーションセンサー使ってFloweryやったら結構疲れた…重い。
タッチ操作も可能ですけど、モーションセンサー使う場合は2000でやる方が良いですね…
