GithubHelp home page GithubHelp logo

anonymousdog / displaycameras Goto Github PK

View Code? Open in Web Editor NEW
559.0 559.0 110.0 89 KB

System for displaying RTSP feeds from IP cameras on the Raspberry Pi

License: Apache License 2.0

Shell 66.60% Roff 33.40%

displaycameras's People

Contributors

anonymousdog 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  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

displaycameras's Issues

Unable to do Screen Flop

Before filing a bug report

Replicate your issue on Raspbian Lite
Raspbian Lite is the preferred target OS for this system. I will not address bugs that can only be replicated on 'nix with a graphical user interface.

Ensure your operating system is up-to-date
...and that you can replicate the problem with an up-to-date (and rebooted) system.
To ensure all is update, run the following in a terminal, sudo apt-get update && sudo apt-get dist-upgrade -y && sudo apt-get auto-remove -y && sudo apt-get autoclean

If you do the above two things and can still replicate the issue, then...

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Install per README.md
  2. Configure my feeds in layout.conf.default
  3. Run 'sudo displaycameras start'
  4. See error "..."

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Raspberry Pi (please complete the following information):

  • Hardware model Rasbery PI 3B+
  • OS: Raspbian_Lite Stretch
  • Console: ...
  • gpu memory split: 256MB
  • displaycameras Version 0.8.3.3

**Display Configuration

  • Display/Monitor resolution: 1920x1080
  • Window matrix: 1x2
  • Feed resolution: Low Res

Camera information (please complete the following information):

  • Number of cameras: [e.g. 6] 4
  • Camera models ReoLink
  • Managed/Unmanaged - Unmanaged

Features enabled (please complete the following information):

  • Rotation: Yes
  • Display Blanking: Yes
  • Display Detection: ? Yes - I believe so.

NVR information (please complete the following information):

  • NVR hardware: Amcrest NVR
  • NVR UniFi Video server version: N/A

Additional context
FYI very new with Rasberry PI. However having Issues with screen flop. I've tried editing the conf file I have screens rotating correctly. But would rather have them flop. I've read your readme file and cant seem to find the attribute to enable flop or even step. I've tried adding "seq_step=2" to layout.conf.default however that doesn't seem to work.

