turingmachine / omxplayer-sync

OMXPlayer-Sync facilitates synchronization of multiple OMXPlayer instances over the network in a master/slave fashion.
194 stars 70 forks source link

dbus connection problem #16

Closed parsoogi closed 9 years ago

parsoogi commented 9 years ago

Hi, First of all, I really appreciate your amazing work!

I am trying to make a video wall with Raspberry Pis, and trying to use your code. However, I am experiencing the old issue. It was already mentioned twice in the issue page, but i still did not get the solution.

I am currently using a Raspberry Pi model B with Raspbian released on 2014-09-09. R Pi is connected to a wifi router via wireless dongle, and Full HD monitor is used as a display.

I installed pyexpect by pip install pexpect and I skipped second requirement because it looks like python-dbus is already installed in recent Raspbian.

Actually I don't get what the third requirement means.

A custom build of omxplayer with a higher stats output resolution.

So I just followed the installation guide, but I got the same message about the bus connection issue.

pi@raspberrypi: ~ $ omxplayer-sync -muv synctest.mp4 
WARNING: dbus connection could not be established
org.freedesktop.DBus.Error.ServiceUnknown: The name org.mpris.MediaPlayer2.omxplayer was not provided by any .service files
local: 0.00 0
local: 0.00 0
.
. (about 30 times of the same message)
.
local: 0.00 0
local: 0.00 0
omxplayer has ended...

I tried standalone play by the commend omxplayer -s synctest.mp4 and it works fine.

Should I modify something for Full HD resolution as the third requirement says? Or wireless connection should be replaced with wired ethernet like a example video?

turingmachine commented 9 years ago

Did you install the custom build of omxplayer by issuing this commands as root?

wget -O- http://yokto.net/0/omxplayer/omxplayer-3176db4.tar.bz2 | tar -C / -xjvf -
ln -sf /lib/arm-linux-gnueabihf/libpcre.so.3 /lib/arm-linux-gnueabihf/libpcre.so.1

Whats the output of omxplayer --version?

parsoogi commented 9 years ago

As root, I installed your omxplayer as in the instruction page. Also I made a symbolic link. I checked the version and it says

omxplayer - Commandline multimedia player for the Raspberry Pi
        Build date: Thu, 15 May 2014 14:42:52 +0200
        Version    : 3176bd4 [omxplayer-sync]
        Repository: UNKNOWN
turingmachine commented 9 years ago

Does the video actually play? Try to remove pip pexpect and install it with apt:

pip uninstall pexpect
apt-get update
apt-get install python-pyexpect

I see you try running it as pi user. Try removing all files in /tmp/ as root that got omxplayer in the name and try again as pi user or try to run it as root.

There are no changes needed for FullHD playback. I never tested syncing over WiFI, I suggest yout get it to work first via wired connection.

bruce-hamilton commented 9 years ago

Thank for omxplayer-sync. I too am trying to get it to work on my Raspberry. I am having a similar issue as parsoogi. I was first trying it using a wifi connection but I am now connected via ethernet. I have followed the detailed instructions but still the dbus issue remains. omxplayer plays the video fine.

root@rpi-71-81:/home/pi# omxplayer-sync -muv /home/pi/synctest.mp4
WARNING: dbus connection could not be established
[Errno 2] No such file or directory: '/tmp/omxplayerdbus'
local: 0.00 0
etc

I add a omxplayerdbus file to /tmp and the error changed.

root@rpi-71-81:/home/pi# touch /tmp/omxplayerdbus
root@rpi-71-81:/home/pi# omxplayer-sync -muv /home/pi/synctest.mp4
WARNING: dbus connection could not be established
list index out of range

Here is the hardware and firmware for my Raspberry

