{ "info": { "author": "Mike Elson", "author_email": "mike.elson@gmail.com", "bugtrack_url": null, "classifiers": [ "Framework :: Django", "Intended Audience :: End Users/Desktop", "License :: OSI Approved :: GNU General Public License (GPL)", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 2.7", "Topic :: Internet :: WWW/HTTP", "Topic :: Multimedia :: Sound/Audio", "Topic :: Software Development" ], "description": "Carrie Remote Control\n=====================\n\nIntroduction\n------------\n\nThis is a remote control tool to control media playback via network commands. The media player must be a Linux machine and the controller can be a web browser or Android device.\n\nThe players supported are:\n\n- Youtube on Firefox or Chromium browser.\n- BBC iPlayer on Firefox or Chromium.\n- mplayer\n\nThis project is not a media center. There is no function to start media playback or change the file being played. `carrie` is used only to control a video which is already playing. The functions available are:\n\n- Play/pause\n- Toggle full screen\n- Volume up annd down\n- Mute\n\nIf the client player is `mplayer` then these additional functions are available:\n\n- Skip forwards/backwards\n- Toggle fullscreen, OSD, subtitle visibility\n- Change audio and subtitle languages.\n\nScreenshots\n-----------\n\nSee the `doc` directory.\n\nHow does it work?\n-----------------\n\n`carrie` is a process running on the machine doing the media playback. It opens a port (5505 by default) and supplies a simple web interface. Alternatively the `carrie` Android application can send commands to the same port from an Android phone or tablet..\n\nWhen a command is received the server will attempt to control a web browser showing Flash video. If one is not found then the server will try to control mplayer via a FIFO object - this uses the 'slave mode' feature of `mplayer`. `mplayer` must be configured in advance to listen on the FIFO.\n\nLimitations\n-----------\n\nSince there is no API for communicating with Flash video, the server process sends fake mouse events for control. This has to be configured for each combination of browser and video site.\n\nLicense\n-------\n\nThe server and application are licensed under the GPLv3.\n\nWhy use this and not another remote control?\n--------------------------------------------\n\nThere are other remote controls for Android devices with more functions. `carrie` is for users who already have a method they use to start media playback, and just want to add some remote functions.\n\nOther remote controls I would recommend are:\n\n- sshmote: A media center for Android. Does not need any special server software except a Unix compatible OS running an SSH server.\n- teamviewer: Take control of a Windows or Linux machine from a web browser or phone.\n\nRequirements\n------------\n\nTo run the server:\n\n- Python 2.7+ (programming language)\n- Flask (lightweight Python web server framework)\n- xdotool (command line tool to fake mouse and keyboard events)\n- xwininfo (command line tool to read window information)\n\nTo control the server:\n\n- A web browser\n\nTo use the mobile phone applet:\n\n- Android device running Android Froyo (2.1) or later\n\nServer installation\n-------------------\n\nFirst install the server software::\n\n > sudo pip install carrie\n\nor from source::\n\n > python setup.py build\n > sudo python setup.py install\n\nor without root access::\n\n (download and uncompress tarball from http://pypi.python.org/pypi/carrie)\n > python setup.py build\n > virtualenv $HOME/.carrie-env\n > . $HOME/.carrie-env/bin/activate\n > python setup.py install\n\nTo configure `mplayer` to accept commands over a FIFO, edit `$HOME/.mplayer/config` and add this line::\n\n input=file=/tmp/mplayer.fifo\n\nAny new instances of mplayer will connect to the FIFO and listen to commands. This doesn't affect normal mplayer usage. The FIFO will be created by `carrie` on startup, or maually with::\n\n > mkfifo /tmp/mplayer.fifo\n\nStart the server\n----------------\n\nRun::\n\n > carrie\n\nThis will start the server and listen on port 5505, using a FIFO on /tmp/mplayer.fifo to communicate with mplayer. The FIFO will be created if it doesn't already exist.\n\nRun::\n\n > carrie -h\n\nto see available options.\n\nTo run in the background detached from the terminal use::\n\n > nohup carrie 2>&1 > /dev/null &\n\nControl via browser\n-------------------\n\nOpen a web browser and visit::\n\n http://:5505\n\nFor controlling Flash video this should be done from a different window, or different computer, from the screen showing the video. It is not possible to control videos on one tab from a different tab.\n\nAndroid application installation\n--------------------------------\n\nEither download the full project from GitHub and compile the Android application, or search for Carrie on the Android marketplace.\n\nChanges and news\n----------------\n\n0.3 (2012-01-06)\n~~~~~~~~~~~~~~~~\n\n * Added 'About' server page, release application to Android marketplace.\n\n0.2 (2012-01-05)\n~~~~~~~~~~~~~~~~\n\n * Initial pypi release", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/mjem/carrie", "keywords": "mplayer youtube iplayer android", "license": "GPL", "maintainer": null, "maintainer_email": null, "name": "carrie", "package_url": "https://pypi.org/project/carrie/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/carrie/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://github.com/mjem/carrie" }, "release_url": "https://pypi.org/project/carrie/0.3/", "requires_dist": null, "requires_python": null, "summary": "Remote control of media players via web or Android phone", "version": "0.3" }, "last_serial": 787247, "releases": { "0.2": [ { "comment_text": "", "digests": { "md5": "948a3e6d339fee3f35d766dd1f93b9e2", "sha256": "fdb65d9994cbdb75468db9f27dbb703b6e91fe47019871dce19dacd0f28ffa79" }, "downloads": -1, "filename": "carrie-0.2.tar.gz", "has_sig": false, "md5_digest": "948a3e6d339fee3f35d766dd1f93b9e2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 67375, "upload_time": "2012-01-05T01:03:40", "url": "https://files.pythonhosted.org/packages/ed/21/f32102a0b35a91d6e34fbb693d9f49e6d3088afdb7c7519796d708e17631/carrie-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "0617274c6636826351fccbfedd849fd2", "sha256": "ef232f322cd47d9ab34a7636f9d426be9b66a81098720f575e91ef0e1324b311" }, "downloads": -1, "filename": "carrie-0.3.tar.gz", "has_sig": false, "md5_digest": "0617274c6636826351fccbfedd849fd2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 66490, "upload_time": "2012-01-06T00:43:40", "url": "https://files.pythonhosted.org/packages/8f/86/3a16e28b77b16254139968c35af24459564bc7a86b8428e902f14ff66644/carrie-0.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "0617274c6636826351fccbfedd849fd2", "sha256": "ef232f322cd47d9ab34a7636f9d426be9b66a81098720f575e91ef0e1324b311" }, "downloads": -1, "filename": "carrie-0.3.tar.gz", "has_sig": false, "md5_digest": "0617274c6636826351fccbfedd849fd2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 66490, "upload_time": "2012-01-06T00:43:40", "url": "https://files.pythonhosted.org/packages/8f/86/3a16e28b77b16254139968c35af24459564bc7a86b8428e902f14ff66644/carrie-0.3.tar.gz" } ] }