Seite 1 von 1

VLC RemoteInterface für Smartphone

Verfasst: Donnerstag 19. Februar 2009, 00:23
von ms4py
Bin gerade dabei ein VLC RemoteInterface für mein Smartphone zu entwickeln.
Dabei setze ich PythonCE mit PocketPyGui ein um das GUI zu erstellen.
Die Steuerung selbst erfolgt mittels XML-RPC über das WLAN.
Auf dem PC sende ich mit "cURL" HTTP-Requests an das VLC Remote HTTP Interface.

Ansatz mit Start/Pause ist schon vorhanden:

Interface:

Code: Alles auswählen

import ppygui as gui
import xmlrpclib

class MainFrame(gui.CeFrame):
	def __init__(self):
		gui.CeFrame.__init__(self, title="VLC Remote Controller",
						  action=('Start-Pause', self.on_click))
		self.label = gui.Label(self, "VLC Remote Controller")
		sizer = gui.VBox(border=(2,2,2,2), spacing=2)
		sizer.add(self.label)
		self.sizer = sizer
		self.cli = xmlrpclib.ServerProxy("http://192.168.2.200:1337") 

	def on_click(self, event):
		self.cli.pause_vlc()

if __name__ == '__main__':
	app = gui.Application(MainFrame())
	app.run()
XML-RPC-Server:

Code: Alles auswählen

from SimpleXMLRPCServer import SimpleXMLRPCServer as Server
import os

def pause_vlc():
	os.system("vlc.bat")
	return 0

srv = Server(("", 1337)) 
srv.register_function(pause_vlc)
srv.serve_forever()
vlc.bat:

Code: Alles auswählen

@echo off
set ip=127.0.0.1
set port=8080

cd C:\PortableApps\curl
curl -s --connect-timeout 3 %ip%:%port% -d control=pause -G > http-data
Die Befehle der Batchdatei übernehme ich noch in den Server mit dem subprocess-Modul.

Bin sehr interessiert an Vorschlägen, Ideen und Kritik.

Gruß ice

Verfasst: Freitag 20. Februar 2009, 18:16
von ms4py
Keiner was dazu zu sagen? :?

Verfasst: Samstag 21. Februar 2009, 18:25
von str1442
Benutz das subprocess Modul anstatt os.system.

Re: VLC RemoteInterface für Smartphone

Verfasst: Montag 2. März 2009, 12:03
von ms4py
str1442 hat geschrieben:Benutz das subprocess Modul anstatt os.system.
ice2k3 hat geschrieben: Die Befehle der Batchdatei übernehme ich noch in den Server mit dem subprocess-Modul.
Ist das alles, was man dazu sagen kann :(

Verfasst: Montag 2. März 2009, 13:15
von audax
Ich würd nicht curl nutzen, sondern den Aufruf direkt in Python durchführen.

Ansonsten...naja, ist ja nicht nicht viel zu sehen :D

Evtl. würde ich gar nicht erst den Umweg über xmlrpc gehen, sondern direkt das vlc-Interface aufrufen.