root@rpi-71-81:/home/pi# cat /proc/cpuinfo
processor   : 0
model name  : ARMv6-compatible processor rev 7 (v6l)
Features    : swp half thumb fastmult vfp edsp java tls 
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part    : 0xb76
CPU revision    : 7
Hardware    : BCM2708
Revision    : 000e
Serial      : 000000004eabc533
root@rpi-71-81:/home/pi# uname -a
Linux rpi-71-81 3.12.34+ #725 PREEMPT Sun Dec 7 13:14:11 GMT 2014 armv6l GNU/Linux

I would love to be able to get omxplayer-sync to work so any suggestions you have would be greatly appreciated. Thank you

parsoogi commented 9 years ago

I erased whole data, and installed a new clean image. After that I followed the installation guide again with update and python-pyexpect on the clean image. Also, I changed the connection. I connected two Raspberry Pis directly via a LAN cable as in the demo video.

I tested the omxplayer-sync as root, and I got a following message.

root@raspberrypi:/home/pi# omxplayer-sync -muv synctest.mp4
connect: Network is unreachable
WARNING: bus connection could not be established
org.freedesktop.DBus.Error.ServiceUnknown: The name org.mpris.MediaPlayer2.omxplayer was not provided by any .service files
local: 0.00 0
local: 0.00 0
local: 0.00 0
.
.
local: 0.00 0
omxplayer has ended...

When I started omxplayer-sync as a normal user, I got a following message.

pi@raspberrypi~$ omxplayer-sync -muv synctest.mp4
connect: Network is unreachable
WARNING: bus connection could not be established
org.freedesktop.DBus.Error.NoReply: Did no receive a replay. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
local: 0.00 0
local: 0.00 0
local: 0.00 0
.
.
local: 0.00 0
omxplayer has ended...

In both conditions, omxplayer works correctly.

turingmachine commented 9 years ago

The latest release did possibly introduce a bug. Try to use this version: https://github.com/turingmachine/omxplayer-sync/commit/edf29ba054e3c42dce9ab47b3c1e496f36dfc4c2

turingmachine commented 9 years ago

https://github.com/turingmachine/omxplayer-sync/blob/edf29ba054e3c42dce9ab47b3c1e496f36dfc4c2/omxplayer-sync

turingmachine commented 9 years ago

@bruce-hamilton never create the files in /tmp yourself. Just delete all of them and omxplayer will create them. Also make sure that you always start omxplayer with the same user. Don't switch from root to an unprivileged-user and vice-versa.

Also try to kill all dbus instances running and delete all omxplayer files in /tmp before starting omxplayer or omxplayer-sync

bruce-hamilton commented 9 years ago

Thank you for the updated omxplayer-sync. It solved the problem of the syntest.mp4 not playing on the master and slave. omxplayer-sync plays and loops correctly on the master but the slave tries to sync and restarts the video after playing for about 5 seconds. It seems it is listing the correct time/frame from the master but restarts the video instead of jumping to that frame.

