Exemple #1
0
    def playerFactory(filename, logger):
        '''
        Creates an instance of OMXPlayer the starting state
        we desire.

        If filename does not exist (or is None), generates a Mock devices
        with equivalent functionality (but no media output)
        '''

        if filename is not None and not os.path.isfile(filename):
            logger.warning("Media file: {} DOES NOT EXIST".format(filename))
            filename = None  # force try to fail quickly below

        try:
            player = OMXPlayer(filename,
                               dbus_name='org.mpris.MediaPlayer2.omxplayer1',
                               args=['-b', '-o', 'both'])
        except Exception as e:
            player = omxPlayerMock(filename)

        player.playEvent += lambda _: logger.debug("Play")
        player.pauseEvent += lambda _: logger.debug("Pause")
        player.stopEvent += lambda _: logger.debug("Stop")

        while True:
            try:
                player.hide_video()
                player.pause()
                break
            except Exception as e:
                logger.exception("Exception in playerFactory")
                sys.exit(1)
        return player
Exemple #2
0
class Video_Player:
    def __init__(self, player_id, video_path):
        self.player_id = player_id
        self.video_path = video_path
        self.player = OMXPlayer(video_path,
                                args=['--loop'],
                                dbus_name="org.mpris.MediaPlayer2.player" +
                                player_id)
        sleep(2)

    #

    def load(self, video_path):
        self.player.hide_video()
        self.video_path = video_path
        self.player.load(video_path)

    def play(self):
        self.player.play()
        self.player.show_video()

    def pause(self):
        self.player.hide_video()
        self.player.pause()

    def stop(self):
        self.player.stop()
Exemple #3
0
def playVideo(video, player_log):

    if Path(video.path).is_file():

        player = OMXPlayer(video.path, dbus_name='org.mpris.MediaPlayer2.omxplayer1', args=['--loop'])

        player.playEvent += lambda _: player_log.info("Play")
        player.pauseEvent += lambda _: player_log.info("Pause")
        player.stopEvent += lambda _: player_log.info("Stop")

        player.hide_video()

        player.set_position(video.start)
        player.set_volume(video.volume)

        if video.crop != None:
            player.set_video_crop(video.crop[0], video.crop[1], video.crop[2], video.crop[3])

        player.set_aspect_mode(video.aspect)

        player.show_video()
        player.play()

        return player

    else:

        return None
Exemple #4
0
def start_video_player(
):  # Starte OMX Videoplayer der am unteren Bildschirmrand angezeigt wird
    # TODO global variablen checken, file_list muss ziemlich sicher nicht global sein,
    #  video_player wahrscheinlich auch nicht, first_time_video_played wird gar nicht benutzt
    global file_list, video_player, index_video, first_time_video_played
    print("Laenge von Filelist: {}".format(len(file_list)))
    t = threading.currentThread()
    index_video = 0
    while getattr(t, "running", True):
        if len(file_list) > 0:
            print("File exists: {}".format(
                os.path.exists(file_list[index_video])))
            if os.path.exists(file_list[index_video]):
                filey = file_list[index_video]
                print("VIDEO Playing {}".format(filey), flush=True)
                t = threading.Event()
                index_video = index_video + 1
                if index_video > len(file_list) - 1:
                    index_video = 0
                try:
                    video_player_playing = video_player.is_playing()
                except:
                    video_player_playing = False

                if not video_player_playing:
                    video_player = OMXPlayer(
                        filey,
                        args=[
                            '--orientation', '270', '--win',
                            '1312,0,1920,1080', '--no-osd', '--vol',
                            '-10000000'
                        ],
                        dbus_name='org.mpris.MeidlaPlayer2.omxplayer1')

                else:
                    video_player.load(filey)

                try:
                    duration_of_video = video_player.duration() + 3
                except:
                    duration_of_video = 3
                    print("duration of video failed", flush=True)

                print(duration_of_video, flush=True)
                video_player.mute()
                if max_people_reached():
                    video_player.hide_video()
                video_player.play_sync()
                sleep(3)
                # sleep(duration_of_video)
            else:
                break
        else:
            break
