Coder Social home page Coder Social logo

cctv-viewer's People

Contributors

ayourk avatar ievgeny avatar infra223 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cctv-viewer's Issues

Question / Feature Request

Is there a way to label the cameras in their respective display box? Example in a 9 view screen of 9 hallways in a building could I somehow label each viewport so it will display each hallway's name on the screen.

I realize I can use the OSD in the camera settings itself, but I have over 9000 cameras in service and would prefer not to have to go that route.

CPU 100% with errors

Hi! i'm using your program to use an old pc as a security monitor and i'm having some problems. I started using a really old Dell Vostro PC with a Intel Pentium 4 dual core 2.6Ghz and 2gb of ram but i got my cpu usage to 100% constant with +4 rtsp cameras so i though the task was bigger than the PC so i bought a used pc with a AMD A4-4000 APU and 8gb of ram but i got the same problem. I don't know how to proceed, there is something i'm missing? all the cameras works great with a Raspberry Pi but not with a full pc

Most of the cameras are Hikvision 1080p or old Foscam domes

Here there is a log from terminal

Thanks in advance

log.txt

No audio in CCTV-Viewer.

I have 3 rtsp cameras and I can't get audio from any of them while in the program. I am using the ppa version btw.
This is what it says when I run it through terminal:

User@pop-os:~$ cctv-viewer
QML debugging is enabled. Only use this in a safe environment.
using null output device, none available
using null output device, none available
using null output device, none available

Is this something I can fix? Or is it a bug?

Edit:
I fixed it my self by installing libqt5multimedia5-plugins.

Install snap problem - Filesystem uses "lzo" compression in Jetson Nano

Hi,

First of all, thank you for developing this software. It's the only one that works perfectly on my Linux.

But unfortunately, I am unable to install via SNAP due to the error below. I looked for everything and I can't find how to solve this problem.

Can someone tell me a way to install CCTV View by snap or compile by hand.

I've tried using Ubuntu 20.04 and NVIDIA's custom Debian but both have the same error.

dec 29 03:29:09 nano systemd[1]: snap-cctv\x2dviewer-803.mount: Failed with result 'exit-code'.
-- Subject: Unit failed
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
-- 
-- The unit snap-cctv\x2dviewer-803.mount has entered the 'failed' state with result 'exit-code'.
dec 29 03:29:09 nano kernel: squashfs: SQUASHFS error: Filesystem uses "lzo" compression. This is not supported
dec 29 03:29:09 nano systemd[1]: Failed to mount Mount unit for cctv-viewer, revision 803.
-- Subject: A start job for unit snap-cctv\x2dviewer-803.mount has failed

Thanks in advance.

[Feature Request] Keyboard Shortcuts

Would be really cool if we could change the current preset with some keyboard shortcuts, so for example:
Alt + 1 -> Preset 1
Alt + 2 -> Preset 2

Launch on Startup

Any plans for a "Launch on Startup" setting?

Looked at a few guides online and none of them work.

Cannot run app with X server

After changing graphic card from Nvidia to AMD, Gnome automatically changed default server from x to wayland.
Next I reverted change, but still looks that app want to run with wayland but my windowsing system is now x11

Failed to create wl_display (Connection refused)
Using Wayland-EGL
failed to initialize EGL display
qt.qpa.plugin: Could not load the Qt platform plugin "wayland-egl" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, xcb.

Aborted (core dumped)

Hardware accelerated decoding

Hi,

Just testing the program now. Is there an option to specify quicksync or VAAPI based decoding? Will the program do that automatically?

Feature Request: Auto Scan Presets with dwell time

It would be awesome to add a scan feature that rotates through selected presets and allows a custom dwell time. Also, a keyboard shortcut to switch between presets / dragging on touch screen would be great.

I.e. Preset 1 displays for 60 seconds, preset 2 displays for 30 seconds, preset 5 displays for 90 seconds.

the GUI would have to be reorganized a bit to accomplish this, but I may dig into the code a little to see if I can find a solution / test.

Unable to start after updating ffmpeg

After updating my system I noticed the program doesn't start anymore.
This is what is being printed in the terminal:
cctv-viewer: error while loading shared libraries: libavformat.so.59: cannot open shared object file: No such file or directory

After some digging it looks like ffmpeg was updated and the shared library was updated and changed from libavformat.so.59 to libavformat.so.60

UI suggestions: Lock Presets & move to top of sidebar, close button.

As mentioned in email:

It is rather easy for a casual user to accidentally or unknowingly modify the presets, simply by clicking on the Geometry or Divisions. This also removes the URLs in the viewport, which is extra annoying, because they are not easy to remember and re-enter. I would suggest some sort of lock, or a more difficult modify/save. A checkmark, or a longpress like the preset delete currently is.
As a workaround, I currently have done: chmod a-w ~/snap/cctv-viewer/current/.config/CCTV Viewer/CCTV\ Viewer.conf

