All Projects → nager → Nager.VideoStream

nager / Nager.VideoStream

Licence: MIT license
Get images from a network camera stream or webcam

Programming Languages

C#
18002 projects

Projects that are alternatives of or similar to Nager.VideoStream

smart rtmpd
RTMP server, smart, compact, high performance(c, c++), high concurrency, easy to maintain, easy to deploy, (supports multiple operating systems Windows and Linux, ARM, FreeBSD)
Stars: ✭ 159 (+488.89%)
Mutual labels:  h264, rtsp, h265
Media Stream Library Js
JavaScript library to handle media streams on the command line (Node.js) and in the browser.
Stars: ✭ 192 (+611.11%)
Mutual labels:  h264, camera, rtsp
Mp4composer Android
This library generate an Mp4 movie using Android MediaCodec API and apply filter, scale, trim, transcode, crop, timeScale, mute and rotate Mp4.
Stars: ✭ 674 (+2396.3%)
Mutual labels:  h264, video-processing, h265
rrtsp client
Rust high level RTSP client
Stars: ✭ 12 (-55.56%)
Mutual labels:  h264, rtsp, h265
Testing Video
Generator of test video files for testing your media playback devices and calibrate TV sets
Stars: ✭ 70 (+159.26%)
Mutual labels:  h264, h265
Wxinlineplayer
🤟Super fast H.264/H.265 FLV player
Stars: ✭ 873 (+3133.33%)
Mutual labels:  h264, h265
Digital video introduction
A hands-on introduction to video technology: image, video, codec (av1, vp9, h265) and more (ffmpeg encoding).
Stars: ✭ 12,184 (+45025.93%)
Mutual labels:  h264, h265
Haishinkit.swift
Camera and Microphone streaming library via RTMP, HLS for iOS, macOS, tvOS.
Stars: ✭ 2,237 (+8185.19%)
Mutual labels:  h264, camera
Trinity
android video record editor muxer sdk
Stars: ✭ 609 (+2155.56%)
Mutual labels:  h264, camera
Nodeplayer.js
Pure JavaScrip HTML5 live stream player
Stars: ✭ 157 (+481.48%)
Mutual labels:  h264, h265
Obs Ios Camera Source
Use your iPhone camera as a video source in OBS Studio and stream high quality video from your iPhone's camera over USB
Stars: ✭ 199 (+637.04%)
Mutual labels:  h264, camera
Ksylive ios
金山云直播SDK [ iOS推流+播放 ]融合版 支持美颜滤镜(Beauty Filter)、美声(Beauty Voice)、软硬编(Software/Hardware Encoder) 、网络自适应(Network Auto Adapt)、混音(Audio Mixer)、混响(Reverb)、画中画(PIP)
Stars: ✭ 861 (+3088.89%)
Mutual labels:  h264, h265
Rtsp Simple Server
ready-to-use RTSP / RTMP server and proxy that allows to read, publish and proxy video and audio streams
Stars: ✭ 882 (+3166.67%)
Mutual labels:  h264, rtsp
Conv2mp4 Ps
This Powershell script will recursively search through a user-defined file path and convert all videos of user-specified file types to MP4 with H264 video and AAC audio using ffmpeg. The purpose of this script is to reduce transcoding CPU load on a media server like Plex or Emby and increase video compatibility across platforms.
Stars: ✭ 97 (+259.26%)
Mutual labels:  h264, video-processing
mini
OpenSource Mini IP camera streamer
Stars: ✭ 64 (+137.04%)
Mutual labels:  h264, rtsp
uci
Ultra Compact Image (UCI)
Stars: ✭ 79 (+192.59%)
Mutual labels:  h264, h265
VideoCodecKit
iOS macOS 编解码库 脱离ffmpeg等外部依赖 支持H.264 H.265裸流播放 硬件编解码 rtmp推流等
Stars: ✭ 78 (+188.89%)
Mutual labels:  h264, h265
Transcoder
🎞 Hardware-accelerated video transcoding using Android MediaCodec APIs. Supports cropping, concatenation, clipping, audio processing, video speed and much more.
Stars: ✭ 404 (+1396.3%)
Mutual labels:  h264, video-processing
Voukoder
Provides an easy way to include the FFmpeg encoders in other windows applications.
Stars: ✭ 436 (+1514.81%)
Mutual labels:  h264, h265
Jmuxer
jMuxer - a simple javascript mp4 muxer that works in both browser and node environment.
Stars: ✭ 222 (+722.22%)
Mutual labels:  h264, rtsp

Nager.VideoStream

This project supports three video sources: Network Camera Stream (e.x. RTSP), Webcam or a Video File. It provides the individual frames (jpg, png, bmp) as an event.

Requirements

The library requires ffmpeg. You can download the ffmpeg binary here, they are needed to access the video stream. Just copy the ffmpeg.exe into the execution directory.

How can I use it?

The package is available on nuget

PM> install-package Nager.VideoStream

Examples of use

Network Camera (RTSP Stream)

var inputSource = new StreamInputSource("rtsp://videoserver.example/testvideo.mp4");

var cancellationTokenSource = new CancellationTokenSource();

var client = new VideoStreamClient();
client.NewImageReceived += NewImageReceived;
var task = client.StartFrameReaderAsync(inputSource, OutputImageFormat.Bmp, cancellationTokenSource.Token);

//wait for exit
Console.ReadLine();

client.NewImageReceived -= NewImageReceived;

void NewImageReceived(byte[] imageData)
{
    File.WriteAllBytes($@"{DateTime.Now.Ticks}.bmp", imageData);
}

Webcam

You can find out the name of your webcam in the Windows Device Manager in the section Cameras
Windows Device Manager

var inputSource = new WebcamInputSource("HP HD Camera");

var cancellationTokenSource = new CancellationTokenSource();

var client = new VideoStreamClient();
client.NewImageReceived += NewImageReceived;
var task = client.StartFrameReaderAsync(inputSource, OutputImageFormat.Bmp, cancellationTokenSource.Token);

//wait for exit
Console.ReadLine();

client.NewImageReceived -= NewImageReceived;

void NewImageReceived(byte[] imageData)
{
    File.WriteAllBytes($@"{DateTime.Now.Ticks}.bmp", imageData);
}

Custom Input Source - Select manual attributes

var inputSource = new CustomInputSource("-rtsp_transport tcp -i rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mp4 -vf transpose=dir=1");

var cancellationTokenSource = new CancellationTokenSource();

var client = new VideoStreamClient();
client.NewImageReceived += NewImageReceived;
var task = client.StartFrameReaderAsync(inputSource, OutputImageFormat.Bmp, cancellationTokenSource.Token);

//wait for exit
Console.ReadLine();

client.NewImageReceived -= NewImageReceived;

void NewImageReceived(byte[] imageData)
{
    File.WriteAllBytes($@"{DateTime.Now.Ticks}.bmp", imageData);
}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].