2

I am setting up multiple rtsp streams on rpi2. The rpi will act like surveillance station. After some research I've managed to do that, here is my script below:

#!/bin/bash
screen -dmS camera1 sh -c 'omxplayer --win "0 37 960 577" "http://www.spruto.tv/get_file/1/38577f19393369cb2c5d785beb3c3ffc/80000/80730/80730.mp4?start=0"; exec bash'
screen -dmS camera2 sh -c 'omxplayer --win "960 37 1920 577" "http://www.spruto.tv/get_file/5/717a259eabde324b660eaf07d3b56c7f/110000/110197/110197.mp4?start=0"; exec bash'
screen -dmS camera3 sh -c 'omxplayer --win "0 577 960 1080" "http://www.spruto.tv/get_file/5/717a259eabde324b660eaf07d3b56c7f/110000/110197/110197.mp4?start=0"; exec bash'
screen -dmS camera4 sh -c 'omxplayer --win "960 577 1920 1080" "http://www.spruto.tv/get_file/1/38577f19393369cb2c5d785beb3c3ffc/80000/80730/80730.mp4?start=0"; exec bash'

The thing is when a stream got stuck due to latency or any other reasons, omxplayer quits.

I would like to add a loop to every line, which would basically check if the screen session exists, if not it would then start it.

Could anyone help me do that?

  • @alwi Hi. I see that you developed the project playstreamation. Can you please direct me on the right way to document the watchdog part ? I want to do the same thing for a MPEG2 http stream. I want to check if the stream is active (not by checking the pid) and if not do not kill the omxplayer. Just leave it hanging and retry to connect and reconnect stream. Thank you ! – badcata Mar 2 '17 at 13:20
-1

You may check GitHub project: playstreamation it seems to be made exactly for what you need.

-2

Replace each screen command for a loop:

while true; do omxplayer ....;done

So each time an omxplayer quits, it gets restarted.

  • As is, this will produce an infinite loop. – Jacobm001 Aug 11 '15 at 15:12
  • Isn't that the intent? It's not launching omxplayer in the background, so it will run in the foreground until it quits, then re-start. It's not overly sexy but it does look like it would work. – bobstro Sep 17 '17 at 19:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.