LINUX.ORG.RU

mplayerctrl python

 


0

2

Есть такая программка - из сети получает поток и воспроизводит его в mplayer. Здесь все работает ок.

import socket
import subprocess
import threading
def server():
    cmdline = 'mplayer -fps 30 -cache 1024 -'
    player = subprocess.Popen(cmdline.split(), stdin=subprocess.PIPE)
    while True:
        data = client.recv(1024)
        player.stdin.write(data)
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(('0.0.0.0', 60000))
s.listen(1)
client, addr = s.accept()
thread = threading.Thread(target=server)
thread.daemon = True
thread.start()
Вопрос, как сделать тоже самое только с mplayerctrl и wxpython. Как организовать передачу данных в stdin mplayerctrl?. Как сделать pipe между server и процесом в виджете? В мануале к mplayerctrl есть только Loadfile.Если предварительно сохранять данные в файл, то работает, но это нето… вот код. Спасибо
import wx
import socket
import MplayerCtrl as mpc
import threading
class Frame(wx.Frame):
    def __init__(self):
        wx.Frame.__init__(self, None, wx.ID_ANY)
        self.mpc = mpc.MplayerCtrl(self, wx.ID_ANY, 'mplayer',mplayer_args=('-cache','1024','-fps','30','-'))
        self.Show()
       
def server():
    while True:
        data = client.recv(1024)
         
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(('0.0.0.0', 60000))
s.listen(1)
client, addr = s.accept()
application = wx.App()
Main = Frame()
thread = threading.Thread(target=server)
thread.daemon = True
thread.start()
application.MainLoop()



Последнее исправление: jony_77 (всего исправлений: 1)

mplayer сам умеет из сети воспроизводить, зачем нужны эти твои костыли с колесами и рулем?

ei-grad ★★★★★
()
Ответ на: комментарий от ei-grad

это верно, mplayer поддерживает потоковое воспроизведение через HTTP/FTP, RTP/RTSP, MMS/MMST, MPST, SDP. только вот мое клиентское приложение не умеет передавать в таком виде...

jony_77
() автор топика
Ответ на: комментарий от deadNightTiger

Теорию я знаю, как реально сделать?

jony_77
() автор топика
Ответ на: комментарий от ei-grad

Но вообще посмотрев на код MplayerCtrl я ужаснулся. Думаю ты с ним еще наловишь граблей.

ei-grad ★★★★★
()
Ответ на: комментарий от ei-grad

и правда !!! работает. спасибо тебе мил человек. только вот примеров таких почему-то нигде не встречал. док по mplayer весь прочитал

jony_77
() автор топика
6 июля 2016 г.
Ответ на: комментарий от ei-grad

а можно примерчик? не могу понять куда вставлять эту строку

foboss67
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.