i-techsoftware / rtspclientsharpcore Goto Github PK
View Code? Open in Web Editor NEWC# RTSP Client for .NET Core 3.0/.NET 5.0
License: MIT License
C# RTSP Client for .NET Core 3.0/.NET 5.0
License: MIT License
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?
Throw error - System.AccessViolationException: 'Attempted to read or write protected memory. This is often an indication that other memory is corrupt.'
jwtc@jwtc:/桌面/rtspgetpicture$ sudo dotnet TestRtspClient.dll18.04.1-Ubuntu SMP Tue Mar 31 04:17:56 UTC 2020 X64
Platform Linux 5.3.0-46-generic #38
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(ArraySegment
1 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, ArraySegment
1 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
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.
Why is the image quality of JPG files worse than the actual camera?
How to adjust?
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.
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?
How to use GPU decoding?
Can anyone point me on the direction to download the stream into a video file ?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.