Giter Site home page Giter Site logo

omxplayer-sync's Introduction

OMXPlayer-Sync

OMXPlayer-Sync facilitates synchronization of multiple OMXPlayer instances over the network in a master/slave fashion.

https://vimeo.com/137133716

Usage

$ ./omxplayer-sync -h
Usage: omxplayer-sync [options] filename

Options:
  -h, --help            show this help message and exit
  -m, --master          
  -l, --slave           
  -x DESTINATION, --destination=DESTINATION
  -u, --loop            
  -v, --verbose         
  -o ADEV, --adev=ADEV  
  -a ASPECT, --aspect=ASPECT  Aspect Mode - fill, letterbox, stretch

Master

omxplayer-sync -m movie1.mp4

Slave

omxplayer-sync -l movie1.mp4

Requirements

A recent version of Python3 or Python2. A recent version of the python bindings for D-Bus.
A recent build of omxplayer for Jesse or Stretch.

Installation on Raspbian

Perform on both master and slave.

sudo su
apt-get remove omxplayer
rm -rf /usr/bin/omxplayer /usr/bin/omxplayer.bin /usr/lib/omxplayer
apt-get install libpcre3 fonts-freefont-ttf fbset libssh-4 python3-dbus
wget https://github.com/magdesign/PocketVJ-CP-v3/raw/master/sync/omxplayer_0.3.7-git20170130-62fb580_armhf.deb
dpkg -i omxplayer_0.3.7~git20170130~62fb580_armhf.deb
wget -O /usr/bin/omxplayer-sync https://github.com/turingmachine/omxplayer-sync/raw/master/omxplayer-sync
chmod 0755 /usr/bin/omxplayer-sync
wget https://github.com/turingmachine/omxplayer-sync/raw/master/synctest.mp4

Start on Master (-u loop, -v verbose)

omxplayer-sync -muv synctest.mp4

Start on Slave (-u loop, -v verbose)

omxplayer-sync -luv synctest.mp4