pi@rpi66 ~ $ omxplayer-sync -luv /home/pi/synctest.mp4 
WARNING: unable to get current filename from master
WARNING: dbus connection could not be established
[Errno 2] No such file or directory: '/tmp/omxplayerdbus'
local: 0.00 0 master: 13.39 10 deviation: 13.39 moving_deviation: 13.39 filename: /home/pi/synctest.mp4 filename_master: /home/pi/synctest.mp4 wait: False
local: 0.00 0 master: 13.39 10 deviation: 13.39 moving_deviation: 13.39 filename: /home/pi/synctest.mp4 filename_master: /home/pi/synctest.mp4 wait: False
local: 0.00 0 master: 13.39 10 deviation: 13.39 moving_deviation: 13.39 filename: /home/pi/synctest.mp4 filename_master: /home/pi/synctest.mp4 wait: False
local: 0.00 0 master: 13.39 10 deviation: 13.39 moving_deviation: 13.39 filename: /home/pi/synctest.mp4 filename_master: /home/pi/synctest.mp4 wait: False
local: 0.00 0 master: 13.39 10 deviation: 13.39 moving_deviation: 13.39 filename: /home/pi/synctest.mp4 filename_master: /home/pi/synctest.mp4 wait: False
local: 0.00 0 master: 13.39 10 deviation: 13.39 moving_deviation: 13.39 filename: /home/pi/synctest.mp4 filename_master: /home/pi/synctest.mp4 wait: False
local: 0.28 7 master: 13.39 10 deviation: 13.11 moving_deviation: 13.35 filename: /home/pi/synctest.mp4 filename_master: /home/pi/synctest.mp4 wait: False
local: 0.44 11 master: 13.39 10 deviation: 12.95 moving_deviation: 13.30 filename: /home/pi/synctest.mp4 filename_master: /home/pi/synctest.mp4 wait: False
local: 0.61 15 master: 13.39 10 deviation: 12.79 moving_deviation: 13.24 filename: /home/pi/synctest.mp4 filename_master: /home/pi/synctest.mp4 wait: False
local: 0.93 23 master: 13.39 10 deviation: 12.46 moving_deviation: 13.17 filename: /home/pi/synctest.mp4 filename_master: /home/pi/synctest.mp4 wait: False
local: 1.10 2 master: 13.39 10 deviation: 12.29 moving_deviation: 13.09 filename: /home/pi/synctest.mp4 filename_master: /home/pi/synctest.mp4 wait: False
jump to 15.39
WARNING: dbus connection could not be established
[Errno 2] No such file or directory: '/tmp/omxplayerdbus'

omxplayer plays the video correctly on both master and slave. They are connected via ethernet with a hub and both have static IP addresses. There are other computers on the network so I am connecting to them via ssh.

codingcatgirl commented 9 years ago

I also had a dbus error with arch. Using the older version fixed the problem.

bruce-hamilton commented 9 years ago

Thank you Nils for the hint. I followed all the instructions from https://github.com/turingmachine/omxplayer-sync to reinstall the software and I am using omxplayer-sync from https://github.com/turingmachine/omxplayer-sync/blob/edf29ba054e3c42dce9ab47b3c1e496f36dfc4c2/omxplayer-sync. This solved the dbus issue and the videos now play correctly in sync on a master and slave connected via ethernet through a hub. The older omxplayer did fix the problem.

pi@rpi66 ~ $ omxplayer -v
omxplayer - Commandline multimedia player for the Raspberry Pi
        Build date: Thu, 15 May 2014 14:42:52 +0200
        Version   : 3176db4 [omxplayer-sync]
        Repository: UNKNOWN
bruce-hamilton commented 9 years ago

The omxplayer-sync has been running the test videos fine for about 10 hours. However, there have been some errors on the slave side and I wonder why this may be happening? The videos do syncs again but there is a period when the slave is re-syncing. Will videos of 10 minutes or longer have this issue as well?

pi@rpi-71-81 ~ $ omxplayer-sync -lu synctest.mp4 &
[1] 5101
pi@rpi-71-81 ~ $ WARNING: omxplayer hangup detected, respawning omxplayer
WARNING: omxplayer hangup detected, respawning omxplayer
WARNING: omxplayer hangup detected, respawning omxplayer
WARNING: omxplayer hangup detected, respawning omxplayer
turingmachine commented 9 years ago

The warning you encounter is due to bugs in omxplayer which causes it to 'hangup' ocassionally. There is nothing we can do but detect this hangup and restart the player. It should happen way less with longer files as it mostly occurs during the syncing phase which occurs only once per file.

turingmachine commented 9 years ago

I will close this issue if no one got any problems anymore.

bruce-hamilton commented 9 years ago

I have had no problems. omxplayer-sync is working for me.

Thanks for all your help. Bruce

On Dec 28, 2014, at 10:22 AM, Simon Josi notifications@github.com wrote:

I will close this issue if no one got any problems anymore.

— Reply to this email directly or view it on GitHub.