Changes

Jump to: navigation, search

Projector client

5,398 bytes added, 14:03, 14 November 2019
[[Category:Ongoing_ProjectsClosed_Projects]]The idea is to up an interface/client for the projector, in order client allows users to share their content without requiring them to connect physically to play & display video/audio over the network remotelyprojector or sound system. This will allow for less shuffling and more compatibility with a wider range facilitates sharing of devicesmedia such as music, for which we may not have all the cables. It also allows for mobile devicesvideos, such and photos; as phones well as sharing your desktop during workshops and tablets, to presentations. The idea is that everyone can easily share media to the projector directlyjust about anything, with ease, from just about any device<sub>[https://pad.fixme.ch/p/projector-client Todo list] for improvements and fixes</sub>
__TOC__
== Usage==
* SSH Acces: <code> ssh -p 47382 pi@62projector.220fixme.135.197</code>ch === Linux ==={| border="1" cellspacing="0" cellpadding="2" stye="text-align:center;" width="100%"
|-
! width="25%" | Name! Implementedwidth="8%" | Functionality! width="67%" | Usage
|-
| '''Reverse VNC'''
For linuxSend display to projector| Yes| DISPLAYalign="center" style="background:0 vncviewer -listen 0 -fullscreen -x11cursor #on pi90EE90;" | Good| x11vnc -connect 62projector.220fixme.135.197ch:5500 -noxdamage #on laptop
|-
| '''VNCPulseAudio'''For Mac/Android/iOS/WinSend audio to HiFi| Yesalign="center" style="background:#90EE90;" | Good| Select ''pulse@projector'' from Sound settingsIssues with buffer - sound may be choppy sometimes|}  === Mac ==={| vncviewer on pi, any vnc serverborder="1" cellspacing="0" cellpadding="2" stye="text-align:center;" width="100%"
|-
! width="25%" | '''AirPlay'''NameMac & iOS! width="8%" | Functionality| Yes!width="67%" | Select 'Projector' in AirPlay. Audio/Video streams and Mirroring(!)Use https://github.com/elcuervo/airplay on LinuxUsage
|-
| '''PiCastAirPlay Audio'''AnyAudio streaming from OS X/iOS system sound or iTunes| Sortofalign="center" style="background:#90EE90;" | Good| http://62.220.135.197/PiCAST/goCAST.php?website=example.comSelect 'Audio' in AirPlay
|-
| '''SynergyAirPlay Video/Screen mirroring'''Linux/Mac/WinVideo streams and screen mirroring| Sortofalign="center" style="background:#FFFFE0;" | Mouse and keyboard controlSometimesDoesn| Select 't work at the momentVideo' in AirPlayOnly works when network is uncrowded, does not transmit audio. Development abandoned.
|-
|'''MultiCastVNC'''Android devicesConnect from projector to your mac| Noalign="center" style="background:#90EE90;" | Good| vncviewer -FullScreen -ViewOnly ''your IP'' #on piEnable Scree Sharing in System Settings > Sharing #on Mac|}  === Windows ==={| Android screen mirroringborder="1" cellspacing="0" cellpadding="2" stye="text-align:center;" width="100%"
|-
! width="25%" | '''DLNA'''Name! width="8%" | NoFunctionality! width="67%" | Send via DLNA (AllShare Cast on Samsungs)Usage
|-
| '''LimeLightVNC'''Connect from projector to your PC| Noalign="center" style="background:#90EE90;" | Good| Send from nVidia GTX 700 and 800 series cardsvncviewer -FullScreen -ViewOnly ''your IP'' #on piTightVNC
|}
The parts still need === Android ==={| border="1" cellspacing="0" cellpadding="2" stye="text-align:center;" width="100%"|-! width="25%" | Name! width="8%" | Functionality! width="67%" | Usage|-| '''DLNA/UPnP'''Send photos/videos/pictures to be automatedprojector| align="center" style="background:#90EE90;" | Good| Select 'Projector' from DLNA/UPnP devicesWorks with Samsung Video/Music/Photo default app, a web control interface is desirable[https://play. Currently the clients need to be launched manuallygoogle.com/store/apps/details?id=com.bubblesoft.android.bubbleupnp Bubble UPnP], although this can be done via ssh - scripts are available[https://play. More clients can be added as neededgoogle.com/store/apps/details?id=com.skifta.android.app Skifta], and a further control interface for the projector and stereo system will need other DLNA/UPnP compatible apps|-| '''Chromecast'''Send audio to be put HiFi| align="center" style="background:#BFBFBF;" | Unsupported| Select 'Projector' from Chromecast menuNo longer supported by open source software due to Google enforcing strong encryption and verification|}Other Apps in placetesting: [https://shou.tv/ Shou] (root Airplay/DLNA mirroring - works well apart from small lag), BubbleUPNP Audiocast (root xposed sound mirroring over DLNA, 20 minute trial limit), AirAudio (root, airplay/dlna, 5 minute trial limit). All 3 work well, the later two require licences which is annoying. Untested: AllStream, AllCast (untested due to absurd license limits), feel free to suggest others
== Goal ==
*** e.g 1205 for HTTP x264 streams
* Link with trigger interface?
 
== Obstacles ==
* There aren't any solid similar solutions for remote screen sharing, we have to hack something together
 
* Will the Raspberry Pi's power be sufficient?
== Component ==
=== Screen sharing Implemented === ===== HTTP x264/h264 =====  Advantage of HTTP x264 sharing is reduced lag (RPi limited to 100mbit ethernet)VLC screen sharing (screen://) on sender + omxplayer on Pi (for hardware acceleration) (reeealy sketchy atm, can't get to work)
===== VNC =====
xtightvncviewer in reverse VNC listening mode on Pi
DISPLAY=:0 vncviewer -listen 0 -fullscreen -x11cursor #on pi (scripted already)
xtightvncviewer x11vnc or your favourite server on Piyour laptop, Veency on iOS, DroidVNC or others on Android
x11vnc or your favorite server on Works well, however the frame rate is too low for videos, and the resolution can be a bit finicky. If your laptopisn't set to 720x480 or 640x480, the screen will move around with your mouse.
Veency ==== AirPlay & Chromecast ====[http://www.vmlite.com/index.php?option=com_kunena&func=view&catid=23&id=10991 rPlay] is used for AirPlay and Chromecast. Sending music over airplay works fine most of the time, mirroring works intermittently - seems to depend on iOSthe number of devices on the network. Chromecast works sometimes, it seems that Youtube works best right now. Streaming side-loaded google music or any DHCP content does not work.
DroidVNC on Android'''Chromecast using rPlay does not function very well, do not hesitate to suggest alternative servers.'''
=== AirPlay = DLNA/UPnP ====perl-net-sdp + shairport on Pi --> http[https://www.raywenderlichgithub.com/44918hzeller/raspberrygmrender-pi-airplay-tutorial resurrect Gmrender] is used for DLNA/UPnP. This works nowexcellently, apps on Android phones can stream music without difficulty to the sound system.
rPlay for AirPlay mirroring (sketchy)=== DLNAIf you're using apps like BubbleUPNP, make sure you deactivate your personal media server so that others can't see all the music/UPnP ===videos/photos on your device.
==== PulseAudio ====[httpshttp://githubwww.comfoell.org/hzellerjustin/gmrenderraspberry-resurrect Thispulse/ Raspberry Pi pulse audio guide.]=== MPD ===This was a pain to set up, however now you can select 'bcm2835 ALSA Analog Stereo on pulse@projector' on your laptop that has pulseaudio. Doesn't work very well over WiFi. There also seem to be issues with discovery, debian doesn't seem to pick it up, but ubuntu does - to be troubleshooted. The buffer also needs to be setup...
sudo apt-get install mpd basically==== Last FM Scrobbling ====Scrobbles (aka shares what's currently playing) music from MPD to our Last.fm account. You can have fancy visualisations such as [https://www.last.fm/user/hackerspace/now this], and charts/stats such as [https://www.last.fm/user/hackerspace/charts this]. The scrobbling is done by [https://github.com/hrkfdn/mpdas mpdas] (thanks dgellow!).
Maybe something like http://www.raspyfi.com/ ? Maybe we can build a nice interface too.=== Chromecast Not Implemented=== Turns out it* '''HTTP x264/h264 Desktop Mirroring''s not really chromecast, it's a tool that allows you to open websites automatically and in full screen. Works for less lag/higher framerate compared with general websitesVNC, youtube links (opens FS and autoplay), netflix linksseeing as the RPi has a hardware decoder, and a few other things by sending a link to compression helps overcome the piRPi's bandwidth limitations (100mbit). Sounded better when I first heard of it. [httpshttp://githubwww.comoblivion-software.de/lanceseidman/picast PiCast] === PulseAudio index.php?id=56&type==98 Installing VLC with hardware acceleration on Pi]. [http://www.foellwaitwut.orginfo/justinblog/raspberry2013/06/07/desktop-streaming-with-pulsevlc/Using VLC for screen sharing]. Status: VLC installed, but was a huge massive pain to set up with proper hardware rendering. Should work, but it's untested and un-configured yet. === LimeLight (?) ===* [https://github.com/irtimmer/limelight-pi '''Limelight '''] is an open-source Java client which allows you to stream games from your home PC (as long as you have an Nvidia GTX 600 or 700 Series graphics card and enough bandwidth on your home network) to the Raspberry Pi that’s attached to your television. (You do have Status: not implemented, may be installed if there is demand in the future.* '''MPD''' is a Raspberry Pi attached to your televisionmusic player demon that runs on a server, right?) And it’s not just Steam games: and is controllable from any content can be streameddevice connected to the network. Right now[http://www.raspyfi.com/ RaspyFi] is a distro specifically made for this. Status: not implemented, only mouse this is currently [https://fixme.ch/wiki/MPD_Daemon handled by foo]. * [https://github.com/lanceseidman/PiCAST '''PiCast'''] opens links and keyboard are supportedplays streaming videos in fullscreen, Chromecast style. You can open links by sending it via an URL. Status: implemented but there’s work being done removed due to support other controllers toovery poor performance and difficulty in setting up correctly. So now you can play PC content from Not very useful either.* '''Synergy''' allows for remote keyboard/mouse control. Status: installed, and then removed. Why? [http://i.imgur.com/WFcCb2K.png Because].* '''MiraCast''' offers native screen sharing for many Android devices. Status: OSS implementation wasn't available when the machine upstairs project started, however there is one now ([https://github.com/codemonkeyricky/piracast Piracast]) which requires a TP-Link dongle and doesn't work with DRMd material. May be implemented in the study on that great big flatscreen monolith in the corner of your living room, from the comfort of your own sofafuture* '''RDP''' is a Windows remote desktop utility, although proprietary, there are open source clients such as [https://github.com/irtimmerFreeRDP/limelight-piFreeRDP FreeRDP]. Status: in the future if there is demand. * '''Spotify ''' will play most music you want, and can be used on the Pi using [http://www.woutervanwijk.nl/pimusicbox/ mopidy]. Nevertheless, it requires someone with a premium subscription. Status: if someone has a premium subscription they're willing to share, let us know.
=== Control ===
 
Use RPi to turn on/off projector via IR LED, also (maybe) change the input of the stereo system. [http://alexba.in/blog/2013/01/06/setting-up-lirc-on-the-raspberrypi/]
 
Synergy was also installed on the Pi to allow access remotely
https://github.com/afaqurk/linux-dash?utm_source=explore-newsletter&utm_medium=email&utm_term=weekly&utm_campaign=explore-email
 
== Schedule ==
* '''December 2013''' - Zephyz bought pi with 10 CHF contributions from gcmalloc, sasha and noskill, each contributed 10 CHF, and the . The SD Card was provided by fixme/rorist. Raspbian was set up and updated, ssh access was set up (see above), and experimentation began.* '''January 2014''' - The Raspberry Pi was mounted in a custom 3D printed thing holder next to the projector, all the wires were hooked up and made tidyish. PiCast, VNC, Synergy and AirPlay were installed. Development rigorous at times* '''February 2014''' - Proper Airplay (with screen mirroring) and Chromecast were installed. An IR receiver and LED was hooked up in order to be able to control the projector remotely. A splitter was attached to the audio line to allow for playback from both MPD and the projector without switching.* '''March 2014''' - Synergy and Picast removed due to poor performance. A DLNA/UPnP receiver was set up on the Pi to allow streaming media from devices such as Android phones & tablets. A Pulseaudio sink was also installed. We experimented with an external DSP to amplify sound, however this didn't work. Reverse VNC now runs on startup so there is no need to run script each time.* '''April/May 2014''' - Extensive attempts to get the IR controller to work, but it doesn't work due to incompatible mosfets (they require minimum 4.5v and Pi has 3.3v output). * '''June 2014''' - Set up Last.fm scrobbler. Reinstalled Shairplay as default client for Airplay seeing as rPlay works very intermittently - there are now two Airplay clients, one for Audio (works well *knock on wood*), one for video. Banging head against wall with pulseaudio buffer.
== Participants ==
* [[User:Sasha|Sasha]] (Leader)
* Zephyz* [[User:GcmallocFrancois|GcmallocFrancois]]
* Other ppl
ControlGroup, administrator
4,210
edits