Я хочу знать, когда omxplayer начнет играть ссылку в реальном времени. Некоторое время это занимает 4-5 секунд несколько раз 6-7 секунд.Python общается с omxplayer
Когда я исполняю 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: [email protected] 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()
вы хотите получать сообщения, а процесс все еще работает? Если вы запустите его в терминале как «omxplayer $ url | & cat'; Вы видите сообщения за 5-7 секунд (до выхода 'omxplayer')? См. [Python subprocess readlines() зависает] (http://stackoverflow.com/q/12419198/4279) – jfs