Changes

Projector client

2,719 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__
| align="center" style="background:#90EE90;" | Good
| Select ''pulse@projector'' from Sound settings
Doesn't work too well over WiFiIssues with buffer - sound may be choppy sometimes
|}
! width="67%" | Usage
|-
| '''AirPlayAudio'''Audiostreaming from OS X/iOS system sound or iTunes| align="center" style="background:#90EE90;" | Good| Select 'Audio' in AirPlay|-| '''AirPlay Video/Screen mirroring'''Video streams and screen mirroring
| align="center" style="background:#FFFFE0;" | Sometimes
| Select 'ProjectorVideo' in AirPlayOnly works when network is uncrowded, does not transmit audio. Development abandoned.
|-
| '''VNC'''
| '''Chromecast'''
Send audio to HiFi
| align="center" style="background:#F08080BFBFBF;" | PoorUnsupported
| Select 'Projector' from Chromecast menu
''Please note that Chromecast is a new standard No longer supported by open source software due to Google enforcing strong encryption and third party implementations are not always fully functional yet.''verification
|}
Other Apps in testing: [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 ==
=== Implemented ===
===== VNC =====
xtightvncviewer in reverse VNC listening mode on Pi
DISPLAY=:0 vncviewer -listen 0 -fullscreen -x11cursor #on pi (scripted already)
x11vnc or your favorite favourite server on your laptop, Veency on iOS, DroidVNC or others on Android
Veency on iOS DroidVNC Works well, however the frame rate is too low for videos, and the resolution can be a bit finicky. If your laptop isn't set to 720x480 or others on Android640x480, the screen will move around with your mouse.
==== AirPlay & Chromecast ====
[http://www.vmlite.com/index.php?option=com_kunena&func=view&catid=23&id=10991 rPlay] is used for everything AirPlay and Chromecast. Sending music over airplay works finemost of the time, mirroring works intermittently- seems to depend on the 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.
'''Chromecast using rPlay does not function very well, do not hesitate to suggest alternative servers.'''
==== DLNA/UPnP ====
[https://github.com/hzeller/gmrender-resurrect Gmrender] is used for DLNA/UPnP. This works quite wellexcellently, apps on Android phones can stream music without difficulty to the sound system. If you're using apps like BubbleUPNP, make sure you deactivate your personal media server so that others can't see all the music/videos/photos on your device.
==== PulseAudio ====
[http://www.foell.org/justin/raspberry-pulse/ Raspberry Pi pulse audio guide.] 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... ==== 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!).
=== Not Implemented===
* '''HTTP x264/h264 Desktop Mirroring''' allows for less lag/higher framerate compared with VNC, seeing as the RPi has a hardware decoder, and compression helps overcome the RPi's bandwidth limitations (100mbit). [http://www.oblivion-software.de/index.php?id=56&type=98 Installing VLC with hardware acceleration on Pi]. [http://www.waitwut.info/blog/2013/06/07/desktop-streaming-with-vlc/ Using VLC for screen sharing]. Status: VLC installed, but was a huge massive pain to be implementedset up with proper hardware rendering. First attempts failedShould work, but it's untested and un-configured yet.
* [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. Status: not implemented, may be installed if there is demand in the future.
* '''MPD''' is a music player demon that runs on a server, and is controllable from any device connected to the network. [http://www.raspyfi.com/ RaspyFi] is a distro specifically made for this. Status: not implemented, this is currently [https://fixme.ch/wiki/MPD_Daemon handled by foo].
* '''MiraCast''' offers native screen sharing for many Android devices. Status: OSS implementation wasn't available when the 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 future.
* '''RDP''' is a Windows remote desktop utility, although proprietary, there are open source clients such as [https://github.com/FreeRDP/FreeRDP 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 ===
* '''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 ==
ControlGroup, administrator
4,258
edits