Unified view and grid views. A grid is a view with multiple cameras and a view has only one camera view.
Same views, javascript files and stylesheets for both.
New getCamerasSortedArray() method in config to return a sorted cameras array.
This is used to display the cameras list properly ordered.
Socket.io reconnect ok. Moved the for loop that emits subscribe events for the cameras into the connect event. After reconnect this event is fired again.
Alert box to show client disconnect.
Fixed a bug in using the '(new Date()).toISOString().substr(0,10)' expression to get the date folder name where the recordings are saved. The time returned did not consider the timezone.
Added -y option in ffmpeg command to overwrite output files without asking.
Fixed bug with event mp4 video generated. Added "-pix_fmt yuv420p" output parameter
to the ffmpeg command. Now the generated video plays in Google Chrome browse.
The next image shows how the cameras were displayed in the client browser. So annoying, the image of each camera after the previous, all the same size. Without possibility of any sort of customization. Really very annoying!
So, let's start with a little of rock and roll in this project. Let's use tiny drops of jQuery UI to move and resize the camera images the way we want.
For the times they are a-changin. In the next image we can see how the presentation is now. We can freely move and resize each camera image regardless of the other cameras sizes and positions. We may even overlap then.
The coolest thing is that we can do it all with very few new lines of code.