Python общаться с omxplayer

Я хочу знать, когда omxplayer начнет проигрывать ссылку в прямом эфире. Некоторое время это занимает 4-5 секунд, иногда 6-7 секунд.

Когда я выполню os.system('omxplayer '+url)Я сразу получаю следующее сообщение:

no xset in (/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl)
which: no xrefresh in (/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl)

затем, когда начинается прямая трансляция (через 5-7 секунд), я получаю:

Video codec omx-h264 width 1280 height 720 profile 578 fps 25.000000
Audio codec aac channels 2 samplerate 44100 bitspersample 16
Subtitle count: 0, state: off, index: 1, delay: 0
V:PortSettingsChanged: 1280x720@25.00 interlace:0 deinterlace:0 anaglyph:0 par:1.00 layer:0 alpha:255

Я пытаюсь получить второе сообщение через подпроцесс. Но я никогда не получаю это. Как я могу получить второе сообщение или как я могу узнать, когда начинает работать omxplayer?

Спасибо

#!/usr/bin/python2

import sys, os, time
from subprocess import PIPE, Popen


url="http://livestreamlink.m3u8"


def Main():
    proc=Popen(['omxplayer',url], stdout=PIPE)
    time.sleep(5)
    print proc.communicate()[0]


if __name__ == "__main__":
    Main()

1 ответ

Попробуй это:

proc=Popen(['omxplayer',url], stdout=PIPE, stderr=PIPE)
print proc.communicate()   # remove [0]
Другие вопросы по тегам