Skip to content
OpenVG YouTube client for Raspberry Pi
C C++ Shell
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
GFXDATA
MISC
OMXJPEG
screenshots
Makefile
README.md
audio.c
audio.h
bin2c.c
cleanup.sh
config.c
config.h
convertwav16.sh
gfxlib.c
gfxlib.h
install.sh
joystick.h
kbjs.c
kbjs.h
lodepng.h
main.c
mainmenu.h
openmax.c
openmax.h
raspytube.bin
raspytube.bin.zip
raspytube.desktop
raspytube.png
region.h
term.c
term.h
ui.c
ui.h
videoformats.h

README.md

raspytube - an OpenVG YouTube client for Raspberry Pi.

binarybond007@gmail.com

Installation

Automatic install

wget --no-check-certificate https://github.com/bbond007/raspytube/raw/master/install.sh -O - | sh

Installing using ultra-simple binary-only install.

# Install dependancies
echo "> Installing dependancies."
sudo apt-get install omxplayer wget libjpeg8 youtube-dl

# Updating youtube-dl to make sure it's the latest version.
echo "> Updating youtube-dl."
sudo youtube-dl -U

# Download binary
echo "> Downloading raspytube binary."
sudo wget https://github.com/bbond007/raspytube/raw/master/raspytube.bin -O /usr/local/bin/raspytube.bin
sudo chmod a+x /usr/local/bin/raspytube.bin

# Launch raspytube!
echo "> Launching raspytube!"
raspytube.bin

Installing from source

# Install dependancies
sudo apt-get install omxplayer wget libjpeg8 youtube-dl

# Update youtube-dl. Need to make sure it's up to date with youtube API.
sudo youtube-dl -U

# Install compilation tools and required libraries
sudo apt-get update
sudo apt-get install build-essential git-core libjpeg8-dev libx11-dev

# Compile ilclient
cd /opt/vc/src/hello_pi/libs/ilclient
make clean
make

# Compile raspytube
cd ~
git clone https://github.com/bbond007/raspytube
cd raspytube
cd OMXJPEG
make clean
make
cd ..
cd GFXDATA
make clean
make
cd ..
make clean
make

# Launch raspytube!
./raspytube.bin

Usage

Keys:

Q - run 1/4 screen in X11 window

M - main menu

S - search (edit existing txt)

N - new search

J - (uppercase) test joystick (useful for configuring JS) 

j - (lowercase) joystick/keyboard/mouse menu (input menu)

cursor down - next record

cursor up - prev record

cursor right- get next # results

cursor left- get prev # results

ESC - exit screen/program

The following are also available from the menu:

C - category menu

F - set youtube-dl format
	
G - GUI Menu 

P - toggle between OMXPlayer and MPlayer 

H - toggle between HDMI/Local audio output

j - joystick/keyboard/mouse menu (input menu)

I - more information on selected record

X - toggle between software (libjpeg) and hardware (OMX) jpeg decoding.

Notes

	* OMX-jpg & gfx data broken out into seperate static libs (see updated compile instructions)
	
	* you need 64MB VRAM to run this program.

	* MPlayer if you switch to windowed mode.  

	* Added mouse support.

	* Added support to run in X11 window! 

This application can now run in a X11 window. The app is not really

running in X11 window, but it is a clever illusion. How I accomplish

this is I create a dummy X11 window, track the movement of that window

on the desktop then uses "vc_dispmanx_element_change_attributes" of

the VC output to match. This has the added benefit of being able to

take input focus and capture X11 input such as mouse move/enter events

and keypresses. Apparently it is very expensive to call XGetWindowAttributes

and XGetGeometry (that is actually how MC Hammer went broke), so I only

do so periodically which is why you'll notice a slight lag when you move

the window (before the VC window catches up). This is also why the window

is always front-most. To switch to XWindows mode, There is an invisible

"button" on right-topmost position to toggle on the screen or the "q"

key (for quarter-screen). Repeat to return.

Acknowledgements

Thanks the the RPi community!

parts of this come from "shapes.c":

shapes: minimal program to explore OpenVG

Anthony Starks (ajstarks@gmail.com)

and "test_image.c"

ShivaVG / IvanLebenivan.leben@gmail.com

ShivaVG-anopen-sourceLGPLANSICimplementationoftheOpenVGspecification

Also thanks to MattOwnby and jumble) for OMX jpeg decode

Thanks to CalumJEadie for formatting this file.

You can’t perform that action at this time.