Exemplo n.º 1
0
def play():
    global player

    if player:
        player.quit()

    filename = get_top() if mode == TOP20_MODE else get_random()
    episode = filename.replace('.mp4', '').replace('.mkv', '').split(' - ')
    color = TERM_COLORS.RANDOM
    isTop = ''

    # render top place if any
    if episode[0] in top_episode_list:
        isTop = 'Top# ' + str(20 - top_episode_list.index(episode[0])) + ' : '
        color = TERM_COLORS.TOP20

    print("\n\n\n Playing...")
    print(color + (Figlet(font=FONTS.SEASON, width=LINE_LENGTH)
                   ).renderText(isTop + 's' + episode[0].replace('x', ' e')) +
          TERM_COLORS.ENDC + "\r")

    print(TERM_COLORS.TITLE +
          (Figlet(font=FONTS.TITLE, width=LINE_LENGTH)
           ).renderText(episode[1].replace('ü', 'u').replace('ú', 'u').replace(
               'é', 'e').replace('á', 'a').replace('í', 'i').replace(
                   'ó', 'o').replace('ñ', 'n')) + TERM_COLORS.ENDC)

    player = OMXPlayer(Path(DIRECTORY + filename))
    player.set_aspect_mode('fill')
Exemplo n.º 2
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
Exemplo n.º 3
0
    def _show_video(self, video_uri, time_window, touch_enabled, text):
        pygame.display.flip()

        t_start = time.time()
        running = True
        try:
            player = OMXPlayer(video_uri)
            player.set_aspect_mode("stretch")
            while not player.is_playing():
                time.sleep(0.1)
        except Exception as e:
            raise Exception("Video not loaded. Error is: " + str(e))

        while time.time() - t_start < time_window and running:
            for event in pygame.event.get():
                if event.type == pygame.MOUSEBUTTONDOWN and touch_enabled:
                    running = False
                    player.quit()
                    break
            try:
                if not player.is_playing():
                    running = False
            except Exception as e:
                running = False

        try:
            if player.is_playing():
                player.quit()
        except Exception as e:
            pass

        self._show_black()
        return {'reaction_time': time.time() - t_start}
Exemplo n.º 4
0
def playMedia(path="../tests/media/test_media_1.mp4", duration=0, position=0):
    player = OMXPlayer(path, args=["--no-osd"])
    player.set_aspect_mode("fill")
    if position > 0:
        player.set_position(position)
    #player.duration() # this only works if this line is here
    if duration == 0:
        duration = player.duration() - position
    player.play()
    time.sleep(duration)
    player.quit()
Exemplo n.º 5
0
def playMedia(path="../tests/media/test_media_1.mp4", duration=0, position=0):
    player = OMXPlayer(path, args=["--no-osd"])
    player.set_aspect_mode("fill")
    if position > 0:
            player.set_position(position)
    #player.duration() # this only works if this line is here
    if duration == 0:
            duration = player.duration() - position
    player.play()
    time.sleep(duration)
    player.quit()
Exemplo n.º 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
Exemplo n.º 7
0
def play_video():
    player = OMXPlayer('video.mp4',
                       dbus_name='org.mpris.MediaPlayer2.omxplayer1',
                       args=['--loop', '--no-osd'])
    sleep(2.5)
    player.set_position(5)
    player.pause()
    sleep(2)
    player.set_aspect_mode('stretch')
    #player.set_fullscreen()
    # player.set_video_pos(0, 0, 200, 200)
    player.play()
    return player
Exemplo n.º 8
0
def video_loop(master):
    video_count = 0
    width = master.winfo_screenwidth()
    height = master.winfo_screenheight()
    while True:

        VIDEO_PATH = Path(my_videos[video_count])

        player = OMXPlayer(VIDEO_PATH)

        player.set_video_pos(width * 0.162, height * 0.147, width * 0.674,
                             height * 0.833)

        player.set_aspect_mode('fill')

        sleep(player.duration())

        player.quit()

        video_count = video_count + 1 if video_count < len(
            my_videos) - 1 else 0
from time import sleep
import logging
logging.basicConfig(level=logging.INFO)


VIDEO_1_PATH = "../tests/media/test_media_1.mp4"
player_log = logging.getLogger("Player 1")

