dugar
Авг. 25, 2010 19:47:34
Попробовал что посоветовали. Остановился пока на mplayer, он мне нужен ещё кое где. Подскажите, пожалуйста, почему при запуске видео так:
def widget_xid(sender, widget):
box5.show()
da.show()
os.system(“mplayer tv:// -tv driver=v4l2:width=640:height=480:device=/dev/video0 -wid %i” % (widget.window.xid)
теряется контроль над программой (фактически зависает), хотя воспроизведение видео продолжается?
pasaranax
Авг. 25, 2010 20:17:15
dugar
теряется контроль над программой (фактически зависает), хотя воспроизведение видео продолжается?
На команды что ли не реагирует? А на выходе что выдает?
dugar
Авг. 25, 2010 20:24:58
pasaranax
dugar
теряется контроль над программой (фактически зависает), хотя воспроизведение видео продолжается?
На команды что ли не реагирует? А на выходе что выдает?
Как раз из консоли mplayer управляется, а вот активные элементы в программе не работают. Т.е. пока mplayer работает, программа нет - останавливаю mplayer из консоли, управление программе возвращается.
Lexander
Авг. 26, 2010 00:00:42
У меня 3 мысли по этому поводу:
1. а может быть так и надо и это фича опции -wid? Тогда уберите GUI плеера вообще. По крайней мере определить просто - уберите опцию и посмотрите на результат.
2. что в конфиг-файле плеера, может быть там что-то спрятано?
3. вы ведь используете режим захвата. Какие контролы вам нужны в этом режиме, не перемотка же? :) Может быть именно в этом режиме контролы становятся недоступны.
pasaranax
Авг. 26, 2010 04:18:38
А, ну понятно. Надо mplayer запускать отдельным потоком, а не через os.system, а то получается, что пока os.system не завершится, управление программе не вернется. Посмотри, как это сделано в примере по ссылке, что я дал.
dugar
Авг. 26, 2010 20:38:11
pasaranax
… получается, что пока os.system не завершится, управление программе не вернется…
Вот блин, и как я это прозевал((? Спасибо огромное!