omxplayer和omxplayerd.py - 这个脚本有什么问题?
我一直在尝试在我的Debian Wheezy Raspberry Pi上运行这个小程序,但遇到了一些麻烦。
我想创建一个简单易用的视频播放界面,这个程序看起来很合适,但视频文件可以播放,却无法暂停、停止、快进等等。
我觉得问题可能出在这里:
def omx_send(data):
subprocess.Popen('echo -n '+data+' >'+re.escape(OMXIN_FILE),shell=True)
return 1
还有启动视频播放器omxplayer的那部分。我感觉这可能和处理stdout
和stdin
不正确有关,但如我所说,我并不太确定。
def omx_play(file):
#omx_send('q')
#time.sleep(0.5) #Possibly unneeded - crashing fixed by other means.
subprocess.Popen('killall omxplayer.bin',stdout=subprocess.PIPE,shell=True)
subprocess.Popen('clear',stdout=subprocess.PIPE,shell=True)
subprocess.Popen('omxplayer -o hdmi '+os.path.join(MEDIA_RDIR,re.escape(file))+' <'+re.escape(OMXIN_FILE),shell=True)
omx_send('.')
return 1
我对Python了解不够,搞不清楚发生了什么。
就我所见,数据是正确传递给omx_send
的,当按下某个无法工作的按钮(比如暂停)时,终端会显示这个信息:
"HTTP/1.1 GET /pause" - 200 OK
有没有什么建议可以帮我解决这个问题?我只需要这些小按钮能正常工作,这样就能成为一款完美的易用软件了。
谢谢。
1 个回答
0
你可以使用随 omxplayer 一起提供的基于 DBUS 的 shell 脚本。
https://github.com/popcornmix/omxplayer/blob/master/dbuscontrol.sh