Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
ReferenceType committed Apr 15, 2024
2 parents 6eb57b4 + cfa30b6 commit 50e44d1
Showing 1 changed file with 10 additions and 6 deletions.
16 changes: 10 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,24 @@
# H264Sharp
Cisco's OpenH264 Native wrapper for .Net with optimised image format conversion support. It is very suitable for realtime streaming over network.
This is the only open source C# library with full feature wrapper.
Image format converters are faster than OpenCV implementation.
Cisco's OpenH264 Native wrapper for .Net with optimised color format conversion support. It is very suitable for realtime streaming over network.
This is the only open source .Net library with full feature wrapper, supported for windows and linux.
Arm platforms are work in progress.

SIMD color format converters are faster than OpenCV implementation.
- Cross Platform
- Plug&Play
- Tested on .NetFramework and Net(up to 8).
- Tested on .NetFramework and Net(up to 8), Windows & Linux.
- Compatible with OpenCV.(i.e. OpenCVsharp)
- Tested on WPF application with camera and screen capture.
- No memory leaks or GC pressure.
- Simple console application example and WPF application is provided as an example.

Library consist of native dll which acts as OpenH264 wrapper and image format converter (YUV420p <-> RGB,BGR,RGBA,BGRA)
Library consist of native dll which acts as OpenH264 wrapper and color format converter (YUV420p <-> RGB,BGR,RGBA,BGRA)
<br/>Converters are vectorised(AVX2 and SSE) and can be configured for parallelisation for high performance.

C# library is .Net standard wrapper library for this dll and performs PInvoke to handle transcoding.
## Nuget
Install the nuget package and its ready to go. All native dependencies are automatically installed and will apepear on your executable directory.
linux binaries are provided on releases, Nuget release coming soon.

[![NuGet](https://img.shields.io/nuget/v/H264Sharp)](https://www.nuget.org/packages/H264Sharp/1.2.0)

Expand Down Expand Up @@ -192,7 +196,7 @@ Similarly for decoder
decoder.Initialize(decParam);
```

Image format conversion (RGB <-> YUV420) has optional configuration where you can provide number of threads on parallelisation.
Color format conversion (RGB <-> YUV420) has optional configuration where you can provide number of threads on parallelisation.
<br/>Using 1 thread gives consumes least cpu cycles and most efficient but it takes more time.
Beyond 4 threads you start to get diminishing returns.
<br/>Fastest performance is achieved when threadcount is same as your phyical threads on your machine.
Expand Down

0 comments on commit 50e44d1

Please sign in to comment.