Skip to content

Latest commit

 

History

History
53 lines (41 loc) · 1.35 KB

README_en.md

File metadata and controls

53 lines (41 loc) · 1.35 KB

NanaRecorder - A screen recorder based on Qt and FFmpeg

UI

QQ截图20230119022010

Flowchart

flowchart

Main thread:UI thread,call Recorder interface
Capture thread:capture frame->format convertion/resample->write into FIFO
Encode and mux thread:read frame from FIFO->encode->mux to file

Dependencies

Windows

VS:VS2017 and later are recommended
Qt:Qt5.12 and later are recommended
FFmpeg5.1 (Included in project,DLL will copy to exe directory after VS Build)

My development environment

  • VS2022
  • Qt5.12.9

The solotuion support Debug/Release and Win32/x64

VS+Qt开发环境配置

Linux

My development environment

  • Qt6.2.4
  • FFmpeg5.1.2

ffmpeg build reference

You need to modify Qt and FFmpeg dependencies path in CMakeLists.txt

  • QT_PATH
  • FFMPEG_ROOT_DIR

Build

mkdir build && cd build
cmake ..
make -j4

Run app

  1. Run directly in Qt Creator
  2. Run in shell:../bin/NanaRecorder

TODO

  • Flush encoder
  • Record simultaneously both speaker and mircophone
  • Support hardware acceleration
  • High picture quality, samll file size and low bit rate