connortechnology / ZoneMinder

ZoneMinder is a free, open source Closed-circuit television software application developed for Linux which supports IP, USB and Analog cameras.
http://www.zoneminder.com/
GNU General Public License v2.0
9 stars 9 forks source link

Lookand feel #47

Closed digital-gnome closed 6 years ago

digital-gnome commented 6 years ago

Some minor UI consolidation/rationalization.

Added row highlighting on mouseover to Flat css to match the others.

Added highlighting to Events for archived events in addition to the asterisk. Makes it easier to avoid deleting archived events.

Video now pauses when deleting. Server lag could make it seem like nothing was happening when the browser kept playing from buffer.

Changed dataBar on Event view to have fixed spacing. Previously the table cells resized based on content. They resized a lot with very small changes in content. This made it visually awkward when navigating from event to event. With fixed sizing they should have room for any events within reason.

Fast forward and rewind buttons now show as active when they are active.

Changed video download links. Previously on videojs type events both download mp4 and video links would show. Video takes you to the export video popup which doesn't apply to videojs. Now they both occupy the same location and toggle depending on which is needed.

//Edit Stills and all of the old ZMS buttons added to videojs.

STILLS Stills now show on both videojs and zms events. With ffmpeg able to generate stills after recording we can have the stills view everywhere. This does increase the storage size of the event.

When event information was stored in an object it no longer had the SaveJpegs information so stills didn't work on anything. I've removed the check and just let stills show. The individual frame resizes to the size of the video stream so it doesn't overflow the page if the native resolution is larger than your current window.

The calculation for generating jpegs from bulk frame area was incorrect. I removed the BULK limit from the sql so frames can be generated between where bulk frames start and the first bulk frame. The bulk frame code is only triggered when a regular frame is not in the database so we don't need to check for bulk. This allows returning frames in the gap between regular frames and bulk frames.

BUTTONS All of the videojs buttons and information now work. FF/RW pull rates information from the rates array used for video generation. There is no easy reverse in mp4. I made a version of rewind by reversing currentime by chunks on an interval. It's chunky rather than smooth but implementing a real reverse would be a performance hog. Zoom currently centers on the mouse click. I added control click to zoom out for videojs because it's possible to zoom in full screen and get stuck without controls.

Limit scaleToFit to standard scales for zms. Apparently zms does not play well with arbitrary scales and zooming.

Cleaned up vjsReplay, initPage, and some commented out code.

digital-gnome commented 6 years ago

Hold up, think I messed up here.

connortechnology commented 6 years ago

The reason I left video export in there is that it does so much more than just give you the video. It gives you all the event information, with a ui, etc. I agree that it is confusing to have both, but they do different things, and the video export really needs to be updated to support videojs.

digital-gnome commented 6 years ago

Fixed my bug.

I don't see anything in the Video link. All it has on mine is generate video options, for creating a video from saved jpegs. Export link looks like it saves more things. It's still there with these changes.

digital-gnome commented 6 years ago

videoandexport

I consolidated the Video link with Download Mp4 link. Export is still there on everything.

digital-gnome commented 6 years ago

Also made the mp4 link a download link instead of view. It saves a right click.

digital-gnome commented 6 years ago

Finally got eventVideo and content divs right. Consolidated buttons to one common set.

digital-gnome commented 6 years ago

Switched where alarmCues gets frame data. There was a hard to reproduce issue where authentication would fail after some number of hours. Never quite tracked it down beyond probably using the api without a fresh login. I figured using the ajax section is more consistent and as a bonus it probably hits SQL less since it's only retrieving frame data and not all event data like the api version.