Skip to content

Commit

Permalink
Updated README.
Browse files Browse the repository at this point in the history
  • Loading branch information
baSSiLL committed Jan 22, 2022
1 parent 9a9b14f commit 7f6e17e
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 11 deletions.
23 changes: 17 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,25 @@
**SharpAvi** is a simple .NET library for creating video files in AVI format.

If you want to render some video sequence, and do not want to touch DirectShow or depend on command-line utilities - **SharpAvi** may be what you need.
Writing uncompressed AVI does not require any external dependencies, it's pure .NET code. Files are produced in compliance with the [OpenDML extensions](http://www.jmcgowan.com/avitech.html#OpenDML) which allow (nearly) unlimited file size (no 2GB limit).
If you want to render some video sequence, but do not want to touch native APIs like DirectShow or to depend on command-line utilities like FFmpeg then **SharpAvi** may be what you need.
Writing uncompressed AVI does not require any external dependencies, it's a pure .NET code.
Files are produced in compliance with the [OpenDML extensions](http://www.jmcgowan.com/avitech.html#OpenDML) which allow (nearly) unlimited file size (no 2GB limit).

Video is created by supplying individual in-memory bitmaps (byte arrays) and audio samples. Included are implementations of encoders for Motion JPEG (requires WPF), MPEG-4 (requires external VfW codecs) and MP3 (requires LAME binaries). Output format is always AVI, regardless of a specific codec used. Asynchronous writing/encoding is supported.
A video is created by supplying individual in-memory bitmaps and audio samples.
There are some built-in encoders for video and audio.
Output format is always AVI, regardless of a specific codec used.

To get started, jump to the [project's wiki](https://github.com/baSSiLL/SharpAvi/wiki/Home).
The project is published to NuGet as a few packages:
* [SharpAvi](https://www.nuget.org/packages/SharpAvi/)
Contains core functions and some encoders which do not depend on external packages.
* A Motion JPEG video encoder based on WPF. Supported in **net45** and **net50-windows** targets.
* An MPEG-4 video encoder based on the Video for Windows (VFW) API. Supported in all targets when running on Windows.
* [LAME](https://lame.sourceforge.io/)-based MP3 audio encoder. Supported in **net45**, **net50** and **net50-windows** targets.
* [SharpAvi.ImageSharp](https://www.nuget.org/packages/SharpAvi.ImageSharp/)
Contains a Motion JPEG video encoder based on [SixLabors.ImageSharp](https://github.com/SixLabors/ImageSharp).
It's a cross-platform alternative to the WPF-based encoder.

Project binaries can also be downloaded as [NuGet package](https://www.nuget.org/packages/SharpAvi/).
To get started, jump to the [project's wiki](https://github.com/baSSiLL/SharpAvi/wiki/Home).

***

A bit of history. This project started on [CodePlex](https://sharpavi.codeplex.com/) in 2013. Then the repository was mirrored on GitHub for some time, until the project moved on GitHub completely in the middle of 2017.
A bit of history. This project has started on [CodePlex](https://sharpavi.codeplex.com/) in 2013. Then the repository was mirrored to GitHub for some time, until the project has been moved to GitHub completely in the middle of 2017.
3 changes: 2 additions & 1 deletion SharpAvi.sln
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,10 @@ EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{2D19245D-C897-44AF-9D4C-1187702F68C3}"
ProjectSection(SolutionItems) = preProject
.editorconfig = .editorconfig
README.md = README.md
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpAvi.ImageSharp", "SharpAvi.ImageSharp\SharpAvi.ImageSharp.csproj", "{ED29C1C8-634A-4325-A5B0-1F3563D50BB4}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SharpAvi.ImageSharp", "SharpAvi.ImageSharp\SharpAvi.ImageSharp.csproj", "{ED29C1C8-634A-4325-A5B0-1F3563D50BB4}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Expand Down
4 changes: 0 additions & 4 deletions SharpAvi/SharpAvi.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,6 @@
</PropertyGroup>
<ItemGroup>
<None Include="..\.editorconfig" Link=".editorconfig" />
<None Include="..\README.md">
<Pack>True</Pack>
<PackagePath>\</PackagePath>
</None>
</ItemGroup>
<!-- References to WPF for targets on the Windows platform -->
<ItemGroup Condition="'$(TargetFramework)' == 'net45'">
Expand Down

0 comments on commit 7f6e17e

Please sign in to comment.