player = OMXPlayer(VIDEO_1_PATH, 
        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")

# it takes about this long for omxplayer to warm up and start displaying a picture on a rpi3
sleep(2.5)

player.set_position(5)
player.pause()


sleep(2)

player.set_aspect_mode('stretch')
player.set_video_pos(0, 0, 200, 200)
player.play()

sleep(5)

player.quit()
Exemplo n.º 10
0
def playVideo(fileName,loop):


	print '*****************************************************************',fileName
	#print "Loop Value==>",loop
	for iteration in range(int(loop)):

		global lastLogDetails
		currentLogDetails = []
		currentLogDetails.append(fileName)
		currentLogDetails.append(datetime.datetime.now().strftime("%I:%M:%S %p"))
        	'''if (config.checkInternet()):
			playlistScheduling.postData([currentLogDetails,lastLogDetails])
		else:
			pass'''

		logging.info(currentLogDetails)
		lastLogDetails = []


		if('https://' in fileName or 'http://' in fileName):

                        try:
                                print ("Going To Play HTTP:")
                                os.system('pkill feh')
                                os.system('killall  omxplayer.bin')
				txt = 'timeout ' + str(30)+' chromium-browser -incognito -kiosk --disable-infobars --no-sandbox ' + fileName
				#print "Finla URL$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$",txt
                                os.system(txt)
                                #Add Log Details
                                break

                        except Exception as e:
                                logging.info('Web Page Error==>' + str(e))
                                pass
		
		elif('.mp4' in fileName):

			try:
				print "going to play"
        	                os.system('pkill feh')
				#time.sleep(3)

				player = OMXPlayer(addsPath + fileName)
        			player.set_aspect_mode('stretch')
				#timeElapsed, faces = captureImage()
				#time to run add
				duration = ml.getDuration(addsPath + fileName)
				if (config.checkInternet()):
					playlistScheduling.postData([currentLogDetails,lastLogDetails])
				else:
					pass
        			time.sleep(duration) # - timeElapsed )
				print "player quit"
        			player.quit()


				currentLogDetails.append(datetime.datetime.now().strftime("%I:%M:%S %p"))
				faces = 0
				currentLogDetails.append(faces)
				#print currentLogDetails
				logging.info(currentLogDetails)
				createLog([currentLogDetails])
				lastLogDetails = list(currentLogDetails)
				os.system('killall omxplayer.bin')


			except Exception as e:
				logging.info('OMX Player Error' + str(e))
				faces = 0
				pass
				#return



		elif('.jpg' in fileName or '.jpeg' in fileName or '.png' in fileName):
			
			try:
		        	os.system('('"feh -Z -F -Y " + addsPath + fileName + '&)')# + '&&(sleep ' + str(loop) + ')')
				faces = 0
				time.sleep(2)
				killFeh()
				#os.system('pkill feh')
				if (config.checkInternet()):
					playlistScheduling.postData([currentLogDetails,lastLogDetails])
				else:
					pass
				
				time.sleep(int(loop) - 2)
				
				currentLogDetails.append(datetime.datetime.now().strftime("%I:%M:%S %p"))
				currentLogDetails.append(faces)
				#print currentLogDetails
				logging.info(currentLogDetails)
				createLog([currentLogDetails])
				lastLogDetails = list(currentLogDetails)
				break

			except Exception as e:
				logging.info('Feh Error==>' + str(e))
				pass

		elif('.gif' in fileName):
			try:
				os.system('pkill feh')
				os.system('killall  omxplayer.bin')
				os.system("mplayer -fs -loop "+ str(loop) + " "  + addsPath + fileName)

				#Add Log Details
				break

			except Exception as e:
                                logging.info('Gif Player Error==>' + str(e))
                                pass
		"""
		elif('https://' in fileName or 'http://' in fileName):

			try:
				print ("Going To Play HTTP:")
                                os.system('pkill feh')
                                os.system('killall  omxplayer.bin')
				os.system('timeout 20 chromium-browser -kiosk ' + fileName)
                                #Add Log Details
                                break

                        except Exception as e:
                                logging.info('Web Page Error==>' + str(e))
                                pass

		"""

	"""
	try:
                print "going to play"
                os.system('pkill feh')
        except:
                pass
	"""
	#print "Going to update !! Video Player"
	#updatePlaylist()
	#time.sleep(2)
        return
Exemplo n.º 11
0
from pathlib import Path
from time import sleep
import logging
#import RPi.GPIO as GPIO

#GPIO.setmode (GPIO.BOARD)
#GPIO.setwarnings (False)

VIDEO_PATH = "/home/pi/Desktop/elephant.mp4"
player_log = logging.getLogger("Player1")


intro = OMXPlayer(VIDEO_PATH, ['-o', 'local'], dbus_name='org.mpris.MediaPlayer2.omxplayer1')

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

sleep(2.5)

intro.set_position(5)
intro.pause()

sleep(1)
intro.set_aspect_mode("letterbox")
intro.set_video_pos(50,100,1000,1000)

intro.play()

sleep(5)
intro.quit()
Exemplo n.º 12
0
    PORT = 55555
    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
    sock.bind((HOST, PORT))
    sock.listen(1)
    conn, addr = sock.accept()

vidPath = "raspi.avi"
player_log = logging.getLogger("Player 1")

player = OMXPlayer(vidPath, 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")

player.set_aspect_mode('stretch')
player.set_video_pos(0, 0, 700, int(512 * 2.14))
sleep(10)

if noCommMode:
    # for debugging
    player.set_position(120 * 60)
    #    player.play()
    #    sleep(1)
    #    player.pause()
    sleep(20)
    player.set_position(130 * 60)
    #    player.play()
    sleep(20)
    player.set_position(140 * 60)
    sleep(20)
Exemplo n.º 13
0
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)
player1.set_volume(videos[1].volume)
player1.set_aspect_mode(videos[1].aspect)
player1.show_video()
Exemplo n.º 14
0
    ]
    values = sorted(values, reverse=True)
    r = sum(values[:int(num_samples * 0.2)]) / int(num_samples * 0.2)
    #print (' Average audio intensity is r', int(r))
    time.sleep(.1)

    stream.close()
    p.terminate()
    return r


