Comments (10)
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.
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.
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.
I am using ffmpeg.exe to recording rtsp stream
from flyleaf.
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.
Thank you very much.
I will try it.
from flyleaf.
this is way i am implement OnNewFrame event for calculate fps, bps
from flyleaf.
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.
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.
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)
- How to modify the video title shown on left hand side of flyleaf bar? HOT 1
- Audio levels for vu-meters HOT 2
- Player Issue
- FlyleafHost ContextMenu
- Play Rtsp delay HOT 5
- Possible resource leak in Renderer.PresentOffline
- play picture HOT 1
- Issue while rendering the stream HOT 2
- Since 3.7.18 sometimes stepping through video is broken HOT 6
- Reduce Latency HOT 9
- Overriding output frame rate HOT 4
- Subtitle not visible in WinUI HOT 2
- Exception while opening rtsp url HOT 2
- WinUI: DPI Issue HOT 3
- waiting for update HOT 1
- Wrong Grid render in <ViewBox> HOT 1
- Using Flyleaf player with async await pattern approach HOT 1
- Opacity of player and Video with Alpha HOT 4
- Memory too big HOT 1
- Color Issue HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from flyleaf.