Additionally, as the preset is a everyday-user interaction, unlike configuration, I would suggest the Presets be placed on top.

And finally, when full screen, there is no method to close. Maybe the "CCTV Viewer" title should also have a small X close cross.

Many thanks for your consideration.

[Feature request] more flexible layout

Hi,
would be possible to allow merging cells for non-equal number of rows and columns? For example if I have only two cameras, half of the screen is not used. Video in merged cells could be either expanded or centered (in this case the half of screen would be still unused, but it would look better). For example allow following layouts:

---------------
|     VP1     |
|-------------|
|     VP2     |
---------------
---------------
|      |      |
|  VP1 | VP2  |
|      |      |
---------------
-----------------------
|          |    VP2   |
|          |----------|
|    VP1   |    VP3   |
|          |----------|
|          |    VP4   |
-----------------------

thanks

Feature request: FFMPEG using OMX native decoder on Raspberry PI

I am referring to OMX (RPI) in the title because that's my main interest, but this feature can be extended to other platforms and their supported HW decoders: https://trac.ffmpeg.org/wiki/HWAccelIntro, bearing in mind that cctv-viewer is based on ffpmpeg.
Using HW decoders, the performance is way better and, why not, makes use of the hardware we already bought. :)
This option should be available to the user in settings, selecting their platform and the type of HW acceleration. This would set the ffmpeg decoder to decode the video streams.
Thanks you for your hard work.
Looking forward to hear your impression about the above.

ignoring -f mjpeg option?

I'm trying to use esp32-cam and it works if open it like this: ffplay -f mjpeg http://192.168.2.178:81/stream. Without -f mjpeg parameter I get an Invalid data found when processing input error.

However when I try to use it with cctv-viewer it doesn't work even if I set -f mjpeg in AVFormat options. Invalid data found when processing input error is displayed every few seconds in the console.

I have another esp32-cam with different firmware and that one works without a problem. Doesn't even need -f mjpeg parameter.

add streams via config file

Hi,

This might be a dumb question, but rather than using the GUI (which is handy, but I generally only have terminal access) is there a place to modify or create a config?

Problems streaming from Hikvision NVR

Thanks for the application, it looks good so far but I'm having trouble streaming from a Hikvision NVR, console output follows:

[rtsp @ 0x7fe254005320] max delay reached. need to consume packet
[rtsp @ 0x7fe254005320] RTP: missed 84 packets
[h264 @ 0x7fe254009360] error while decoding MB 25 30, bytestream -5
[h264 @ 0x7fe254009360] concealing 2424 DC, 2424 AC, 2424 MV errors in I frame

This works in VLC without a problem, quickly looking around it appears to be related to UDP vs TCP transport mechanisms. Could you add an option to specify a transport option? This will hopefully sort the issue.

Memory leak.

This program has a major memory leak. Starts running 14 cameras with about a half gig memory usage. Within 24 hours fills the 16gig on the computer and crashes out. Pretty bad for what this is supposed to be. Other than that its a pretty amazing program.

Feature request: Support audio for focused stream

Would it be possible to add audio support for the "focused" stream. Example if I have 9 cameras in a 3x3 grid and I full screen one of the streams, could cctv-viewer also render the audio (if the camera supports the option)?

I've tested playing a camera via mplayer and audio works on the primary stream so I'm hoping this won't be too much trouble to add.

Change grid and geometry needed

Hello Evgen.
Thank you for your good work!
At long last found easy solution for exactly what I need - sending rtsp flow from several IP cams to one video surveillance wall without any web servers proxies and so on and so forth !
So actually for complete happiness i need just one minor thing: possibility to change grid. Instead of pre build 1, 2x2, 3x3, 4x4 grid layout make it 3x2 4x2 something like that (in accordance with amount of cams). I managed to change layout itself in CCTV viewer.conf file and grid is ok, but now cams does not fit all display geometry... There is big black space under the cams grid and beneath. As if screen geometry in 3x2 grid can not be calculated right, by the program. Cams actually could occupy more available space on screen. Is it possible to make some change in the program to make cameras occupy as much free monitor space as possible ? Thanks.

How to add cameras

Ok, I'm obviously missing something here. I have installed cctv-viewer and have it running. I see the 2 demo cameras. Now, how do I add my own cameras and remove the demos?

I've looked all over the place but can not see any way to config this with my own cameras.

Config Question

Is there a way to disable the drop down menus after I configure the streams? I am using an unattended device to display cameras and would like to prevent someone from changing the settings and mostly viewing my username and password in the Viewport field.

1 + 5 layout

