"eglfs" 플랫폼을 사용하여 Raspberry Pi 3에서 실행되는 전체 화면 Qt 애플리케이션이 있습니다. /dev/dri/core0
그리기에는 KMS/DRM 및 GPU 장치를 사용합니다 . GPU는 Broadcom VideoCore IV입니다.
화면을 녹화하고 싶지만 성공하지 못했습니다. 내가 얻은 가장 가까운 것은 다음과 같습니다.
사용
ffmpeg
및kmsgrab
입력 장치. 불행히도 이로 인해ffmpeg -f kmsgrab -i - -vf 'hwdownload,format=bgr0' output.mp4
아래와 같이 왜곡된 비디오가 생성됩니다.Qt를 프레임버퍼로 리디렉션합니다. 예를 들어:
./my_app -platform linuxfb:fb=/dev/fb0
. 그런 다음 더 즉각적인ffmpeg -f fbdev -i /dev/fb0 output.mp4
작업이 수행됩니다. 불행히도 내 버튼이 표시되지 않도록 기능을linuxfb
렌더링하지 않습니다 .Qt5Compat.GraphicalEffects
layer.effect
왜곡된 출력이 너무 가까워 보이는 것을 고려하여 다양한 ffmpeg
전달을 시도했습니다.format_modifier
drm_fourcc.h그러나 아무런 차이가 보이지 않았습니다. 출력이 화면에 표시된 것과 유사하도록 보장하는 세트 hwmap
나 플래그 가 있습니까 ?format_modifier
참고로 저는 커널 버전 5.4.83-v8을 사용하고 있습니다 dtoverlay=vc4-fkms-v3d
. 어떤 차이가 있다고 생각되면 이러한 사항을 조정할 수 있습니다.