Exemple #5
0
def start_video_player():
    global file_list, video_player, index_video, first_time_video_played
    print("Laenge von Filelist: {}".format(len(file_list)))
    t = threading.currentThread()
    index_video = 0
    while getattr(t, "running", True):
        if len(file_list) > 0:
            print("File exists: {}".format(
                os.path.exists(file_list[index_video])))
            if os.path.exists(file_list[index_video]):
                filey = file_list[index_video]
                print("VIDEO Playing {}".format(filey), flush=True)
                t = threading.Event()
                index_video = index_video + 1
                if index_video > len(file_list) - 1:
                    index_video = 0

                try:
                    video_player_playing = video_player.is_playing()
                except:
                    video_player_playing = False
                print(video_player_playing)
                if not video_player_playing:
                    video_player = OMXPlayer(
                        filey,
                        args=[
                            '--orientation', '270', '--win',
                            '1312,0,1920,1080', '--no-osd', '--vol',
                            '-10000000'
                        ],
                        dbus_name='org.mpris.MeidlaPlayer2.omxplayer1')

                else:
                    video_player.load(filey)

                try:
                    duration_of_video = video_player.duration() + 3
                except:
                    duration_of_video = 3
                    print("duration of video failed", flush=True)

                print(duration_of_video, flush=True)
                video_player.mute()
                if max_people_reached():
                    video_player.hide_video()
                video_player.play_sync()
                sleep(3)
                #sleep(duration_of_video)
            else:
                break
        else:
            break
Exemple #6
0
    def initPlayer(self, video, dbusName, log):

        player = OMXPlayer(video.path, dbus_name=dbusName, args=['--loop'])

        player.hide_video()
        player.pause()
        player.set_position(video.start)
        player.set_volume(video.volume)
        player.set_aspect_mode(video.aspect)

        player.active = False

        return player
Exemple #7
0
def prepare_player(player: OMXPlayer, name: str = "player"):
    player.playEvent += lambda _: player.show_video()
    player.pauseEvent += lambda _: player.hide_video()
    add_player_log(player, name)
                   dbus_name='org.mpris.MediaPlayer2.omxplayer1')
player.playEvent += lambda _: player_log.info("Play")
player.pauseEvent += lambda _: player_log.info("Pause")
player.stopEvent += lambda _: player_log.info("Stop")
player2 = OMXPlayer(VIDEO_2_PATH,
                    args=['--loop'],
                    dbus_name='org.mpris.MediaPlayer2.omxplayer2')

#logger.debug("-----------------------------------b-----------------")
player2.playEvent += lambda _: player_log.info("Play")
player2.pauseEvent += lambda _: player_log.info("Pause")
player2.stopEvent += lambda _: player_log.info("Stop")

# it takes about this long for omxplayer to warm up and start
# displaying a picture on a rpi3
player.hide_video()
sleep(2.5)
try:
    while True:
        if GPIO.input(button1) == 0:
            #logger.debug("button 1 == 1")
            player.hide_video()
            player2.show_video()

        else:
            player2.hide_video()
            player.show_video()

except:
    logger.error
    player.quit()
Exemple #9
0
#!/usr/bin/env python3

from omxplayer.player import OMXPlayer
from pathlib import Path
from time import sleep

VIDEO_PATH00 = Path("/home/pi/Miac/01.mp4")
player00 = OMXPlayer(VIDEO_PATH00, args='-b')
player00.pause()
player00.hide_video()
sleep(2)

VIDEO_PATH = Path("/home/pi/Miac/03.mp4")
player = OMXPlayer(VIDEO_PATH)
sleep(1)
player.quit()

player.load(VIDEO_PATH)
sleep(2)

player.pause()
print(player.stopEvent)
sleep(2)
player.hide_video()
sleep(2)
player.show_video()
player.quit()

sleep(3)
player00.quit()
Exemple #10
0
videos.append(video('../shared/river.mp4', None, 'fill', 0, 0.5))
videos.append(video('../shared/testcard.mp4', None, 'fill', 0, 0.35))
videos.append(video('../shared/timer.mp4', None, 'fill', 10, 0.35))

player_log = logging.getLogger("Player 1")


# Create player 1
player1 = OMXPlayer(videos[0].path, dbus_name='org.mpris.MediaPlayer2.omxplayer1', args=['--loop'])

player1.playEvent += lambda _: player_log.info("Play")
player1.pauseEvent += lambda _: player_log.info("Pause")
player1.stopEvent += lambda _: player_log.info("Stop")

player1.pause()
player1.hide_video()
player1.set_position(videos[0].start)
player1.set_volume(videos[0].volume)
player1.set_aspect_mode(videos[0].aspect)

# Show player 1
player1.show_video()
player1.play()

sleep(5)

# Load player 1 with video 2
player1.pause()
player1.hide_video()
player1.load(videos[1].path, pause=True)
player1.set_position(videos[1].start)