Broadcom VideoCore IVでeglfsを使用している間に画面を録画する方法

Broadcom VideoCore IVでeglfsを使用している間に画面を録画する方法

「eglfs」プラットフォームを使用してRaspberry Pi 3で実行されるフルスクリーンQtアプリケーションがあります。/dev/dri/core0描画にはKMS / DRMとGPUデバイスを使用してください。 GPUはBroadcom VideoCore IVです。

画面を録画したいのですが、成功しませんでした。私が得た最も近いものは次のとおりです。

  1. 使用ffmpegおよびkmsgrab入力装置。残念ながら、これはffmpeg -f kmsgrab -i - -vf 'hwdownload,format=bgr0' output.mp4以下のように歪んだビデオを生成します。

    ffmpegが無効な文字を出力します。

  2. Qtをフレームバッファにリダイレクトします。たとえば: ./my_app -platform linuxfb:fb=/dev/fb0。その後、より迅速なffmpeg -f fbdev -i /dev/fb0 output.mp4操作が実行されます。残念ながら、私のボタンが表示されないように機能をlinuxfbレンダリングしません。Qt5Compat.GraphicalEffectslayer.effect

歪んだ出力が近すぎるように見えることを考慮して、さまざまなffmpeg配信を試みました。format_modifierdrm_fourcc.hしかし、何の違いも見られませんでした。出力が画面に表示されているものと似ていることを保証するセットまたはhwmapフラグがありますか?format_modifier

ちなみに私はカーネルバージョン5.4.83-v8を使用していますdtoverlay=vc4-fkms-v3d。何らかの違いがあると思われる場合は、これらを調整できます。

関連情報