|
1 | 1 | # H264Sharp |
2 | 2 | Cisco's OpenH264 Native wrapper for .Net with optimised image format conversion support. It is very suitable for realtime streaming over network. |
| 3 | +- Plug&Play |
3 | 4 | - Tested on .NetFramework and Net(up to 8). |
4 | 5 | - Compatible with OpenCV.(i.e. OpenCVsharp) |
5 | 6 | - Tested on WPF application with camera and screen capture (P2P Videocall). |
6 | 7 | - No memory leaks or GC pressure with bitmaps. |
7 | 8 | - Simple console application example is provided as an example. |
8 | 9 |
|
9 | | -Library consist of native dll which acts as openH264 wrapper and image format converter (Yuv <-> rgb,bgr,rgba,bgra) |
| 10 | +Library consist of native dll which acts as OpenH264 wrapper and image format converter (YUV420p <-> RGB,BGR,RGBA,BGRA) |
10 | 11 | <br/>Converters are vectorised(AVX2) for high performance. |
11 | 12 |
|
12 | 13 | C# library is .Net standard wrapper library for this dll and performs PInvoke to handle transcoding. |
13 | 14 | ## Nuget |
| 15 | +Install the nuget package and its ready to go. All native dependencies are automatically installed. |
| 16 | + |
14 | 17 | [](https://www.nuget.org/packages/H264Sharp/1.0.4) |
15 | 18 | ## Example |
16 | 19 | Examples can be found on examples directroy. |
@@ -173,22 +176,22 @@ Cisco's OpenH264 C++/CLI wrapper with optimised image format conversion support. |
173 | 176 | ... |
174 | 177 | ``` |
175 | 178 |
|
176 | | -# Converter dll |
| 179 | +## Converter dll |
177 | 180 | A separate dll is provided for RGB <-> YUV conversions. Its compiled with clang LLVM with AVX2 intrinsics. |
178 | 181 | </br>You can optionally include it on your executable path just like Openh264 dll. |
179 | 182 | </br> |
180 | 183 | </br>If wrapper cannot find the Converter32/64 dll or if your machine does not support AVX2 it will fall back to use default C++/Cli versions. |
181 | 184 | </br>External dll 2x+ faster than C++/Cli versions. |
182 | 185 |
|
183 | | -# TLDR how to install |
| 186 | +## TLDR how to install |
184 | 187 | - Go to my releases find latest version. |
185 | 188 | - Reference H264Sharp dll on your C# project. |
186 | 189 | - Add `openh264-2.3.1-win32.dll` or `openh264-2.3.1-win64.dll` or both to your executable directory(Or include on your project and ckeck copy to output-> copy if newer). |
187 | 190 | - Keep the original names if you want to use default constructors. |
188 | 191 | - Optionally Add Converter64/32 dlls to your executable directory same way as openh264 dll. |
189 | 192 | - Enjoy |
190 | 193 |
|
191 | | -# Remarks |
| 194 | +## Remarks |
192 | 195 | - Decode callbacks with raw image formats use cached back buffer, if you wont consume them immediately, make a copy or sync your system. |
193 | 196 | - Encoder output "EncodedFrame" uses cached back buffer, if you wont consume them immediately, make a copy or sync your system. |
194 | 197 | - .Net Core and .Net Framework releases are provided. |
|
0 commit comments