if (__name__ == '__main__'):

    VIDEO_PATH = "/home/pi/Desktop/rasto.mp4"
    player = OMXPlayer(VIDEO_PATH, args=['--no-osd', '--loop', '-b'])
    player.set_aspect_mode('fill')
    player.set_alpha(0)

    while (True):
        r = audio_int()  # To measure your  mic levels
        if r > 5000:
            alpha = alpha + 10
            if alpha > 255:
                alpha = 255
        else:
            alpha = alpha - 10
            if alpha < 0:
                alpha = 0

        print(alpha)
        player.set_alpha(alpha)
Exemplo n.º 15
0
class ScreenMovie(LcarsScreen):
    def setup(self, all_sprites):
        ############ Start base screen #############

        ### BASE_ui

        all_sprites.add(LcarsBackgroundImage(), layer=0)
        self.ui_screen_base = all_sprites.get_sprites_from_layer(0)

        all_sprites.add(LcarsTab(colours.COM2, 3, (50, 80)), layer=1)
        all_sprites.add(LcarsImageBlock(colours.BLUE5,
                                        pos=(50, 115),
                                        rectSize=(1688, 38)),
                        layer=1)
        all_sprites.add(LcarsTab(colours.COM2, 4, (50, 1810)), layer=1)

        all_sprites.add(LcarsTab(colours.COM2, 1, (953, 50)), layer=1)
        all_sprites.add(LcarsImageBlock(colours.BLUE5,
                                        pos=(953, 1361),
                                        rectSize=(443, 77)),
                        layer=1)
        all_sprites.add(LcarsBlockSmall(
            colours.BLUE6, (953, 116),
            "REWIND",
            self.rewHandler,
            textSize=.75,
            fontFace="assets/OpenSansCondensed-Bold.ttf"),
                        layer=2)
        all_sprites.add(LcarsBlockSmall(
            colours.BLUE6, (953, 365),
            "PLAY",
            self.playHandler,
            textSize=.75,
            fontFace="assets/OpenSansCondensed-Bold.ttf"),
                        layer=2)
        all_sprites.add(LcarsBlockSmall(
            colours.BLUE6, (953, 614),
            "F F",
            self.ffHandler,
            textSize=.75,
            fontFace="assets/OpenSansCondensed-Bold.ttf"),
                        layer=2)
        all_sprites.add(LcarsBlockSmall(
            colours.BLUE6, (953, 863),
            "STOP",
            self.stopHandler,
            textSize=.75,
            fontFace="assets/OpenSansCondensed-Bold.ttf"),
                        layer=2)
        all_sprites.add(LcarsBlockSmall(
            colours.BLUE6, (953, 1112),
            "BASE",
            self.mainHandler,
            textSize=.75,
            fontFace="assets/OpenSansCondensed-Bold.ttf"),
                        layer=2)
        all_sprites.add(LcarsImageBlock(colours.BLUE5,
                                        pos=(953, 1361),
                                        rectSize=(443, 77)),
                        layer=1)
        all_sprites.add(LcarsTab(colours.COM2, 2, (953, 1810)), layer=1)

        self.fileList = LcarsTextBlock(colours.BLUE6, (94, 365),
                                       self.dirlist(),
                                       rectSize=(1694, 781))
        all_sprites.add(self.fileList, layer=3)
        all_sprites.add(LcarsImageBlock(colours.BLUE2,
                                        pos=(94, 116),
                                        text="01-3906",
                                        rectSize=(243, 100)),
                        layer=3)
        all_sprites.add(LcarsImageBlock(colours.BLUE3,
                                        pos=(200, 116),
                                        text="96-4783",
                                        rectSize=(243, 500)),
                        layer=3)
        all_sprites.add(LcarsImageBlock(colours.BLUE4,
                                        pos=(706, 116),
                                        text="32-6487",
                                        rectSize=(243, 163)),
                        layer=3)
        all_sprites.add(LcarsElbow(colours.BLUE5, 0, (875, 116)), layer=3)
        all_sprites.add(LcarsImageBlock(colours.BLUE4,
                                        pos=(904, 398),
                                        rectSize=(1074, 43)),
                        layer=3)
        all_sprites.add(LcarsImageBlock(colours.BLUE3,
                                        pos=(875, 1478),
                                        rectSize=(44, 72)),
                        layer=3)
        all_sprites.add(LcarsElbow(colours.BLUE5, 3, (875, 1528)), layer=3)
        self.file_address = LcarsText(
            colours.BLACK, (900, 450),
            "NO MEDIA SELECTED",
            textSize=.75,
            fontFace="assets/OpenSansCondensed-Bold.ttf")
        all_sprites.add(self.file_address, layer=3)

        self.list_block = all_sprites.get_sprites_from_layer(3)

        #self.VIDEO_1_PATH = "./assets/video/LittleShopofHorrors1960Color.mp4"
        ### sound effects
        self.beep1 = Sound("assets/audio/panel/201.wav")
        self.lastClockUpdate = 0
        #Sound("assets/audio/panel/220.wav").play()

        ############ End base screen #############

    def dirlist(self, dirPath='./assets/video'):
        #os.scandir(dirPath)
        file_names = []
        for item in os.scandir(dirPath):
            if item.is_file() or item.is_dir():
                file_names.append(item.name)
        return file_names

    def update(self, screenSurface, fpsClock):
        if pygame.time.get_ticks() - self.lastClockUpdate > 500:
            if self.fileList.visible == True:
                if self.fileList.get_state() == None:
                    self.file_address.setText("NO MEDIA SELECTED")
                else:
                    self.file_address.setText(self.fileList.get_state())
            self.lastClockUpdate = pygame.time.get_ticks()
        LcarsScreen.update(self, screenSurface, fpsClock)

    def handleEvents(self, event, fpsClock):
        if event.type == pygame.MOUSEBUTTONDOWN:
            self.beep1.play()

        if event.type == pygame.MOUSEBUTTONUP:
            return False

    def playHandler(self, item, event, clock):
        try:
            self.player.play_pause()
        except:
            try:
                self.VIDEO_1_PATH = './assets/video/' + self.fileList.get_state(
                )
                self.player = OMXPlayer(
                    self.VIDEO_1_PATH,
                    dbus_name='org.mpris.MediaPlayer2.omxplayer1')
                self.player.set_aspect_mode('stretch')
                self.player.set_video_pos(116, 94, 1804, 947)
                self.player.set_alpha(255)
                self.showhide(self.list_block)
            except:
                pass

    def rewHandler(self, item, event, clock):
        try:
            self.player.action(omxkey.REWIND)
        except:
            pass

    def showhide(self, listofitems):
        for items in listofitems:
            items.visible = not items.visible

    def stopHandler(self, item, event, clock):

        try:
            self.player.stop()
            self.showhide(self.list_block)
        except:
            pass

    def ffHandler(self, item, event, clock):
        try:
            self.player.action(omxkey.FAST_FORWARD)
        except:
            pass

    ###### Screen Handling #####

    def mainHandler(self, item, event, clock):
        try:
            self.player.stop()
        except:
            pass
        from screens.base import ScreenBase
        self.loadScreen(ScreenBase())

    def logoutHandler(self, item, event, clock):
        from screens.authorize import ScreenAuthorize
        self.loadScreen(ScreenAuthorize())

    def libraryHandler(self, item, event, clock):
        from screens.library import ScreenLibrary
        self.loadScreen(ScreenLibrary())