Usage notes

  • The filename on the master and the slave must be exactly the same.
  • More testfiles with timecodes can be found on [pocketvj.com][http://pocketvj.com/video/small_testfile.mp4].
  • Make sure there are no other files than movie files (e.g. no pictures, no textfiles) in the folder where the movie is, otherwise you may get sync errors.
  • A RJ45 cable must be connected before you start the master, otherwise it will not send sync data to slave.
  • Do not send audio output flags with omxplayer-sync on the slave e.g. /usr/bin/omxplayer-sync -lu -o both /media/internal/video/*
  • Use videos which are min. 60 seconds or longer
  • If you dont know how to create a h264 mp4 file, visit http://www.online-convert.com.

Example usage

see this link: https://www.youtube.com/watch?v=Xp6GKFaw0io&feature=youtu.be by DSPeelJ

omxplayer-sync's People

Contributors

magdesign avatar mdmcclel avatar turingmachine avatar vmannello 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

omxplayer-sync's Issues

Omxplayer with --passthrough option rising 'hangup detect'

I'm trying to use the omxplayer-sync for a multichannel audio installation, with several Raspberry Pis.
I've added the the option passthrough in order to have a 5.1 audio output on the HDMI
self.omxplayer_options.append("-p")

When I try the sync, the script is rising the "hangup detect" and the audio file is not played or neither synced.

When I try the omxplayer , the pre-compiled one we should user for the omxplayer-sync, with the -p option the audio video is played properly with 5.1 surround.

Is there any way to overtake the hangup detection with the passthrough mode enabled?

Sync Playlist with Trigger

This software = amazing.
Quick question, is there a way to set up a playlist with it and transition or cut to the next video in the list using a keypad trigger like the spacebar or something? Then have all corresponding pi clients transition or cut and sync with the next item in the playlist? Thanks again for such great stuff to work with!

Blacking Out screen

I have uploaded a problem with my omxplayer-sync install.

I do have it successfully syncing across my master and slave. Can't wait to get it working with the rest of my pi's.

What are some solutions to this problem? I am using a RPi3 and Jessie

Rising deviation / slaves crash after longer playback

Hello and thank you for this great software.

I am trying to have three slaves and one master raspberry pi b+ playing a 40 min video synced. It works perfectly with very little deviation but after 1050 secs deviation rapidly increases and the slaves try to resync. However deviation stays over default tolerance so they try to resync again and again until they crash. Has anyone experienced this or knows a what could be causing this? Thank you for your reply

Omxplayer-sync not playing files that omxplayer will play.

Hi guys,

am having an issue where omxplayer-sync fails to load and play a movie
despite that movie playing in omxplayer via terminal command.

omxplayer-sync -mu /home/pi/Videos/DTLA.mp4

WARNING: omxplayer did not start. Try to test with omxplayer -s OPTIONS

omxplayer --loop /home/pi/Videos/DTLA.mp4

Video codec omx-h264 width 1920 height 1080 profile 77 fps 25.000000
Audio codec aac channels 2 samplerate 44100 bitspersample 16
Subtitle count: 0, state: off, index: 1, delay: 0
V:PortSettingsChanged: [email protected] interlace:0 deinterlace:0 anaglyph:0 par:1.00 display:0 layer:0 alpha:255 aspectMode:0
Stopped at: 00:00:01
have a nice day ;)

are there any limits/parameters that I need to be aware of here?
i.e. is there a data rate or file size limit ?

cheers

Martin

option --win doesn't work, can it be used? (just asking)

hi,
thanks for your work, it is awesome!

I just realized that one can add "extra" options (other than what your modified omxplayer version's manual lists) I could add -b, for example...
then I tried --win "0 0 1920 1080" , and it didn't ... the playing didn't start

I'm not complaining :) omxplayer-sync works great...
just asking if the --win options could be activated in any way

thank you

Peter

Single file played twice when no loop selected

If I try to play the test file only once (without the -u) it still plays the file twice.
I think this is due to the order of the commands in the While True loop of line 161 to 166

The play command is done first and then the check for first run is done, and then the 'first_run' variable is chanced. Second time around the play is done again before the check, so it ends up playing the file twice.

I think line 162 : self.play_file(self.playlist[self.playlist_index])
should instead be on line 165, after the If 'first_run' check statement.

Just my 2 cts

Best regards,
Arjan

Keyboard control

Does anyone have a functional keyboard controls working on the omxplayer-sync?

I have my master finally working and am planning on connecting my slaves via a ethernet switch tonight.

general questions

I have installed your sync system and am very impressed that it works...
I will spend the next few days digging in to it - and try to learn how it works

but a quick question or two:

do you have any plans to update the system? (specifically the onxplayer build)
I am using a Raspberry Pi 2 (yay)
and I am wondering is a fresher build could utilize the new expanded resources of the RPi2
specifically to achieve better sync.
I am getting between two and four frame sync
and I am looking to achieve 1-2 frame sync (or better! as in scanline sync!! :-) )

also after playing a file for some time in a loop the sync can take up to 40 sec to be found

  • is there anyway to minimize this?
  • and it would be great if there was not the pause/blackscreen while syncing ( work with artists ;-)

thank you for your efforts
most appreciated

garret

Weird repeat loop

I am still debugging this, so I don't know if this is the exception or the rule, but after a while the slave player loops back, generally to the beginning of the film and starts twitching while trying to synchronize. I am going to get a pizza and sit down and debug this over the next few hours =) but in the mean time, has anyone encountered this problem? Is it as a result of overly sensitive settings?

Sync three players

Hi,

I cannot get a second destination address to connect, only one slave via:

MASTER: omxplayer -muv -x slave1.local synctest.mp4
SLAVE: omxplayer -luv synctest.mp4

autostart omxplayer-sync

Thank you turingmachine, i've tried omxplayer-sync and it works like a charm,
i'm kinda new with pi, if i want to autostart the sync when pi boot up, what should i do?

WARNING: current master file 'filename.mp4' is unavailable

When testing omxplayer-sync, I can get two pis to sync correctly using the supplied synctest.mp4, but when I attempt to sync with other files, I get this issue:

WARNING: current master file 'filename.mp4' is unavailable

The filename updates to display the current file running as a master on the network, but the relay (perhaps a less politically loaded way to refer to 'slave') pi displays a loop of the above error.

The current file is 1080p 23.976 H264 .mp4 from Adobe Media Encoder with keyframes set to every 24 frames (which should set the GOP to 24 frames from the default 72).

WARNING: omxplayer hangup detected, respawning omxplayer

This error is produced every ~30s when running the provided synctest.mp4 via commands:

omxplayer-sync -mu synctest.mp4
omxplayer-sync -lu synctest.mp4

I tried changing TOLERANCE = 0.25 to TOLERANCE = 0.5, but this had no effect on the hangups.

This is on a RPi 2.

I don't see any other issues with this problem so I will continue to investigate my set up. I'll post back if I find a solution so others can avoid this.

WARNING: dbus connection could not be established

Hello,

I want to synchronise two raspberry pi 2 with omxplayer-sync, but I have no success for the moment.
Even, playing the synctest.mp4 video in 1 raspberry I get the warning

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

I reinstalled everything (raspbian from NOOBS) following this tutorial

https://www.uni-weimar.de/medien/wiki/Automation/RaspberryPi

The video plays, but I always get this warning. I guess that's the reason the sync doesn't work when I try with 2 raspberry.

I would appreciate any help!

PS: I saw someone had a similar problem #22, but I can't fix deleting the /temp dir, etc.

syncing different videos?

I'm curious if one can use different videos ...

same length, same encoding, same format, same file names - but actually different
videos ...

could they be synced too? on the basis of the frame number where the
playing is at ...? or something .)

is it possible?

thank you!

Key commands not working

I am unable to control omxplayer by key commands when running this script, either through usb keyboard or piping in the command. I am using your fork of omxplayer and have pexpect installed. Is this a known issue?

unable to get current filename from master

I have everything running, I can ping the second Pi over static IP, but omxplayer-sync tells me on the slave Pi:

WARNING: unable to get current filename from master

While on the master it tells me that the network is unreachable. What could cause this?

How to synchronize different individual videos on slaves?

Hi,

I want to use 4 raspberry pi 2.0 boards to play 4 different videos via HDMI cables onto 4 TVs, which are NOT placed besides each other, and are NOT video walls.

All I want is to play these individual videos in perfect synchronous mode.
Also, I want to use a master RPi to control these slave boards, and send some optional commands, like play, pause, next, previous, shut down, etc. (By using omxd probably.)
Besides, I want the whole system to start to play a group of videos in a directory, automatically after boot, and in an infinite loop.

Would you please help me how I can implement such system?
How should I use the omxplayer-sync codes to be useful for this purpose?
Are there any other solutions you would suggest for such a system?

Your time and support would be highly appreciated.

multiple slaves

can multiple slaves point to master, or can master have multiple ip destinations?

Playback in loop interrupted by a temporal quit

Hi, I all my videos quit for just a second after they complete the playback and before starting a new loop.
I´m using: omxplayer-sync -mu /home/pi/myfolder/myfile.mp4

Thanks in advance

network is unreachable

Cool software, thank you.
Is wifi dongle and LAN required for this to run?
when I play master (sudo omxplayer-sync -muv /home.pi/videos/syntest.mp4) won't work unless I am connected to my home wifi network. Will it run point to point via RJ45 alone?
Does it require RJ45 crossover cables?

Thanks for your help!

--win command crashes omxplayer-sync

When using the --win command to get one video synced on 4 monitors I get an error:

pi@iptv-a5 ~ $ omxplayer-sync -muv synctest.mp4 --win 0,0,3840,2160
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
WARNING: omxplayer did not start. Try to test with `omxplayer -s OPTIONS`

No Sync

hi there,

I have omxplayer-sync installed on two raspberry pi's connected via ethernet, and while i can play the synctest.mp4 file on either of them individually, anytime i enter the command omxplayer-sync -muv synctest.mp4 it tells me "connect:network is unreachable" and when i enter omxplayer-sync -luv synctest.mp4 it tells me "Warning: unable to get current filename from master" and continues to loop only the first five seconds of the synctest.mp4

I'm assuming I have something incorrectly setup regarding the network. both pi's have static IP addresses set. what further steps are necessary to setup communication between the slave and master?

apologies for being a novice at this. any help would be appreciated. all the best!

How to quit playback?

Hello, I`m testing this version via ssh and I can´t find a way to quit the player. I tried opening a Terminal windows in the Raspberry and type "killall omx-player" and the command kill it but less than a second after it starts again. I just want to quit to change videos and continue testing.
Thanks in advance.

Raspberry Pi 3 compatibility

I'm trying to get this to work on Pi 3. I'm a total noob but I think I have all the parts mentioned in the installation guide.

The only this I can notice, is that my rasbian cannot find these "ln -sf /lib/arm-linux-gnueabihf/libpcre.so.3 /lib/arm-linux-gnueabihf/libpcre.so.1"

Could anyone give me a suggestion how to fix it?

omxplayer-sync not running with latest raspbian version (DBus.Error.NoReply)

Hi there,

Here is my issue (and I am pretty sure others are experiencing it).

I am running the latest version of raspbian and followed the instructions to install omxplayer-sync by removing the default installed version of omxplayer and copying the one provided on yokto.net (omxplayer-3176db4).

First problem, the 3176db4 version of omxplayer is not running on a standalone way. I always get this error message whether I run it as root or non-root user:

pi@raspberrypi: ~ $ omxplayer -s synctest.mp4
error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory

With the version provided by raspbian (39e6342), omxplayer runs without any problem.

Main problem: when I try to run omxplayer-sync on the master RPi (with both versions of omxplayer), here what happens (root or non-root) even when I remove the /tmp/omxplayer* files and kill all dbus processes:

pi@raspberrypi: ~ $ omxplayer-sync -mv 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
local: 0.00 0
omxplayer has ended...
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
local: 0.00 0
omxplayer has ended...

Any ideas to solve this ?

Sync problem at begining of a loop

I have a problem running omxplayer-sync in my Slave raspberry pi.
It try to re-sync and pause the movie every beginning of a loop.

After 5 second11, I see this brief message:

"Pause 00:00:05 / 00:01:00"
"seek 00:00:08 / 00:01:00"

and next second:

"Play 00:00:09 / 00:01:00"

The problem is that this re-sync is very noticeable on the screen...
(see here: http://raphael.isdant.free.fr/videos/sync-pb.m4v)
I use raspberry Pi 2 and 3 connected using ethernet cable, no other files in the video folder. It happens also with other video at another timecode...

Thanks for your help

DBUS Error

Hi @turingmachine . Thank you for omxplayer-sync, it is exactly what i was looking for.
I installed it and it runs like this:

$ omxplayer-sync synctest.mp4 

but when started as a master, i get an error:

$ omxplayer-sync -mov 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
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

$ omxplayer --version
omxplayer - Commandline multimedia player for the Raspberry Pi
    Build date: Thu, 15 May 2014 14:42:52 +0200
    Version   : 3176db4 [omxplayer-sync]
    Repository: UNKNOWN

I get meaningless offsets

When i run in verbose mode, here is the output I get

Master:
$ omxplayer-sync -v -m -x 192.168.1.71 /full/path/to/movie
local: 0.00 0
local: 0.00 0
local: 0.00 0
...

Slave:
$ omxplayer-sync -v -l /full/path/to/movie
local: 0.00 master: 0.00 deviation: 0.00 wait: False
local: 0.00 master: 0.00 deviation: 0.00 wait: False
local: 0.00 master: 0.00 deviation: 0.00 wait: False
...

This can't be correct. Also, it goes without saying that the two videos are not synchronized. Finally, I am calling the omxplayer-sync Python script and I have modified the code such that it calls your build of omxplayer as the executable.

no seamless loop

I've juste compiled the last version of omxplayer of popcornmix (commit 74aac3752a), so there is no more gap in omxplayer loop. It appears there is a gap beetwen two loops when omxplayer is running through omxplayer-sync, I'm trying to get a look on the source to fix it but I'm quite newbie in python...

No DBus connection

I am using an Ethernet switch to connect all my raspberry pi's. Ive installed everything that has been listed on this tutorial as well as a couple of others i've found. I have synctest.mp4 running on my master, but my slave only runs it for 5 seconds, then repeats.

The IP's are different on my Pi's, the eth0 is static, but the netmask, destination, gateway, broadcast are all the same across my Pi's. I found this using ifconfig and netstat -nr.

I am getting an error on my Slave: Unable to get filename from Master. My Master error (not verbatim): Unable to make connection / no Dbus etc...

What is the proper address for an Ethernet Switch? Mine returns gateway 0.0.0.0 when I look at ifconfig and netstat -nr. I think this could be an issue.

Also I am on Jessie, which I read may be causing problems? I do not need to be connected to the internet, but is this necessary?

not exact synchronization

Hello!
The videos are not exactly synchronized.
When I watch the big buck bunny video I can see the difference when the scene changes.
Do you see a chance that the videos are played frame synchronous?

dbus connection problem

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?

WARNING: omxplayer did not start. Try to test with 'omxplayer -s OPTIONS'

I currently am trying to start up omxplayer-sync upon start up. I created a bash script (omx-sync.sh) with the code:

/usr/bin/omxplayer-sync -mu -o both /home/pi/video.mp4
for master and:

/usr/bin/omxplayer-sync -lu -o both /home/pi/video.mp4
for slave.

I then put in /etc/profile I added at the very bottom:

. /home/pi/omx-sync.sh &

With this setup, sometimes autoplay upon startup works for video files of smaller bitrates and lower quality, but sometimes I see the error:

WARNING: omxplayer did not start. Try to test with 'omxplayer -s OPTIONS'

I end up either 'sudo reboot' or unplugging/replugging the pi and usually after two or three tries it works. I also exported the same video with varying bitrates levels and distributed the videos on the master and slaves. I noticed that as the video quality and file size goes up, I begin to see the error code on the slaves more frequently.

If I type the code in the terminal (omxplayer-sync -lu video.mp4), all videos work, including the higher bitrate videos. Does anyone else run into this issue and have any idea why the error code happens?

Rewind does not work at all

Not sure if it's necessary in this version (are we really going to get 20 s ahead?) but on your version of omxplayer rewind is not even supported (try it!)

3176db4: dbus connection could not be established

I've followed the most recent instructions but I'm getting the following error when starting omxplayer-sync (omxplayer 3176db4)

WARNING: dbus connection could not be established
org.freedesktop.DBus.Error.ServiceUnknown: The name org.mpris.MediaPlayer2.omxplayer was not provided by any .service file

New to Raspberry Pi

Hi, I am new to Raspberry Pis and desperately need your help!
I'm looking to sync two videos on two separate screens. They will be looped continually in a gallery space for an exhibition.

A few questions:

  1. Is syncing still possible with 2x Model A+'s along with 2 USB to Ethernet adapters? Something like this: http://www.shoppingsquare.com.au/product.php?id=413965
  2. Looking at the video you attached of the PocketVJ, is this also absolutely necessary for syncing?

Thank you so much.

Order of Code Operations

What a great project, I've got a quick question for you.
I can get the omxplayer-sync to play back the server file, and I can get the clients to play back their files, but I can't seem to get the clients to respond to the server. Is there a certain order to executing the scripts? Sometimes too, there will be an endless ping for frame checks that never gets a response. Any suggestions would be very appreciated! Thanks!

Master and slave stop playing after some time

Since the beginning, I have this problem, both player stop and the master/slave are not sending position information anymore. Here is the video information:

Format : MPEG-4
Format profile : QuickTime
Codec ID : qt
File size : 2.32 GiB
Duration : 32mn 13s
Overall bit rate mode : Variable
Overall bit rate : 10.3 Mbps
Encoded date : UTC 2016-09-28 05:54:39
Tagged date : UTC 2016-09-28 07:15:43
Writing library : Apple QuickTime
©TIM : 00:00:00:00
©TSC : 25
©TSZ : 1

Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : [email protected]
Format settings, CABAC : No
Format settings, ReFrames : 2 frames
Format settings, GOP : N=1
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 32mn 13s
Bit rate mode : Variable
Bit rate : 9 975 Kbps
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 25.000 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.192
Stream size : 2.25 GiB (97%)
Language : English
Encoded date : UTC 2016-09-28 05:54:39
Tagged date : UTC 2016-09-28 07:15:43
Color primaries : BT.709
Transfer characteristics : BT.709
Matrix coefficients : BT.709

Audio
ID : 2
Format : AAC
Format/Info : Advanced Audio Codec
Format profile : LC
Codec ID : 40
Duration : 32mn 13s
Source duration : 32mn 13s
Bit rate mode : Constant
Bit rate : 320 Kbps
Nominal bit rate : 128 Kbps
Channel(s) : 2 channels
Channel positions : Front: L R
Sampling rate : 48.0 KHz
Compression mode : Lossy
Stream size : 73.7 MiB (3%)
Source stream size : 73.8 MiB (3%)
Language : English
Encoded date : UTC 2016-09-28 05:54:39
Tagged date : UTC 2016-09-28 07:15:43

Some concerns

I hope I don't irritate you with the torrent of issues I am posting, my only intention is to make you aware of some problems I've noticed. Also, I am by no means an expert programmer, so forgive me if I am missing something in a lot of these issues.

That being said, I have noticed a few things that strike me as odd:

  1. Does wait_after_sync do anything at all? It looks like it is just set to the current time, and then 5 seconds later reset to False.

  2. Is there any reason you are using \x1b[C for right/left arrow instead of \x1B[C? I am surprised it is not case sensitive to be honest.

  3. Why in your build of omxplayer does repeatadly pressing the right-arrow key move the playback to the very beginning?

  4. I don't know if this is crucial, but I think you are missing a millisecond in there. In the wait_for_sync conditional you are looking for a window of -0.1-0.1 or 0.2ms, whereas the TOLERANCE variable is set to 0.3ms

  5. Finally, any particular reason why you use a master-slave approach where all slaves must seek ahead (fast forward) then wait, as opposed to having the fastest player pause itself until either all the others catch up to it, or another player overtakes it in which case the other player would be assigned the role of the fastest player and it pauses itself. This seems so much more practical than fast forwarding 10s then pausing. This fast forward approach makes this script useless for shorter videos (~1 min). Again, I hope I am not missing something glaring.

Movie Unavailable from Master

I'm having a strange issue concerning the clients responding to the master.
I had this working before with all of the pi's connected over a local switcher no problem.
I then tried connecting the switcher to my router so that I could connect all of the pis to the internet, in doing this I had to change all of the static network settings for all of the pis so they would correspond to the appropriate network, gateway, broadcast, etc. settings for the router.
So I managed to get all of the pis to connect to the internet through the switcher connected to the router. I can ping each pi respectively from each other successfully, and I can connect to them via netatalk through my mac and execute commands, however whenever I try to launch omxplayer-sync clients, they seem to refuse to recognize the master that is playing back. Do you have any suggestions on what could resolve this? Please let me know if this makes sense and if you need any more supporting information. Thanks!

Black Screen at the end

Hi everyone and thank by this amaizing effort.

I used omxplayer-sync months ago, and I couldn´t avoid to show the terminal screen in each loop. The question is, is it possible to put a black screen when a new sync starts? Sometimes the videos are very short, so when the video finish get the terminal screen with the commands and it not very pretty. Please if there is any way to implement a black screen I´m very interested.

Thank very much.

README file misleading

I, personally, find the README file a little bit misleading. Here are a few reasons why, in case any one wants to address these issues:

  1. omxplayer-sync comes across as a binary file like the original omxplayer, when it is in fact a python script. This leads to problems with 2). It might help to rename it as will be described in 3)
  2. the version of omxplayer that you need to build/download for this to work is also called omxplayer. My initial understanding was that one first builds that version of omxplayer, then using that they build a second version which is what is stored here as this repo.
  3. It might help to rename you version of omxplayer as omxplayer-sync-build (or something like that) and then call this "script" omxplayer-sync-script
  4. Under USAGE it has

$ ./omxplayer-sync -h
...

But then under examples it has

master

omxplayer -v -m -x 255.255.255.255 movie.mp4
slave

omxplayer -v -l movie.mp4

I am assuming those, too, are supposed to be omxplayer-sync and NOT omxplayer, correct?

  1. The settings at the very bottom do not match with the settings in the actual script. Which are the correct ones to use?

Omxplayer won't respond to keyboard interrupt

I have omxplayer-sync working well on Raspbian Jessie 2016-09-23.
when I run "omxplayer-sync -mu /path/to/Video/vid.mp4" the file plays back perfectly
however I cannot use the keyboard to interrupt the playback.

Is there a way to overcome this limitation, as I am building a "kiosk" player for a gallery install
and need this functionality at times?

Also many thanks for working on this project is greatly appreciated.

Sync changes every loop

Hi everyone,

I have a problem with the sync. When I start the sync, for example first the Master and them the slave the sync use to work perfect but when the video finish and it start again there is a difference of frames. It´s very strange, because sometime at the begining sync perfect but sometimes not, I´m using the same video. I tried to adjust the sensibility in the conf file but it didn´t not work.

When the loop starts the sync needs 13 sencods to sync the slave with the master, and I told you up sometimes sync perfect after this 13 seconds and sometimes there are some frames of difference.

I tried with different videos, with a different switch, with a direct ethernet cable, etc.

My config is:

2 X Raspberry Pi 2
Conection between direct ethernet link.

Best Regards.

slave side video problem?

Hi,
I got video sync works, but how to make the slave side sync faster.
I mean on 00:00:00 properly.
thanks a lot!! I appreciate your lovely project!!

Stats/OMXMediaTime Issue

Sorry if this isn't the place for this question but it's driving me crazy so I thought I'd ask:

Using OMXPlayer b853c39 (popcornmix) the 'v:' stats bear no relation to the video position and do not increase. Does this script require a particular fork of OMXPlayer or video encoding?

Thanks

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.