Is this possible? I see it in the slide on the snapcraft website, but i can't figure out how to do it. Is there a manual for CCTV Viewer?

[Feature request] Keyboard shortcuts

  • Enter/Space : maximize stream (same as double-click)
  • Esc : minimize stream (same as 2nd double-click)
  • Alt-Left : previous preset
  • Alt-Right : next preset
  • Ctrl-L : focus URL input
  • F11 : toggle fill screen mode

Thanks

Feature request: add text field in sidebar to specify custom grid size

Right now, in sidebar there are only 1x1 to 4x4 grid size options. However, after changing the configuration manually, apparently cctv-viewer can handle custom grid size like 4x3.

With that said, since it already supports custom grid size, could you add text fields in sidebar to input custom grid size? This way, user can easily specify custom size without manually editing the config file.

Thanks!

Feature Request: Stand-alone executable

Forgive my ignorance, I am new to github, and a novice at programming. Is it possible to compile this application as a stand-alone executable? I wish to bundle it into a 'kiosk' package, which is based on Gentoo Linux, but does not include SNAP.

Dual Screen

Hello
I am running CCTV-Viewer on Ubuntu and it is perfect. I run two screens with several different cameras. My question is when I reboot it only reloads one screen and I have to basically set the 2nd screen up from scratch again. Is there a way for me to save and load both screens just as they were prior to a reboot?

Flatpak

Having it as a snap is awesome, but what about flatpak?

How to compile from source on arm/raspberry PI

I would really appreciate some proper instructions on how to build from source.

I identified this platform packages to be needed:

apt install \
	qtbase5-dev \
	qtdeclarative5-dev \
	qtmultimedia5-dev \
	qttools5-dev

I managed to build like this on a linux mint:

git clone https://github.com/iEvgeny/cctv-viewer.git
cd cctv-viewer
mkdir build
cd build
cmake ..
make -j$(nproc)
make install

However on rpi I get a lot of LD linking issues.

[100%] Linking CXX executable cctv-viewer
/usr/bin/ld: /usr/local/lib/libavdevice.a(pulse_audio_dec.o): undefined reference to symbol 'pa_threaded_mainloop_free@@PULSE_0'
/usr/bin/ld: /lib/arm-linux-gnueabihf/libpulse.so.0: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/cctv-viewer.dir/build.make:671: cctv-viewer] Error 1
make[1]: *** [CMakeFiles/Makefile2:116: CMakeFiles/cctv-viewer.dir/all] Error 2
make: *** [Makefile:149: all] Error 2

Adding gradually in ./CMakeList.txt the libs with target_link_library leads to a bunch of reference errors.

Any suggestion would be highly appreciated.

Just freezes

