Code Monkey home page Code Monkey logo

Comments (10)

SuRGeoNix avatar SuRGeoNix commented on May 10, 2024

Currently it has only one event OpenCompleted which fires also on failure. For Status/CurTime etc... you just register to Session/Player 's onPropertyChanged event. I would add more events if necessary just give more details what would be actually useful and can't be already done with the existing events. It's not the best performance wise practice to invoke nonsense events. Eg. OnNewFrame why would that be useful? Also OnDisconnected there is no such a thing.

from flyleaf.

pubpy2015 avatar pubpy2015 commented on May 10, 2024

Hi,

For OnNewFrame and OnDisconnected:

When the IP camera is disconnected, the system will notify the administrator by email,...
or: when you recording video stream, disconnected event will help me finish current recording file and create new file when camera reconnect (OnNewFrame)

using OnNewFrame i can calculate frame rate of live video stream,..

from flyleaf.

SuRGeoNix avatar SuRGeoNix commented on May 10, 2024

OK I see your point with fps calculation as I don't have statistics for now (actual frames / dropped frames). However, for recording it should be included in the library (which I'm planning to do on the next updates based on remux/download that I've already done). How are you currently doing the recording?

from flyleaf.

pubpy2015 avatar pubpy2015 commented on May 10, 2024

I am using ffmpeg.exe to recording rtsp stream

from flyleaf.

SuRGeoNix avatar SuRGeoNix commented on May 10, 2024

Bad bad bad :) I think you could already use the downloader. Even if you want to watch at the same time you could open two different sessions i guess without any issues until I will add the recording on the currently playing stream. The downloader it will save the stream when it is stopped/failed or ended. I need to add also Status to property changed event of the downloader though. It is still under development :(

I will keep in mind all these and I will try to include them in the next update. Let me know anything else that it would be useful ;)

from flyleaf.

pubpy2015 avatar pubpy2015 commented on May 10, 2024

Thank you very much.
I will try it.

from flyleaf.

pubpy2015 avatar pubpy2015 commented on May 10, 2024

this is way i am implement OnNewFrame event for calculate fps, bps

image

FlyleafLib_NewFrame.zip

from flyleaf.

SuRGeoNix avatar SuRGeoNix commented on May 10, 2024

Looking also in to that. I see you have the NewFrame event in the decoder's new frame which is not valid/accurate. It should be during rendering.

For the bitrate, I guess we talk for network bitrate, you have only the video stream I should add all the enabled streams on this one.

For the disconnect. I think you should just listen to propertyChanged for Status and when it's not playing/ended means disconnected. You could even validate this by implementing a ping to the camera or something. Generally, ping/sms should be on another device (router) to watch devices and send sms/emails in that case.

from flyleaf.

pubpy2015 avatar pubpy2015 commented on May 10, 2024

No, i think in decoder is accurate because this is property of video source.
In some application as Network Camera Recording software, when connect and display multiple cameras, may be you need decrease render frame rate for reduce GPU usage or when application only recording, you can temporary disable rendering.

For disconnect, i can implement by check last time decoder new frame, if there is no new frame in 60 seconds, i will reconnect to video source and raise disconnect event (if previous state is connected or decoding status = Decoding)

from flyleaf.

SuRGeoNix avatar SuRGeoNix commented on May 10, 2024

I think v3.3 now has enough events. I've disabled by default the Stats you can enable them from Config.Player.Stats = true

from flyleaf.

Related Issues (20)

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.