Annonce

>>> Bienvenue sur codelab! >>> Première visite ? >>> quelques mots sur codelab //// une carte des membres//// (apéros) codelab


#1 2016-03-28 10:36:25 Script Python - OMX player et quelques boutons

jeremixogg
nouveau membre
Date d'inscription: 2016-02-13
Messages: 5

Script Python - OMX player et quelques boutons



Salut a tous

Je cherche à réaliser un lecteur vidéo simple a partir d'un Raspberry 2 avec un petit script en Python.
On appuie sur un bouton 1 : OMXplayer se lance et lit une vidéo en plein écran
On appuie sur le bouton 2 : OMXplayer s’arrête et on retombe sur le bureau

Mon problème c'est de trouver le stop pour OMXplayer, j'ai vu des solutions tres differentes qui m'embrouillent.
Une partie de mon problème vient du fait qu'avec la méthode que j'ai trouvé, je n'ai pas accès a la commande 'q' qui permet de quitter comme expliqué dans la doc
j'ai beau taper 'q'" pendant que la video tourne, il ne se passe absolument rien (et je ne peux plus rien faire non plus vu que la vidéo tourne en plein écran)
J'ai testé sur 2 raspberry differentes avec des installes toutes fraiches et à jour...

Pour contourner le problème j'ai mélangé avec un bouton qui fait arrêter le raspberry, mais ce n'est pas ce que je souhaite au final

Je débute pas mal avec le python, si quelqu'un pouvait me lancer sur la bonne piste, ça serait vraiment sympa.

Pour l'instant mon script ressemble à ça :

Code (langage) :

Dernière modification par jeremixogg (2016-03-28 10:38:49)

Hors ligne

 

#2 2016-03-28 10:39:49 Re : Script Python - OMX player et quelques boutons

jeremixogg
nouveau membre
Date d'inscription: 2016-02-13
Messages: 5

Re: Script Python - OMX player et quelques boutons



je mets le code ici
j'ai beau le mettre dans les balises, il a l'air de pas passer ???

import subprocess, time
import RPi.GPIO as GPIO
INPUT_PIN = 3

GPIO.setmode(GPIO.BOARD) ## Use board pin numbering
GPIO.setup(INPUT_PIN, GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.setup(23, GPIO.IN, pull_up_down=GPIO.PUD_UP)

def extinction(channel):
     print("Appui détecté sur le GPIO 23")
     GPIO.cleanup()
     os.system('sudo halt')

video_started = False
play_process = None
val = -1

GPIO.add_event_detect(23, GPIO.FALLING, callback=extinction)

while True:
    val = GPIO.input(INPUT_PIN)
    if val == 0: # Button pressed
        print("Button pressed")
        if not video_started:
            play_process = subprocess.Popen(['omxplayer','../resources/video.mov'],
                stdin=subprocess.PIPE,
                stdout=subprocess.PIPE,
                stderr=subprocess.PIPE,
                close_fds=True)
    if play_process != None:
        video_started = play_process.poll() == None
    else:
        video_started = False
    print("Video started : %s" % video_started)
    time.sleep(0.2)

Hors ligne

 

#3 2016-03-28 16:36:10 Re : Script Python - OMX player et quelques boutons

Tepaze
membre
Lieu: Angers
Date d'inscription: 2014-04-14
Messages: 202

Re: Script Python - OMX player et quelques boutons



Salut jeremixogg,

J'ai eu un problème similaire il y a peu de temps. Le problème est que pour que l'appuie sur "q" fonctionne, il faut que le focus soit sur omxplayer, ou sur le terminal qui a lancé la lecture.

Donc, un début de réponse : http://codelab.fr/5980 et le lien que le sujet contient.

Hors ligne

 

#4 2016-03-28 18:00:15 Re : Script Python - OMX player et quelques boutons

jeremixogg
nouveau membre
Date d'inscription: 2016-02-13
Messages: 5

Re: Script Python - OMX player et quelques boutons



Un pote m'a parlé de cette librairie
https://github.com/willprice/python-omxplayer-wrapper

je crois que je vais tenter quelque chose par là

Hors ligne

 

fil rss de cette discussion : rss

Pied de page des forums

Powered by FluxBB

codelab, graphisme & code : emoc / 2008-2024