Whilst the most common setup is to have sequences with audio (mp3), there are a number of users who also have video effects played via a projector.
The different (common) combinations are:
- The master FPP (on a Raspberry PI) plays sequences with audio and has video being output via the HDMI connection of the PI.
- The master FPP (on a Raspberry PI) plays the sequences and audio (mp3) ; the video (mp4) plays on a secondary (Raspberry PI) FPP (slave) that is in sync with the master sequence/audio.
Tip: Please see section on Force HDMI Display and Force analog audio output during video playback
The videos should be created / saved as mp4. The PI supports the mp4 h.264 codec, but does not support the newer h.265 codec standard.
If your projector supports HDMI, use the HDMI output of the PI, else use the video port of the PI.
Ensure that the video's aspect ratio is the same as the projector's aspect ratio so that there are no black borders around the image when the PI plays it. The PI will scale the video to play full-screen but it will preserve the aspect ratio of the original video.
For the first scenario, the following are examples of implementations
- A script that evokes the playlist with video, followed by a call to run the sequence. There is no ‘synchronization’ between the sequence and video and the user needs to ensure that they are of similar time. The sleep statement is to cater for any misalignment.
#!/bin/sh while /bin/true do fpp -P ThisIsHalloween omxplayer thisishalloween.mp4 sleep 5 fpp -P Thriller omxplayer thriller.mp4 sleep 5 fpp -P Grinch omxplayer grinch.mp4 sleep 5 done
- Rip the audio track out of the .mp4 into an .mp3. (Several pieces of software can do this.)Sequence to the .mp3. Copy the sequence .fseq file to the FPP. Also copy the .mp4 (original movie) to the FPP. In the playlist, connect the two i.e. the fseq and the mp4.
Since the .mp3 was made from the .mp4, the timing should be identical.
Telling the FPP to play the .mp4 as the media, the .mp4 will play out of your video port, the audio from your audio port/device, and the sequence out of the ethernet port on the FPP.
Tip: If you have a sequence that does not have a matching video, you can create a blank video in any video editor and add the audio track to it. These videos are then just a background to the sequence.
- In the playlist, have an entry that is an event that runs the video in an event script. Then the next entry is the sequence. The video and sequence will run in parallel, but won’t be automatically synchronized.
Tip: If they do not start at the same time, add a delay /pause to the earlier one to align them.
For the second scenario:
Use events to fire off the videos on the remote Pi.
Create an empty event on the master and put it in the playlist. When the event fires on the master, it will also fire on the remote.
On the remote, setup the same event ID to run a script to start the video using the PlayVideo.sh script in the repository as an example.
The video plays on the remote but will not try each second to sync with the audio on the master.