Please help : (

**Files
Attach any suspect config files.

Not working with GPIO based screens

Describe the bug
The window that opens with the video stream will not open on a screen that is attached via the GPIO pins. These screens use a driver such as this one to output the video via GPIO instead of HDMI.
https://github.com/goodtft/LCD-show

To Reproduce
Steps to reproduce the behavior:

  1. Install per README.md
  2. Configure my feeds in layout.conf.default
  3. Run 'sudo displaycameras start'
  4. Image is not displayed on the main screen connected via GPIO and from which the command was run, instead it appears only on the HDMI screen with no way to "move" the window back to the GPIO screen.

Expected behavior
Expected the sudo displaycameras start command to display output on the screen connected to the GPIO.

Screenshots
N/A

Raspberry Pi (please complete the following information):

  • Hardware model B+
  • OS: Raspbian GNU/Linux 9 (stretch)
  • Console: X-Session
  • GPU Memory 64
  • displaycameras Version 0.8.3.1

**Display Configuration

  • Display/Monitor resolution: GPIO Screen: 480x320 / HDMI Screen: 800x480
  • Window matrix: 1x1
  • Feed resolution: 640x360

Camera information (please complete the following information):

  • Number of cameras: 1
  • Camera model: Ubiquiti G3 Dome
  • Unmanaged

Features enabled (please complete the following information):

  • Rotation: No
  • Display Blanking: No
  • Display Detection: No

NVR information (please complete the following information):

  • NVR hardware: None

Additional context
N/A

**Files
N/A

Enable sound on main window

Hello. i just finished setting up displaycams to show streams from a sheep barn. its purpous is to monitor the animals i relations to giving birth. it works wonderfull. having two streams rotating one on-screen and one-off screen. but i miss to have the audio track playing on the stream that is on the main window. hope this is a feature wich can easaly be added?

and pleas forgive my bad non native english.

Hallvar

Issue with freeze

Hi All,

Has anyone experienced an issue where streams will just freeze? No particular reason or time this happens. But normally within the 1:30-2hr mark.

The only way to recover is to manually stop and start the service. Maybe im missing some kind of script or cron job. This could be normal or expected behaviour....

Not sure if this is omxplayer crashing or other

Touchscreen / keyboard support

Hi, I'm using this solution on my raspberry pi 3 + 7inch touchscreen and works very well.
I think it would be great to add support to the touchscreen and keyboard to navigate through the different cameras.
e.g.

  • When is on grid mode, touching a camera stream should open on full screen. A second touch on the screen brings back the grid view.

  • (nice to have) If rotation is active, when swipe to the left or right change the screen.

I did some research and found 'evtest', that is a tool that log the input of any device, but I don't know if it is the best solution for this task.

Thanks!!

Manual Feed Switching

Hello,

Excellent project, thank you so much for this! I'm running an rpi4 attached to a TV with the intent of switching it back and forth between a live camera feed and an encoded RTSP stream from a presentation computer running PowerPoint. So far, the feeds work great!

However, in my use case, I have a specific need to switch from one feed to another manually. The feed should take up the whole display, and rotation isn't really an option for me as I only need it to switch once, and the time isn't predictable.

Is there a way (or could there be a way) to make displaycameras choose another feed when prompted? So far, I'm considering the quick & dirty solution of having two layout.conf files (1 and 2 for example) and using a script to ssh into the pi, rename the files, restart the service to load the renamed file, then exit. Obviously that's not an ideal solution though.

Thanks!
Ted

Camera randomly stops displaying

I'm using 2 Wyze cameras running RTSP. Everything works great but randomly the cameras go black then come back a few seconds later. Sometimes its just one at a time. Are there any logs to see what could be causing the issue?

Turn off always on top.

hi. your app very good but it always on top. can you help me how to turn off aways on top.thanks

Raspberry PI 4 video flickering

Not sure anyone has tried a Pi 4 yet. I've got a fresh install of Raspbian Lite, I'm trying to display 2x2 @ 4k (3840x2160) resolution

Using the high quality stream from Unifi-video (1080p), it seems to work fine until the 4th stream comes up, and then I get flickering. This doesn't seem to be the video output flickering, but each video flickers: only 1 video stream shows up at a time.

Lowering the quality of the videos seems to fix this: 2 medium quality and 2 high quality streams seemed to work fine, upscaled to 1080p to fit the 4k.

Didn't test it for too long though

Odd issue with flickering

This is odd. I have rotation turned on, and using unifi with 7 cameras. I am doing 4 per screen.
Everything loads correctly until its time to roate camera views, the feeds start flickering and overlaying each other. I am using an older TV that is 1366x768 resolution. Here is my window position:

For some reason hitting the code button on here is not formatting the text right so I attached a text file with my window_positions

I am sure this issue is me, but just looking for some assistance in case its a bug..
Cheers
screen.txt
settings.txt

Update:
I have tried master build and 8.3.3.3 and same flicker. Its like its trying to decide which camera to rotate into each box because I can see 2 images if I look closely.

Delays in Feed

Hi
I have 4 Unifi cameras, pulling the low res feed. Cameras and Raspbery Pi 3 B+ are all connected via ethernet.
There is no rotation
the config is
window_positions=(
#First Row
#upper_left

640x360

"0 0 639 359"
#upper_right
"640 0 1279 359" \

#Second Row
#lower_left
"0 360 639 719"
#lower_right
"640 360 1279 719" \

#off-screen

640x360 window just off-screen to the right

"1280 0 1919 359" \

640x360 window just below the other

"1280 360 1919 719"
"1920 0 2559 359"
)

In the boot config.txt I have set these
disable_overscan=1
gpu_mem=320

The display goes into a delay mode from several seconds up to a reported 10 minutes.

Do you have any suggestions on where to look for the delays?

No display on HDMI

Before filing a bug report

Replicate your issue on Raspbian Lite
Raspbian Lite is the preferred target OS for this system. I will not address bugs that can only be replicated on 'nix with a graphical user interface.

Ensure your operating system is up-to-date
...and that you can replicate the problem with an up-to-date (and rebooted) system.
To ensure all is update, run the following in a terminal, sudo apt-get update && sudo apt-get dist-upgrade -y && sudo apt-get auto-remove -y && sudo apt-get autoclean

If you do the above two things and can still replicate the issue, then...

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Install per README.md
  2. Configure my feeds in layout.conf.default
  3. Run 'sudo displaycameras start'
  4. See error "..."

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Raspberry Pi (please complete the following information):

  • Hardware model
  • OS: [e.g. Raspbian_Lite Stretch]
  • Console: [X-session/Pixel vs Text Console]
  • gpu memory split: [e.g. 256MB]
  • displaycameras Version [e.g. 0.8.3.3]

**Display Configuration

  • Display/Monitor resolution: [e.g., 1920x1080]
  • Window matrix: [e.g. 2x2]
  • Feed resolution: [e.g., low-resolution or 640x360]

Camera information (please complete the following information):

  • Number of cameras: [e.g. 6]
  • Camera models (if not Ubiquiti):
  • Managed/Unmanaged

Features enabled (please complete the following information):

  • Rotation: [yes/no]
  • Display Blanking: [yes/no]
  • Display Detection: [yes/no]

NVR information (please complete the following information):

  • NVR hardware
  • NVR UniFi Video server version: [e.g., 3.9.7]

Additional context
Add any other context about the problem here.
https://imgur.com/a/i7ymgIN

**Files
Attach any suspect config files.

New features and updates

I made 2 changes in the script that do the following:

  1. Replaced fbset with tvservice. tvservice uses actual HDMI output settings
...
# If enabled, autodetect display mode, check for layout config file for that
# mode, and load that file if present.
if [ "$displaydetect" = "true" ]; then
        if [ "`grep disable_overscan /boot/config.txt | egrep -v ^#`" = "disable_overscan=1" ]; then
                # This is what I'm talking about
                mode="`tvservice -s | sed 's/.*\], //' | sed 's/ @ .*//'`"
                if [ -r /etc/displaycameras/layout.conf.$mode ]; then
                        . /etc/displaycameras/layout.conf.$mode
                        displaydetectactive=true
...
  1. Added option force4x4 to calculate and automatically use four windows equally divided on the current output screen.
...
else
        . /etc/displaycameras/layout.conf.default
fi

if [ "$force4x4" = "true" ]; then
        mode="`tvservice -s | sed 's/.*\], //' | sed 's/ @ .*//'`"
        vwidth="`echo $mode | sed 's/x.*//'`"
        vheight="`echo $mode | sed 's/.*x//'`"
        vwidthhalf="`expr $vwidth / 2`"
        vheighthalf="`expr $vheight / 2`"
window_positions=(
"0 0 $vwidthhalf $vheighthalf" \
"$vwidthhalf 0 $vwidth $vheighthalf" \
"0 $vheighthalf $vwidthhalf $vheight" \
"$vwidthhalf $vheighthalf $vwidth $vheight" \
)
fi
...

turn off/on screen by tapping on it

I do not want the screen to stay turned always on so I wrote following script (and make it a service) to turn on and off backlight screen on touch event.
This works with my 'official' raspberry 7' touch screen.
It also turn off the screen after some time.

Might be nice to integrate something like this and to see if it is possible to stop the steaming all together and not just the screen.

#!/bin/bash
loop_count=0
echo 'start'
while :
do timeout 0.2s evtest /dev/input/event0 > touchscreen_log.txt
        grep -q "type 1 (EV_KEY), code 330 (BTN_TOUCH), value 0" touchscreen_log.txt
        if (($?==0)) 
        then
                echo 'touch detected'
                power=$(cat /sys/class/backlight/rpi_backlight/bl_power)
                if (($power==0)) 
                then
                        echo 'turn off display backlight'
                        echo 1 | sudo tee /sys/class/backlight/rpi_backlight/bl_power
                else
                        echo 'turn on display backlight'
                        loop_count=0
                        echo 0 | sudo tee /sys/class/backlight/rpi_backlight/bl_power
                fi
                sleep 1
        fi
        loop_count=$[$loop_count+1]
        if (($loop_count>1000))
        then
                echo 'standby'
                loop_count=0
                echo 1 | sudo tee /sys/class/backlight/rpi_backlight/bl_power
        fi
done

Select camera feed for audio

Would it be possible to add a section to the layout.conf to choose a feed to output audio via hdmi? Since the omxplayer code is universal in the 'displaycameras' file, there doesn't seem to be a way to choose just one.

Thanks!

Screen Images Freezes after 30ish minutes

Describe the bug
After about 30-45 minutes of runtime the images freeze up.
I checked htop and there is no resource exhaustion happening however I do see the omxplayer.bin rtsp running in the process list. If I check the network traffic via something like iftop or vnstat you can see that the traffic has dropped dramatically to the point where i feel comfortable saying that the traffic received is related to the typicaly idle noise you'd see.

Some things that I've tried to do to troubleshoot:

  1. Attempted to restart the NVR to see if it was related to the NVR
  2. Ran a single RTSP feed from the debug omxplayer mode as found in the READM.md
  3. Changed the power supply of the PI to ensure that it wasnt related to power.

To Reproduce
Steps to reproduce the behavior:

  1. Install per README.md
  2. Configure my feeds in layout.conf.default
  3. Run 'sudo systemctl restart displaycameras.service'
  4. Wait about 30-45 minutes until the images freeze
  5. Run 'sudo systemctl restart displaycameras.service' again to restart the sessions.

Expected behavior
The images should not freeze up

Raspberry Pi (please complete the following information):

  • Hardware model: Raspberry Pi 3 Model B
  • OS: Rasbian Buster Lite
  • Console: Text Console
  • gpu memory split: 256MB
  • displaycameras Version 0.8.3.3

**Display Configuration

  • Display/Monitor resolution: 1440 x 900
  • Window matrix: 4x4
  • Feed resolution: 704 x 480, Compression H.264H, 15 FPS, 256/Kb/S Bit Rate, Bit Rate Type CBR

Camera information (please complete the following information):

  • Number of cameras: 4
  • Camera models (if not Ubiquiti): Dalhua 2 x 4K cameras and 2 x 4MP Cameras
  • Managed

Features enabled (please complete the following information):

  • Rotation: no
  • Display Blanking: no
  • Display Detection: no

NVR information (please complete the following information):

Using 2nd HDMI on Pi 4

Love the work so much I got the Pi 4, It would be great to utilise the 2nd HDMI port for another display.

Usage Modes I would envisage needed would be:
Mirroring
Current Rotation method spread across two displays
Differing Rotation on each display, eg. 1st rotating Fullscreen, the 2nd static matrix of all feed.

Support for dual monitors on RPi 4

Are there plans for, or is there already support for, splitting feeds across both monitors on the RPi 4 when utilizing dual monitors?

Audio Output Control from Stream

Hi,
First of All Thanks and Great Library. Runs smoothly and easy to configure. Thumbs Up and keep up the good work.

Now to my Problem. Is it Possible to send out the Audio from the RTSP Stream over the Headphone Jack or HDMI? E.g. I have 4 Cams (2x2) and would like to have the Audio of Cam1 (upper-left) and/or Cam2 (upper-right) to output the Audio.

Thanks for your Help.

Performance capabilities

I'm considering a deploy of this with raspberry pi 3b+ and a unifi cloud key gen 2 plus, with their associated cameras. Does anyone know the maximum number of simultaneous streams this can handle?

(1) I don't want to overwhelm the switch or the capabilities of the cameras.
(2) If there was some way to stream from the cloud key v2 instead of directly from the cameras, this might be preferable to avoid each displaycameras instance opening N different streams.
(3) Lastly, I'd like to know how many simultaneous different copies of this on different raspberry pi's I can do.

Eg: Is nine cameras and one cloud key v2 with eight separate raspberry pi's each streaming all nine videos possible?

Thanks!

displaycameras.conf.1920x1200

Any way we can get a default configuration file for monitors with a resolution of 1920x1200? Maybe a 6 camera setup.

Upper_left not displayed

I have 4 cams configured but I only see 3 displayed.
The upper_left won't display.
The feeds are correct because they work in other frames.
I use the Pi 7" screen.
Anyone any idea why this is?
Below my config:

window_positions=(
#First Row
#upper_left

800x480

"0 0 399 239"
#upper_right

800x480

"400 0 799 239" \

#Second Row (missing all but the far right window because large_left is double size
#lower_left

800x480

"0 240 399 479"
#lower_right

800x480

"400 240 799 479" \

portrait mode

Currently it seems like its not possible to use this with portrait monitor. (rotate the screen 90 degree)

It would be nice if this was possible.

fbi replacement

I set up these scripts in a raspberry running Alpine Linux.

The main advantage is you can cut the power whenever you want, since AlpineLinux is running from RAM. (bonus point: 77MB of used space)

I found an alternative to blanking the screen with fbi: in my startup script I just issue a chvt 7 to change the active virtual terminal to a free one (no console/shell is running by default on that VT).

Camera UDP rtsp stream

Hello and thanks for this great code.

I'm trying to create a display with two cheap Sricam but i noticed that the rtsp stream is UDP instead of TCP.

In fatc if i try sudo omxplayer --no-keys --no-osd --avdict rtsp_transport:udp --live -n -1 --timeout 30
I have no problem to see the image.

There's a way to change the rtsp_transport in the code?

OR better.. a way to add a setting for single camera in the config if use tcp or udp?

Sorry maybe this is a pull request..

Thanks!

Layout Monitor Crashes

When I attempt to take three feeds and place them next to each other horizontally on a single row it causes my monitor to lose signal. As soon as I stop the service the monitor comes right back. I have tested the issue extensively with the 3x3 layout as well as a custom layouts and the key seems to be when the third feed horizontally is started the monitor crashes. It doesn't matter where vertically I place that row.

When I stack three feeds vertically (row 1, row 2, row 3) it works just fine as long as I don't have three feeds in a single row. This includes a row on the right of the screen.

  • Raspbian Buster Lite
  • Raspberry Pi 3
  • Fully Updated
  • Resolution Configured via raspi-config to 1920x1080

Any troubleshooting tips? I can't find anything useful in logs.

Differential layout rotation

Forgive me if this is already possible, if that is the case I'm too stupid to work it out...
But is it / would it be possible to get differential layout rotation, as in have a 2x2 tile, that changes to a 1x1 of specific camera then rotates back to a 2x2 of multiple for example?
If this can already be done I'd appreciate an example layout.conf...

Thanks!

Find current installed version?

Is there a command I can run to tell what the current installed version and/or committed version of DisplayCameras is currently installed on my RPI?

thanks,
Albert

Audio Output Control from Stream

Hi,
First of All Thanks and Great Library. Runs smoothly and easy to configure. Thumbs Up and keep up the good work.

Now to my Problem. Is it Possible to send out the Audio from the RTSP Stream over the Headphone Jack or HDMI? E.g. I have 4 Cams (2x2) and would like to have the Audio of Cam1 (upper-left) and/or Cam2 (upper-right) to output the Audio.

Thanks for your Help.

RTSP from Hikvision Cameras

Any idea why rtsp streams would not work from hikvision cameras. I have two other types that work fine. Verify the feed in VLC then put into the layout.conf.default as per other types of camera. Nothing comes up. Is there a specific setting the camera needs to be on for it to work in displaycameras? main and sub feed both not displaying. I dont get why they would work fine in VLC then not work in display cameras.

Ideas?

No streams / possible to use udp?

Hi,
I can't get any camera stream to show up.
I'm not using UniFi cameras, but instead a mixture of raspbeery pi cameras/usb cameras.

The displaycamera services are running and my config looks right.
I can get the streams to show by running it manually and using vlc or omxplayer to watch them.

Under the debugging section, it states to use tcp:
sudo omxplayer --no-keys --no-osd --avdict rtsp_transport:tcp --live -n -1 --timeout 30

if I use rtsp_transport:udp, or leave it out completely, the stream shows up. But with tcp omxplayer returns: have a nice day ;)

So, is displaycameras written to only use tcp? Can this be modified? I can't find it in the displaycameras.conf or layout.conf.default to switch to using udp.

Not working

Hello. I just want to display one camera. My config looks like this:

windows=(LT2)
window_positions=(
"0 0 1024 768"
)
camera_names=(LT2)
camera_feeds=(
"rtsp://USERNAME:[email protected]:554/mpeg/media.amp"
)

My RTSP link works just fine in VLC. Nowhere in the documentation of this program is authentication mentioned so I just following standard form for the link.

I hope someone can explain to me what the issue is. Thanks!

Change resolution of larger tile

I currently have a 6 tile display with 1 offscreen for rotation. I'd love for the large (first window position) to be able to always load a higher quality stream.

window_positions=(
"0 0 1280 720"
"1280 0 1920 360"
"1280 360 1920 720"
"1280 720 1920 1080"
"640 720 1280 1080"
"0 720 640 1080"
"1920 600 2879 1199" \

Currently streams are _2 for lowest stream, _1 for mid quality and _0 for highest quality. I currently use _2 for all streams but the large screen is too low a quality so I'd love the ability to have it increase the quality for that tile when its rotated to

Run without root-permissions

I recently struggled with running displaycameras as node-child-process alongside another application, which I'd rather not run with root rights, due to security concerns.
Is there a reason, why displaycameras always requires the sudo-prefix?

Is there a feasable solution to that?

As far as I am concerned, executing displaycameras should not need root-rights, as it does not permanently manipulate the system.

Crash: _dbus_check_is_valid_bus_name

I am on Raspbian Lite 2020-02-13 on a Pi4 device. This is a fresh install with all updates completed.

I have run sudo apt-get update && sudo apt-get dist-upgrade -y && sudo apt-get auto-remove -y && sudo apt-get autoclean

Has anyone else run into this? I cannot get it to display. The setup is the default layout modified for 2x2 with new camera names, and RTP paths to (4) HikVision cameras. VLC can view them without an issue, but I'm struggling getting this setup.

Mar 20 16:13:04 raspberrypi displaycameras[514]: Waiting for leaving, omxplayer startup 0
Mar 20 16:13:05 raspberrypi displaycameras[514]: Waiting for leaving, omxplayer startup 1
Mar 20 16:13:06 raspberrypi displaycameras[514]: Waiting for leaving, omxplayer startup 2
Mar 20 16:13:07 raspberrypi displaycameras[514]: Waiting for leaving, omxplayer startup 3
Mar 20 16:13:08 raspberrypi displaycameras[514]: Waiting for leaving, omxplayer startup 4
Mar 20 16:13:09 raspberrypi displaycameras[514]: Waiting for leaving, omxplayer startup 5
Mar 20 16:13:10 raspberrypi displaycameras[514]: leaving, failed playback
Mar 20 16:13:10 raspberrypi displaycameras[514]: Starting omxplayer for canopy,
Mar 20 16:13:10 raspberrypi displaycameras[514]: dbus[733]: arguments to dbus_bus_request_name() were incorrect, assertion "_dbus_check_is_valid_bus_name (name)" failed in file ../../../dbus/dbus-bus.c line 1122.
Mar 20 16:13:10 raspberrypi displaycameras[514]: This is normally a bug in some application using the D-Bus library.
Mar 20 16:13:10 raspberrypi displaycameras[514]: D-Bus not built with -rdynamic so unable to print a backtrace
Mar 20 16:13:10 raspberrypi displaycameras[514]: /usr/bin/omxplayer: line 67: 733 Aborted LD_LIBRARY_PATH="$OMXPLAYER_LIBS${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" $OMXPLAYER_BIN "$@"
Mar 20 16:13:11 raspberrypi systemd[1]: systemd-fsckd.service: Succeeded.`

I had read the following could help, but it just suppressed the errors.

export DBUS_FATAL_WARNINGS=0
unset XMODIFIERS

Datetime overlay in a corner

Is your feature request related to a problem? Please describe.
My xiaoyi's do not always show the correct time, maybe one of them didn't have internet connection so it starts off from 1970-01-01 0:00, or there's the one that no matter how I set the timezone will always show a time that's 2 hours in the past.

Describe the solution you'd like
A textual, basic configurable (size/color/position) overlay showing the current system date and time

Describe alternatives you've considered
As of now, I have a php script fetching a screenshot of the current display, add an overlay via GD and then returning it to the HTTP request to the server, but it's molasses, naturally

Additional context
Attached is an example of what I get with my PHP script (sorry for the lacking freehand-mouse drawing skills in the censored area)
template

Blanking not working on reboot

Describe the bug
Blanking does not work when you reboot. The black screen does not show, instead it shows the background desktop. If you restart the service with sudo systemctl restart displaycameras, it blanks just fine. status shows that the fbi process is running both when you reboot and restart the service. I have reinstalled the OS and updated everything, didn't work. Currently i use a small script to restart the service 30 sec after boot to fix the problem.
To Reproduce
Steps to reproduce the behavior:
Throws no error that i can see since the issue is fixed when you restart the service.

Expected behavior
Blanking to blackout the transition between streams.

Screenshots
Not really sure if screenshots would help, ask me for the ones you want.

Raspberry Pi (please complete the following information):

  • RPI 3 B Vi.2
  • OS: Raspbian Full Stretch
  • Console: Desktop
  • gpu memory split: 256MB
  • displaycameras Version 0.8.3.3

**Display Configuration

  • 1920x1080
  • Window matrix: 1x1 rotating 2 Full HD displays
  • Feed resolution: 1920x1080

Camera information (please complete the following information):

  • Number of cameras: 2
  • Camera models : Vivotek FD-8166-F2(W)
  • Managed

Features enabled (please complete the following information):

  • Rotation: yes
  • Display Blanking: Yes
  • Display Detection: No

Screen Flashing/Blanking/Restart?

Describe the bug
The PI boots up fine, starts loading cameras approx 5 sec apart then after about a minute the screen goes black like it lost connection, sometimes flickers once or twice over a period of a minute or two before the camera service restarts i think and re-opens the cameras one by one. I may just have something configured wrong, but it seemed pretty easy to figure out between the two configs. Both are attached for reference.

Raspberry Pi (please complete the following information):

  • Hardware model: Raspberry Pi 3 Model B Plus Rev 1.3
  • OS: 2018-06-27-raspbian-stretch-lite / Linux version 4.14.52-v7+
  • gpu memory split: 256MB
  • displaycameras Version: 0.8.3.3

**Display Configuration

  • Display/Monitor resolution: 1920x1080
  • Window matrix: 2x2 (3 cameras)
  • Feed resolution: 640x360

Camera information (please complete the following information):

  • Number of cameras: 3
  • Camera models: Hikvision
  • Unmanaged

Features enabled (please complete the following information):

  • Rotation: no
  • Display Blanking: yes (tried both)
  • Display Detection: no

**Files
Attached the log and config files,
layout.conf.default.txt
displaycameras.conf.txt
logs.txt

lose HDMI for 2 specific rotations every time

Hopefully someone knows this one or its something wrong with my layout for a quick easy fix.

I have 10 screens, every time the rotation gets to the last 10th screen I lose HDMI (no signal) for 30 seconds (2 rotations) and then it comes back. nothing in syslog, nothing high CPU that I can see, load average: 0.15, 0.21, 0.25

Window layout as follows
`"0 0 1280 720"
"1280 0 1920 360"
"1280 360 1920 720"
"1280 720 1920 1080" \

#off-screen
"640 720 1280 1080"
"0 720 640 1080"
"1920 0 2560 360"
"2560 0 3200 360"
"3200 0 3840 360"
"1920 360 2560 720"
`

You can view the layout at https://pasteboard.co/J7y8rLs.png

Anyone have any idea why it doesn't like that last rotation of 1920 360 2560 720?

Step Multiple Displays

Is your feature request related to a problem? Please describe.
No. The posted software works great! I noticed an extra variable on the online code that would be nice to have in the released code but I was curious if you got it fully working. Specifically the sequence step variable (seq_step)

Describe the solution you'd like
A clear and concise description of what you want to happen.
I'd like to step 3 displays at a time. I have 5 zones with 3 cameras each so instead of stepping through the available displays 1 at a time I'd like to switch 3 cameras at a time. (ie. display 1-3, then 4-6, 7-9, 9-12, 12-15). I need to step 3 cameras at a time because my cameras are grouped and it'd be useful to see the groups as a whole.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
The displays are stored off-screen. Could I adjust the display to show the pixels off screen? Then keep bumping over into the "extended display" instead of rotating the displays?

Additional context
Add any other context or screenshots about the feature request here.
Thanks for any help/advice you can offer!

Would not stream Sricam SP012

I have a Sricam SP012 and couldn't get it to stream to the screen even though it worked perfectly on VLC.

Using sudo omxplayer --no-keys --no-osd --avdict rtsp_transport:tcp rtsp://xxx.xxx.xxx.xxx/onvif2 --live -n -1 --timeout 30 would not work either.

I did some research and found out the Scricam SP012 uses udp so I tried sudo omxplayer --no-keys --no-osd --avdict rtsp_transport:udp rtsp://192.168.0.11/onvif1 --live -n -1 --timeout 30 and that worked. But I still wouldn't work in layout.conf.default

So I downloaded the source code and looked through it and found this line(s) in displaycameras:
player="omxplayer --no-keys --no-osd --avdict rtsp_transport:tcp --win "${window_positions[$x]}" "${camera_feeds[$i]}" --live -n -1 --timeout "$omx_timeout" --dbus_name "org.mpris.MediaPlayer2.omxplayer.${camera_names[$i]}" >/dev/null &"
And it includes rtsp transport as tcp, so that's why my stream wouldn't work.

So I added these lines to layout.conf.default :
"# Stream transport types
transport_type=(
#First Row
#upper_left
"udp"
#upper_right
"tcp" \

#Second Row
#lower_left
"tcp"
#lower_right
"tcp"
)

And modified the lines in displaycameras to:
player="omxplayer --no-keys --no-osd --avdict rtsp_transport:"${transport_type[$i]}" --win "${window_positions[$x]}" "${camera_feeds[$i]}" --live -n -1 --timeout "$omx_timeout" --dbus_name "org.mpris.MediaPlayer2.omxplayer.${camera_names[$i]}" >/dev/null &"

So now I can set whether a particular stream is tcp or udp and it will work.

Muzza.

Unable to stop screen rotation

Describe the bug
The cameras are continuing to rotate even if rotate is false or the line is commented

To Reproduce
Steps to reproduce the behavior:

  1. Install per README.md
  2. Configure some feeds and keep "rotate" line commented (default behaviour is false)
  3. Cameras are still rotating

Expected behavior
The cameras should not rotate

Raspberry Pi (please complete the following information):

  • Hardware model 3 B+
  • OS: Raspbian Lite downloaded today (2019-05-01)
  • Console: Text Console
  • gpu memory split: 256MB
  • displaycameras commit ac9ad9c

**Display Configuration

  • Display/Monitor resolution: 1920x1080
  • Window matrix: 3x3

Camera information (please complete the following information):

  • Number of cameras: 8
  • Camera models: from public stream rtsp://184.72.239.149/vod/mp4:BigBuckBunny_115k.mov

Features enabled (please complete the following information):

  • Rotation: no
  • Display Blanking: [yes/no] It happen with both settings
  • Display Detection: yes

If I manually kill after each start rotatedisplays it works like a charm. It looks like the variable in the configuration file is not readed or rotatedisplays starts always

Installer does not display README if requested

On regular installation (not upgrade), the installer terminates with an option to display the README file (i.e., calls 'less README'). README was changed to README.md in commit aab9a9a; so, the file never displays (and the installer terminates silently).

  • Fix the call to 'less README' to reference the correct file name.

GPIO push switch for rotation

Good Day

Thanks for a great program and making it available to us.

I would like to ask if it is possible to use the rotation feature to bring one of the cameras I have displayed on my 2x2 grid, full screen by using a push button connected to the GPIO?

Seems simple but the changes i made do not seem to generate the desired result.
Any help would be appreciated

Apologies if this is not placed in correct section
Many Thanks

Layout Examples oddity

I haven't looked at every example layout, but both:
layout.conf.1920x1080.3x3 and layout.conf.1920x1200.6on4x4

are commented as being: "# 2x2 screen with 3 off-screen windows." Could be just a labeling error, but just wanted to let you know.

Cannot do Screen Flop

Before filing a bug report

Replicate your issue on Raspbian Lite
Raspbian Lite is the preferred target OS for this system. I will not address bugs that can only be replicated on 'nix with a graphical user interface.
REPLICATED ON RASPBIAN 9.9
Ensure your operating system is up-to-date
...and that you can replicate the problem with an up-to-date (and rebooted) system.
To ensure all is update, run the following in a terminal, sudo apt-get update && sudo apt-get dist-upgrade -y && sudo apt-get auto-remove -y && sudo apt-get autoclean
DID ALL OF THIS AGAIN TO MAKE SURE
If you do the above two things and can still replicate the issue, then...

Describe the bug
A clear and concise description of what the bug is:
Cannot do screen flop.
Thanks to your program, I am easily able to get 10 non-rotating feeds to display with no problems at all. I reconfigured my layout.conf.default file to 8 feeds--4 onscreen in a 2x2 matrix and 4 offscreen--in order to try your new screen flop feature. It will ONLY ROTATE IN SINGLE STEPS. I set the seq_step to 4 in the layout.conf.default file and also tried steps of 2 or 3, but all without any change. It only is able to rotate the 8 feeds into the screen in steps of 1. The first offscreen feed becomes the bottom right feed, the bottom right becomes the bottom left, bottom left becomes top right, top right becomes top left and top left goes offscreen--all feeds step through the four positions only one step at a time, no matter whether seq_step=2 or 3 or 4.
I carefully read all of your resolved bugs to see if there was any advice for me there, and I did everything you recommended there, all to no avail. My ultimate goal is to flop two whole screens of 10 feeds each but first I need to made it work for two whole screens of 4 feeds each. PLEASE help me fix the seq_step feature.

To Reproduce
Steps to reproduce the behavior:

  1. Install per README.md
  2. Configure my feeds in layout.conf.default
  3. Run 'sudo displaycameras start'
  4. See error "..."
    DONE
    Expected behavior
    A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Raspberry Pi (please complete the following information):

  • Hardware model: Canakit Raspberry Pi 3
  • OS: [e.g. Raspbian_Lite Stretch] Raspbian 9.9 Stretch
  • Console: [X-session/Pixel vs Text Console] text
  • gpu memory split: [e.g. 256MB] default
  • displaycameras Version [e.g. 0.8.3.3] 0.8.3.3

**Display Configuration

  • Display/Monitor resolution: [e.g., 1920x1080] 1024x768
  • Window matrix: [e.g. 2x2] 2x2
  • Feed resolution: [e.g., low-resolution or 640x360] low-res

Camera information (please complete the following information):

  • Number of cameras: [e.g. 6] 8
  • Camera models (if not Ubiquiti): Ubiquiti
  • Managed/Unmanaged: Managed

Features enabled (please complete the following information):

  • Rotation: [yes/no] yes
  • Display Blanking: [yes/no] no
  • Display Detection: [yes/no] no

NVR information (please complete the following information):

  • NVR hardware: virtual server
  • NVR UniFi Video server version: [e.g., 3.9.7] 5.10.25

Additional context
Add any other context about the problem here.

**Files
Attach any suspect config files.
I am attaching my layout.conf.default file but I had to add a .txt suffix or it would not upload. I do not have .txt on it when I run it, of course.
layout.conf.default.txt

Play recorded video files in combination with RTSP streams

Is your feature request related to a problem? Please describe.
I Only have 3 cameras and was wondering if it would be possible to use the 4th screen in the layout to play recorded video files.

Describe the solution you'd like
In addition to using omxplayer to open rtsp streams also have the option to use omxplayer to play recorded images or videos

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.