On Ubuntu 22.10 it opens, but freeze immediately. Snap or ppa version, same result. Sadly, there is no alternative :(

Memory leaks

# ps -o pid,user,%mem,command ax | sort -b -k3 -r |grep cctv
  17260 watchman 16.5 /snap/cctv-viewer/700/usr/bin/cctv-viewer

# ps -o pid,user,%mem,command ax | sort -b -k3 -r |grep cctv
  17260 watchman 16.6 /snap/cctv-viewer/700/usr/bin/cctv-viewer

# ps -o pid,user,%mem,command ax | sort -b -k3 -r |grep cctv
  17260 watchman 21.6 /snap/cctv-viewer/700/usr/bin/cctv-viewer

# ps -o pid,user,%mem,command ax | sort -b -k3 -r |grep cctv
  17260 watchman 52.0 /snap/cctv-viewer/700/usr/bin/cctv-viewer

# ps -o pid,user,%mem,command ax | sort -b -k3 -r |grep cctv
  17260 watchman 53.9 /snap/cctv-viewer/700/usr/bin/cctv-viewer

# ps -o pid,user,%mem,command ax | sort -b -k3 -r |grep cctv
  17260 watchman 72.8 /snap/cctv-viewer/700/usr/bin/cctv-viewer

The RAM consumption of the cctv-viewer process is constantly growing until it fills all the free memory and swap.

Cannot enter stream URL with parameters

Dahua DVRs follow the pattern as follows:

https://[USER]:[PASSWORD]@[IP]:[PORT]/cam/realmonitor?channel=[NUMBER]&subtype=[STREAM]

the parameters at the end do not seem to work with this software.

Install Issue on Ubuntu 19.10

Sorry for using this method to contact you, but i couldn't find another.
This week I installed cctv-viewer via ubuntu desktop store but when I try to run it nothing happens.
So I tried to launch it from terminal, and this message appeared. Hope it helps in your development:

Qt: Session management error: None of the authentication protocols specified are supported
QQmlApplicationEngine failed to load component
qrc:/src/qml/main.qml:26 Type SingleApplicationDialog unavailable
qrc:/src/qml/SingleApplicationDialog.qml:4 module "QtQuick.Dialogs" is not installed

Any support planned for sub-streams/main-streams?

I recently tried cctv-viewer on Ubuntu and it seems great, simple and works well. Many thanks.

However, I was surprised to see there does not seem to be any support for sub-streams/main-streams which I thought was a standard feature in CCTV software. Are there any plans for this feature?

What I mean is: in the window division grid view I want it to stream my low-res 640x480 sub-streams, but when I click on a camera view and it changes to single full screen I want it to show the high-resolution (e.g. 4k) main-stream.

In the config panel viewport config I expected to see the option to configure 2 URLs to support sub-stream/main-stream.

Does not display H265 rtsp streams

Using Arch Linux with an xmeye dvr and rtsp streaming the following errors are shown.

[QmlAVDemuxer @ 556763384d20] Unable read frame: "Immediate exit requested" (-1414092869)
[QmlAVDemuxer @ 7f12c800ab70] Unable read frame: "Immediate exit requested" (-1414092869)
[QmlAVDemuxer @ 7f12c800a5c0] Unable read frame: "Immediate exit requested" (-1414092869)
[QmlAVDemuxer @ 5567634575a0] Unable read frame: "Immediate exit requested" (-1414092869)
[QmlAVDemuxer @ 7f12c800a740] Unable read frame: "Immediate exit requested" (-1414092869)
[QmlAVDemuxer @ 7f12c800a310] Unable read frame: "Immediate exit requested" (-1414092869)
[QmlAVDemuxer @ 7f12c8009ee0] Unable read frame: "Immediate exit requested" (-1414092869)
[QmlAVDemuxer @ 7f12c800c480] Unable read frame: "Immediate exit requested" (-1414092869)
[QmlAVDemuxer @ 7f12c800a310] Unable read frame: "Immediate exit requested" (-1414092869)

The stream used is rtsp://192.168.1.XX:554/user=admin&password=XXXXXXXXXXXX&channel=1&stream=0.sdp?real_stream--rtp-caching=100

The dvr streams with h265 codec and the above stream URL works fine on vlc and cctv-watcher programs

Feature request: configuration button / menu direction.

The user interface doesn't appear to be intuitive (the menu being hidden on the right).

Reading the comments (before looking at the source code) on the Ubuntu store I found the menu. I also found many others complaining of the same issue.

Could you add a button, indicator, or other option somewhere either in the main window or drop down menu to pop this option out? This should make it obvious for any users who don't take time to read and understand. Thanks.

manual compile instructions (for x32)?

Could you please provide instruction of how to manually compile the source for x32.

I haven't done any of that in a long while and I need some handholding.

Camera lag overtime

Love the software so far. The only thing we are finding is that we seem to gain about 1 second of lag each day. Right now we have a cron job to just restart the computer each morning, but would rather not have to do that.

[snap] fails to start on wayland

Hi,
Thanks for writing this, it's quite useful to integrate different video stream sources.
Tried to run the snap on wayland and it fails to start with the following error:

qt.qpa.plugin: Could not find the Qt platform plugin "wayland-egl" in ""
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, xcb.

Now running from a local built binary and it works fine, so the issue seems to be the snap itself.

Regards

Portrait monitor

Can this be used for a portrait layout monitor not the normal landscape?

[Feature request] Scale to window size

Hi, Sorry for my english
My cctv sub stream is D1 (704 x 576)
I want to scale image to window full size (correct ratio is 16:9)
see example image below
Screenshot_2022-03-28_19-20-51

My cctv main stream is 4MP 2688x1520 (16:9) but I don't want to view main stream because it uses high cpu

Thanks
Sorry my english

brightness difference with some streams

I notice quite a bit of diiference in brightness in some streams. I see no problem with h.264 encoded rtsp stream but mjpeg stream from esp32 cameras is much darker when viewed from cctv-viewer. This is mostly noticable in faint lightning conditions.

This is from ffplay with default settings:

image

And this is from cctv-viewer.

image

Feature request: use Delete button in keyboard to delete one or multiple video streams

Right now, as far as I know, the only way to remove a video stream is by setting its URL to empty. Thanks to this, it's quite cumbersome to delete multiple video streams since we have to remove its URL one by one.

To solve this issue, it would be nice if the "Delete" button in keyboard could be used to remove video streams from all of the selected players.

Thanks!

PTZ support

Hello, are there any plans for the camera PTZ support?

How to stream with complicated auth?

I currently have a script that sets up and pipes a stream to stdout.

Is there a way to use this within cctv viewer?

#!/bin/bash
curl -k -u 'user:pass' --ignore-content-length "https://192.168.100.59:19443/https/stream/mixed?video=H264&audio=G711" --output -

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.