π [ENGLISH](./README.md)
# Screen Recorder
μ»΄ν¨ν° νλ©΄κ³Ό κΈ°λ³Έ μ€λμ€ μ¬μ μ₯μΉμ μ€λμ€λ₯Ό λ
Ήννλ κΈ°λ₯μ κ°μ§ λ
Ήν νλ‘κ·Έλ¨ μ
λλ€.
### κΈ°λ³Έ μ€μ

### κ³ κΈ μ€μ

## π μ¬μ©λ²
- λκ·Έλ λ²νΌμ λλ₯΄λ©΄ λ
Ήνκ° μμλκ³ μ¬κ°ν λ²νΌμ λλ₯΄λ©΄ μ μ§λ©λλ€.
- μ°μΈ‘ νλ¨μ ν±λλ°ν΄ λ²νΌμ λλ₯΄λ©΄ λ
Ήν μ€μ μ λν νμ
λ©λ΄κ° νμλ©λλ€.
## π¨ νΉμ§
- κΈ°λ³Έμ μΌλ‘ λΉλμ€ μ½λ±μ H.264 λ₯Ό μ¬μ©ν©λλ€.
- μ¬μ©μμ μ»΄ν¨ν°μμ NVENCλ QuickSync μ νλμ¨μ΄ μ½λ±μ μ§μνλ€λ©΄ ν΄λΉ μ½λ±μ μ°μ μ μΌλ‘ μ¬μ©ν©λλ€.
- νμν κ²½μ° κ³ κΈ μ€μ λ©λ΄μμ H.265 μ½λ±λ μ νμ΄ κ°λ₯ν©λλ€. (νλμ¨μ΄ μΈμ½λ©μ΄ μ§μ μ λλ κ²½μ° λ§€μ° λμ CPU λ‘λκ° λ°μν μ μμ΅λλ€)
- κΈ°λ³Έμ μΌλ‘ μ€λμ€ μ½λ±μ AAC λ₯Ό μ¬μ©ν©λλ€.
- νμν κ²½μ° κ³ κΈ μ€μ λ©λ΄μμ MP3 μ½λ±λ μ νμ΄ κ°λ₯ν©λλ€.
- νλ‘κ·Έλ¨ μκΈ° μμ μ λ
Ήν νλ©΄μ ν¬ν¨λμ§ μκ³ λ
Ήνλ©λλ€.
- 컀μ μΊ‘μ³ μ€μ μ μ΄μ©νμ¬ λ§μ°μ€ 컀μμ μΊ‘μ³ μ¬λΆλ₯Ό μ€μ ν μ μμ΅λλ€.
- μ¬μ©μκ° μ§μ μμμ μ§μ νμ¬ λ
Ήνκ° κ°λ₯ν©λλ€.
- λ€μκ³Ό κ°μ μμ μ§μ μ΅μ
μ΄ μ‘΄μ¬ν©λλ€:
- μ¬κ° μμ μ§μ , μλμ° μμ μ§μ , λμ€νλ μ΄ μμ μ§μ
- ν«ν€λ₯Ό μ΄μ©ν λ
Ήν κΈ°λ₯.
- λ§μ΄ν¬ λ
ΉμκΈ°λ₯ (μμ€ν
κΈ°λ³Έ μΊ‘μ³ μ₯μΉλ₯Ό λ
Ήμν©λλ€)
- κΈ°λ³Έμ μΌλ‘ λ
Ήν νλ μ λ μ΄νΈλ 60 fpsλ‘ λ
Ήνλ©λλ€.
- νμν κ²½μ° κ³ κΈ μ€μ λ©λ΄μμ λ€λ₯Έ νλ μ λ μ΄νΈλ μ νμ΄ κ°λ₯ν©λλ€.
- 15, 24, 25, 30, 48, 50, 60, 120, 144 fps
## π‘ μμ€ν
μꡬ μ¬ν
- μ§μλλ νλ«νΌ: Windows 10 64bit Version 1903 λλ μ΄μ (μκΈ° μ°½ μΊ‘μ² μ μΈ κΈ°λ₯μ Version 2004 μ΄μ κΆμ₯)
- κ·Έλν½: DirectX 11 λλ κ·Έ μ΄μκ³Ό νΈνλλ κ·Έλν½μΉ΄λ (Windows Graphics Capture)
- **NVENC H.264**λ₯Ό μ¬μ©νλ €λ©΄ **GTX 600** μλ¦¬μ¦ μ΄μμ΄ νμν©λλ€
- **NVENC HEVC**λ₯Ό μ¬μ©νλ €λ©΄ **GTX 950** μλ¦¬μ¦ μ΄μμ΄ νμν©λλ€
- NVENCμ νμν μ΅μ Nvidia λλΌμ΄λ²λ **522.25** μ΄μμ
λλ€
- νλμ¨μ΄ μΈμ½λ©μ μ¬μ©ν μ μμΌλ©΄ μννΈμ¨μ΄(libx264/libx265)λ‘ μλ λ체λ©λλ€
- μ€μΉ νλ‘κ·Έλ¨μ self-contained λ°©μμΌλ‘, **λ³λμ .NET λ°νμ μ€μΉκ° νμ μμ΅λλ€**
## π λ νΌλ°μ€
- [v1.0.4 λ²μ μ λν μννΈνΌλμ μλν°μ 리뷰](https://www.softpedia.com/get/Multimedia/Video/Video-Recording/ScreenRecorder-K.shtml)
- [ilovefreesoftware 리뷰](https://www.ilovefreesoftware.com/08/windows-10/free-screen-recorder-for-windows-select-desired-gpu-for-recording.html)
- [μ νλ² ODORIZZI 리뷰](https://www.youtube.com/watch?v=_GoPhpy4Q44)
## π¨βπ» λΉλ
- .NET 9 SDK (`win-x64`)
- Windows 10 64bit λλ μ΄μ
FFmpeg shared λΌμ΄λΈλ¬λ¦¬λ μ μ₯μμ ν¬ν¨λμ΄ μμ§ μμ΅λλ€. μ€ν/λΉλ μ μ FFmpeg 8.x shared DLL **5κ°**
(`avcodec-62`, `avformat-62`, `avutil-60`, `swresample-6`, `swscale-9`)λ₯Ό `Externals/ffmpeg/win-x64/` μ
λ£μ΄ μ£ΌμΈμ (`Externals/ffmpeg/README.md` μ°Έκ³ ; μ: [gyan.dev](https://github.com/GyanD/codexffmpeg/releases)
μ `ffmpeg-8.1-full_build-shared` λΉλ).
```pwsh
# λΉλ & μ€ν
dotnet run --project ScreenRecorder/ScreenRecorder.csproj
# μ€μΉ νλ‘κ·Έλ¨ λΉλ (publish + NSIS) β NSIS(makensis) νμ
Installers\build_setup.bat 2.0.0
```
## π¦ μλ νν° λΌμ΄λΈλ¬λ¦¬
- FFmpeg: https://www.ffmpeg.org/ ([FFmpeg.AutoGen](https://github.com/Ruslan-B/FFmpeg.AutoGen) κ²½μ )
- Vortice.Windows (Direct3D 11 / DXGI): https://github.com/amerkoleci/Vortice.Windows
- NAudio (WASAPI): https://github.com/naudio/NAudio
- CommunityToolkit.Mvvm: https://github.com/CommunityToolkit/dotnet
## π κΈ°λ₯ μμ²
- μνμλ κΈ°λ₯μ΄ μμΌμλ©΄ [issues](https://github.com/akon47/ScreenRecorder/issues)μ **Feature Request** λΌλ²¨κ³Ό ν¨κ» μμ²ν΄μ£ΌμΈμ.
## π κΈ°μ¬
- μ΄ νλ‘μ νΈλ μ€ν μμ€ νλ‘μ νΈμ
λλ€. λꡬλ μ΄λ€ λΆλΆμμλ μ§ κΈ°μ¬κ° κ°λ₯ν©λλ€.
## π λ²κ·Έ 리ν¬νΈ
- λ§μ½ λ²κ·Έλ₯Ό λ°κ²¬νμ λ€λ©΄ [issues](https://github.com/akon47/ScreenRecorder/issues) λ‘ λ³΄κ³ ν΄ μ£ΌμΈμ.