LiveStreamRecognition: decode h264 stream and get frames as Bitmaps for further processing (for video recognition or extracting sequence of video thumbnails for every minute) as C# Bitmap objects (console app)

LiveStreamFromImages: encode live video stream from images (Bitmap objects, without temp files). Can be used for creating animated GIFs.

frequently asked questions

VideoConverter can be used for FREE in single-deployment projects (websites, intranet/extranet) or applications for company's internal business purposes (redistributed only internally inside the company).

VideoConverter invokes FFMpeg in a separate process (with System.Diagnostics.Process)
and your project environment/platform should allow that. This might be not possible in the following cases:

partial-trust environments: most shared ASP.NET hostings

Azure Apps (WebSites) -- note that Azure WebJobs is supported

UWP Apps -- they just don't have System.Diagnostics.Process API used by VideoConverter.
You may try
Microsoft's FFMpeg interop library
for Win10/WinPhone8.1 apps (FFMpeg GPL codecs are not available for non-GPL apps in this case).

Linux/MacOS + MONO
Standard build (NReco.VideoConverter.dll) embeds ffmpeg.exe (windows x86)
and as result it will not work under non-windows platforms (like MONO/Linux).
Special
LT version
(NReco.VideoConverter.LT.dll) was introduced to overcome this limitation: it doesn't embed ffmpeg.exe and
you can use any ffmpeg binaries you need (Linux, OS-X or custom build).

.NET Core
VideoConverter.LT nuget package includes build for netstandard1.5 that can be used by .NET Core applications.
Don't forget that you should deploy ffmpeg binaries for your target platform(s) (Windows, Linux or OS X) with your .NET Core app.

Normally VideoConverter works with files but some tasks require real-time processing of media stream
(usually this is video/audio broadcast or webcam stream). Live stream data is processed as it comes;
its duration is not known in advance.

NOTE: not all media formats could be used with as live streams
(for example, MP4 format can be processed only as file).

FFMpeg can generate video from files with special image2 demuxer and this can be achieved with
VideoCoverter. As alternative VideoConverter can generate live video stream from Bitmap objects (package
includes special example for this use case).

Yes it is possible to consume live stream and get each frame as Bitmap in C# code for further real-time processing
(video recognition, for instance). Package includes special example for this use case.

To avoid huge size of resulting GIF file better to descrease frame rate and resulting GIF frame size.
Also note that GIF image can have only 256 (!) colors; this means that if your video has a lot of different colours it might look weird when converted to GIF.
You can get nice-looking GIFs using 2-pass approach that generates optimal palette for GIF file first.

what's new

2017 Jan 14

v.1.1.2:

FFMpeg updated to v.3.2.2

ConvertLiveMediaTask.Stop uses only 'q' command if possible (CTRL+C method not used because of instability)