Coder Social home page Coder Social logo

i-techsoftware / rtspclientsharpcore Goto Github PK

View Code? Open in Web Editor NEW
37.0 3.0 13.0 104.5 MB

C# RTSP Client for .NET Core 3.0/.NET 5.0

License: MIT License

C# 10.19% C++ 3.80% C 81.97% Objective-C 0.18% CMake 1.74% Makefile 2.11%
c-sharp cpp linux windows dotnet-core dotnetcore dotnetcore3 ffmpeg rtsp

rtspclientsharpcore's People

Contributors

askrinnik avatar i-techsoftware avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

rtspclientsharpcore's Issues

Frame received event

Hi
Thanks for .NET 5 version
Is it possible to achieve that processing of new frame does not wait for previous frame processing to be completed?

Unable to capture multiple RTSP camera

Throw error - System.AccessViolationException: 'Attempted to read or write protected memory. This is often an indication that other memory is corrupt.'

System.DllNotFoundException: Unable to load shared library libffmpeghelper.so

jwtc@jwtc:/桌面/rtspgetpicture$ sudo dotnet TestRtspClient.dll
Platform Linux 5.3.0-46-generic #38
18.04.1-Ubuntu SMP Tue Mar 31 04:17:56 UTC 2020 X64
Connecting...
Press any key to cancel
Connected.
RtspClientSharpCore.Rtsp.RtspClientException: Receive error
---> System.DllNotFoundException: Unable to load shared library '/home/jwtc/桌面/rtspgetpicture/libffmpeghelper.so' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: libavcodec.so.58: cannot open shared object file: No such file or directory
at FrameDecoderCore.FFmpeg.FFmpegVideoPInvokeLinux.CreateVideoDecoder(FFmpegVideoCodecId videoCodecId, IntPtr& handle)
at FrameDecoderCore.FFmpeg.FFmpegVideoDecoder.CreateDecoder(FFmpegVideoCodecId videoCodecId) in C:\Users\bao-feng\Desktop\RtspClientSharpCore-master\RtspClientSharpCore\FrameDecoderCore\FFmpeg\FFmpegVideoDecoder.cs:line 48
at TestRtspClient.Program.GetDecoderForFrame(RawVideoFrame videoFrame) in C:\Users\bao-feng\Desktop\RtspClientSharpCore-master\RtspClientSharpCore\TestRtspClient\Program.cs:line 185
at TestRtspClient.Program.RtspClient_FrameReceived(Object sender, RawFrame rawFrame) in C:\Users\bao-feng\Desktop\RtspClientSharpCore-master\RtspClientSharpCore\TestRtspClient\Program.cs:line 113
at RtspClientSharpCore.RtspClient.b__16_0(RawFrame frame) in C:\Users\bao-feng\Desktop\RtspClientSharpCore-master\RtspClientSharpCore\RtspClientSharpCore\RtspClient.cs:line 219
at RtspClientSharpCore.Rtsp.RtspClientInternal.OnFrameGeneratedLockfree(RawFrame frame) in C:\Users\bao-feng\Desktop\RtspClientSharpCore-master\RtspClientSharpCore\RtspClientSharpCore\Rtsp\RtspClientInternal.cs:line 468
at RtspClientSharpCore.MediaParsers.MediaPayloadParser.OnFrameGenerated(RawFrame e) in C:\Users\bao-feng\Desktop\RtspClientSharpCore-master\RtspClientSharpCore\RtspClientSharpCore\MediaParsers\MediaPayloadParser.cs:line 32
at RtspClientSharpCore.MediaParsers.H264Parser.TryGenerateFrame(ArraySegment1 frameBytes) in C:\Users\bao-feng\Desktop\RtspClientSharpCore-master\RtspClientSharpCore\RtspClientSharpCore\MediaParsers\H264Parser.cs:line 95 at RtspClientSharpCore.MediaParsers.H264Parser.TryGenerateFrame() in C:\Users\bao-feng\Desktop\RtspClientSharpCore-master\RtspClientSharpCore\RtspClientSharpCore\MediaParsers\H264Parser.cs:line 63 at RtspClientSharpCore.MediaParsers.H264Parser.Parse(ArraySegment1 byteSegment, Boolean generateFrame) in C:\Users\bao-feng\Desktop\RtspClientSharpCore-master\RtspClientSharpCore\RtspClientSharpCore\MediaParsers\H264Parser.cs:line 53
at RtspClientSharpCore.MediaParsers.H264VideoPayloadParser.ParseFU(ArraySegment1 byteSegment, Int32 donFieldSize, Boolean markerBit) in C:\Users\bao-feng\Desktop\RtspClientSharpCore-master\RtspClientSharpCore\RtspClientSharpCore\MediaParsers\H264VideoPayloadParser.cs:line 136 at RtspClientSharpCore.MediaParsers.H264VideoPayloadParser.Parse(TimeSpan timeOffset, ArraySegment1 byteSegment, Boolean markerBit) in C:\Users\bao-feng\Desktop\RtspClientSharpCore-master\RtspClientSharpCore\RtspClientSharpCore\MediaParsers\H264VideoPayloadParser.cs:line 59
at RtspClientSharpCore.Rtp.RtpStream.ProcessImmediately(RtpPacket& rtpPacket) in C:\Users\bao-feng\Desktop\RtspClientSharpCore-master\RtspClientSharpCore\RtspClientSharpCore\Rtp\RtpStream.cs:line 93
at RtspClientSharpCore.Rtp.RtpStream.Process(ArraySegment`1 payloadSegment) in C:\Users\bao-feng\Desktop\RtspClientSharpCore-master\RtspClientSharpCore\RtspClientSharpCore\Rtp\RtpStream.cs:line 45
at RtspClientSharpCore.Rtsp.RtspClientInternal.ReceiveOverTcpAsync(Stream rtspStream, CancellationToken token) in C:\Users\bao-feng\Desktop\RtspClientSharpCore-master\RtspClientSharpCore\RtspClientSharpCore\Rtsp\RtspClientInternal.cs:line 501
at RtspClientSharpCore.Rtsp.RtspClientInternal.ReceiveAsync(CancellationToken token) in C:\Users\bao-feng\Desktop\RtspClientSharpCore-master\RtspClientSharpCore\RtspClientSharpCore\Rtsp\RtspClientInternal.cs:line 130
at RtspClientSharpCore.RtspClient.ReceiveAsync(CancellationToken token) in C:\Users\bao-feng\Desktop\RtspClientSharpCore-master\RtspClientSharpCore\RtspClientSharpCore\RtspClient.cs:line 150
--- End of inner exception stack trace ---
at RtspClientSharpCore.RtspClient.ReceiveAsync(CancellationToken token) in C:\Users\bao-feng\Desktop\RtspClientSharpCore-master\RtspClientSharpCore\RtspClientSharpCore\RtspClient.cs:line 187
at TestRtspClient.Program.ConnectAsync(ConnectionParameters connectionParameters, CancellationToken token) in C:\Users\bao-feng\Desktop\RtspClientSharpCore-master\RtspClientSharpCore\TestRtspClient\Program.cs:line 88

ffmpeg .so files for Android Arm64 Build

Hi there,
I like to port your project to Xamarin Android. On Windows I use CMake for the Arm64 built, but I get the following error:
"Could not find release version of library "libavformat.so.58"

It would be super nice if you could upload or send me the necessary .so files, so that I can build on Window for Android Arm64. Unfortunately I don't have Ubuntu and I don't think I can get the files myself.

JPG file quality

Why is the image quality of JPG files worse than the actual camera?
How to adjust?

Play live in a bowser

Hi
Thank you for your work.
I have a problem with an original version and this fork
how can play the live video on browser?

So far I'm using the RTSP to HLS with raw FFmpeg, and it's work but with 8 to 10 sec delay (because how HLS works!)
I'm trying to make it low latency.

RtspClientSharp project as a reference vs forking?

This is not an issue: As a viewer, I like to understand the intention behind project better. Do we get any benefit by targetting netcore 3.0 on RtspClientSharp? Ofcourse, our example application could use netcore 3.0 apis, but that is irrelevant to RtspClientSharp project itself which could still have been in netstandard 2.0.

This project contains full source of RtspClientSharp and use the project as a full copy. Isn't it better if it is used as a reference in csproj?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.