bbond007
Posts: 73
Joined: Sun Nov 04, 2012 6:10 pm

OpenVG based YouTube client.

Wed Nov 21, 2012 1:45 am

I'm working on an OpenVG based YouTube client.

Like the excellent command line client (yt) it also uses youtube-dl with OMXplayer or MPlayer.

I'm uploading a demo video to YouTube now. http://youtu.be/L1YUhE6XYPQ

The app is written in c using the OpenVG API for speed. It allows you to specify the format and quality of the video which works great when I have my RPi connected to my iPhone. Also there is a hot-key to switch between HDMI and local audio.

Right now I'm doing the jpeg decoding on the CPU but I was reading up on how that could be done using the GPU.

I should have a release real soon, in fact, at the rate this video is uploading, it may come before the video:)

Thanks!

ghans
Posts: 7882
Joined: Mon Dec 12, 2011 8:30 pm
Location: Germany

Re: OpenVG based YouTube client.

Wed Nov 21, 2012 8:29 am

Are you really using OpenVG with JPEGs ? Isn't that horribly inefficient ?
I thought OpenVG was created for vector graphics ?
OpenMAX is supported on the Pi and makes h.264 1080p videos play smoothly.
Also MPEG2 and VC-1 work when you have bought the licenses.

ghans
• Don't like the board ? Missing features ? Change to the prosilver theme ! You can find it in your settings.
• Don't like to search the forum BEFORE posting 'cos it's useless ? Try googling : yoursearchtermshere site:raspberrypi.org

toxibunny
Posts: 1382
Joined: Thu Aug 18, 2011 9:21 pm

Re: OpenVG based YouTube client.

Wed Nov 21, 2012 10:38 am

looking good so far... :)
note: I may or may not know what I'm talking about...

dom
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 5411
Joined: Wed Aug 17, 2011 7:41 pm
Location: Cambridge

Re: OpenVG based YouTube client.

Wed Nov 21, 2012 2:08 pm

Nice. Check out:
http://www.raspberrypi.org/phpBB3/viewt ... 33&t=15463

and /opt/vc/src/hello_pi/hello_jpeg in latest firmware (thanks to MattOwnby and jumble) for jpeg decode info.

bbond007
Posts: 73
Joined: Sun Nov 04, 2012 6:10 pm

Re: OpenVG based YouTube client.

Wed Nov 21, 2012 5:24 pm

https://github.com/bbond007/raspytube

you'll need "youtube-dl" installed which you can find the instructions here:

http://www.raspberrypi.org/phpBB3/viewtopic.php?t=8157

enjoy...

bbond007
Posts: 73
Joined: Sun Nov 04, 2012 6:10 pm

Re: OpenVG based YouTube client.

Wed Nov 21, 2012 5:26 pm

dom wrote:Nice. Check out:
http://www.raspberrypi.org/phpBB3/viewt ... 33&t=15463

and /opt/vc/src/hello_pi/hello_jpeg in latest firmware (thanks to MattOwnby and jumble) for jpeg decode info.
thanks...

That may be just what I need.

bbond007
Posts: 73
Joined: Sun Nov 04, 2012 6:10 pm

Re: OpenVG based YouTube client.

Wed Nov 21, 2012 5:43 pm

ghans wrote:Are you really using OpenVG with JPEGs ? Isn't that horribly inefficient ?
I thought OpenVG was created for vector graphics ?
OpenMAX is supported on the Pi and makes h.264 1080p videos play smoothly.
Also MPEG2 and VC-1 work when you have bought the licenses.

ghans
vgSetPixels() seems pretty effiecient.

The app does a lot of superflous screen redrawing, and I may look at a way to improve that, but the UI seems pretty responsive as-is.

I do have MPEG2 and VC-1 licenses (as well as a license to operate a class E vehicles including motorcycles). The reason the video was stalling was that I was exceeding the capabilities of my steam-powered DSL modem conenction. I was simply demoing how you can configure the video format.

ghans
Posts: 7882
Joined: Mon Dec 12, 2011 8:30 pm
Location: Germany

Re: OpenVG based YouTube client.

Tue Nov 27, 2012 4:36 pm

I believe i have misunderstood how this works.
Is the video played through omxplayer ?

ghans
• Don't like the board ? Missing features ? Change to the prosilver theme ! You can find it in your settings.
• Don't like to search the forum BEFORE posting 'cos it's useless ? Try googling : yoursearchtermshere site:raspberrypi.org

User avatar
malakai
Posts: 1382
Joined: Sat Sep 15, 2012 10:35 am
Contact: Website

Re: OpenVG based YouTube client.

Tue Jan 01, 2013 12:42 pm

Are there any install instructions? commands to run raspytube?
http://www.raspians.com - always looking for content feel free to ask to have it posted. Or sign up and message me to become a contributor to the site. Raspians is not affiliated with the Raspberry Pi Foundation. (RPi's + You = Raspians)

ghans
Posts: 7882
Joined: Mon Dec 12, 2011 8:30 pm
Location: Germany

Re: OpenVG based YouTube client.

Tue Jan 01, 2013 12:59 pm

Code: Select all

 sudo wget https://github.com/downloads/rg3/youtube-dl/youtube-dl -O /usr/local/bin/youtube-dl
sudo chmod a+x /usr/local/bin/youtube-dl
sudo apt-get update
sudo apt-get install build-essential
wget https://nodeload.github.com/bbond007/raspytube/zip/master
unzip raspytube-master.zip
cd raspytube-master
make
./raspytube.bin
That should be it , more or less :D

ghans
• Don't like the board ? Missing features ? Change to the prosilver theme ! You can find it in your settings.
• Don't like to search the forum BEFORE posting 'cos it's useless ? Try googling : yoursearchtermshere site:raspberrypi.org

User avatar
malakai
Posts: 1382
Joined: Sat Sep 15, 2012 10:35 am
Contact: Website

Re: OpenVG based YouTube client.

Tue Jan 01, 2013 1:09 pm

wget on link not working I already got it from here though https://github.com/bbond007/raspytube

make

gfont -g -c gfxlib.c -o gfxlib.o -Wno-deprecated-declarations
gfxlib.c:14:21: fatal error: jpeglib.h: No such file or directory
compilation terminated.
make: *** [gfxlib.o] Error 1
rm omx_jpeg_wrapper.o main.o


redownloaded to pc and moved it over from your link

make
make: Nothing to be done for `all'.
http://www.raspians.com - always looking for content feel free to ask to have it posted. Or sign up and message me to become a contributor to the site. Raspians is not affiliated with the Raspberry Pi Foundation. (RPi's + You = Raspians)

ghans
Posts: 7882
Joined: Mon Dec 12, 2011 8:30 pm
Location: Germany

Re: OpenVG based YouTube client.

Tue Jan 01, 2013 1:36 pm

Could you post all steps you have taken and then
the corresponding error messages ?
In the meantime , try this :

sudo apt-get install libjpeg62-dev

and retry.

ghans
• Don't like the board ? Missing features ? Change to the prosilver theme ! You can find it in your settings.
• Don't like to search the forum BEFORE posting 'cos it's useless ? Try googling : yoursearchtermshere site:raspberrypi.org

User avatar
malakai
Posts: 1382
Joined: Sat Sep 15, 2012 10:35 am
Contact: Website

Re: OpenVG based YouTube client.

Tue Jan 01, 2013 1:52 pm

I did this first note git clone

Code: Select all

 sudo wget https://github.com/downloads/rg3/youtube-dl/youtube-dl -O /usr/local/bin/youtube-dl
sudo chmod a+x /usr/local/bin/youtube-dl
sudo apt-get update
sudo apt-get install build-essential
git clone https://github.com/bbond007/raspytube
cd raspytube
make
./raspytube.bin
make produces this error after sudo apt-get install libjpeg62-dev

Code: Select all

g++ -DSTANDALONE -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -DTARGET_POSIX -D_LINUX -fPIC -DPIC -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -U_FORTIFY_SOURCE -Wall -g -DHAVE_LIBOPENMAX=2 -DOMX -DOMX_SKIP64BIT -ftree-vectorize -pipe -DUSE_EXTERNAL_OMX -DHAVE_LIBBCM_HOST -DUSE_EXTERNAL_LIBBCM_HOST -DUSE_VCHIQ_ARM -Wno-psabi -lX11 -I/opt/vc/include/ -I/opt/vc/include/interface/vcos/pthreads -I./ -I/opt/vc/src/hello_pi/libs/ilclient -I/opt/vc/src/hello_pi/libs/vgfont -g -c omx_jpeg_wrapper.cpp -o omx_jpeg_wrapper.o -Wno-deprecated-declarations
gcc -DSTANDALONE -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -DTARGET_POSIX -D_LINUX -fPIC -DPIC -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -U_FORTIFY_SOURCE -Wall -g -DHAVE_LIBOPENMAX=2 -DOMX -DOMX_SKIP64BIT -ftree-vectorize -pipe -DUSE_EXTERNAL_OMX -DHAVE_LIBBCM_HOST -DUSE_EXTERNAL_LIBBCM_HOST -DUSE_VCHIQ_ARM -Wno-psabi -lX11 -I/opt/vc/include/ -I/opt/vc/include/interface/vcos/pthreads -I./ -I/opt/vc/src/hello_pi/libs/ilclient -I/opt/vc/src/hello_pi/libs/vgfont -g -c main.c -o main.o -Wno-deprecated-declarations
main.c:33:1: warning: useless storage class specifier in empty declaration [enabled by default]
gcc -DSTANDALONE -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -DTARGET_POSIX -D_LINUX -fPIC -DPIC -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -U_FORTIFY_SOURCE -Wall -g -DHAVE_LIBOPENMAX=2 -DOMX -DOMX_SKIP64BIT -ftree-vectorize -pipe -DUSE_EXTERNAL_OMX -DHAVE_LIBBCM_HOST -DUSE_EXTERNAL_LIBBCM_HOST -DUSE_VCHIQ_ARM -Wno-psabi -lX11 -I/opt/vc/include/ -I/opt/vc/include/interface/vcos/pthreads -I./ -I/opt/vc/src/hello_pi/libs/ilclient -I/opt/vc/src/hello_pi/libs/vgfont -g -c gfxlib.c -o gfxlib.o -Wno-deprecated-declarations
gfxlib.c: In function âcreateImageFromBufâ:
gfxlib.c:214:5: warning: implicit declaration of function âjpeg_mem_srcâ [-Wimplicit-function-declaration]
gfxlib.c: In function âResizeImageâ:
gfxlib.c:349:13: warning: unused variable âdstâ [-Wunused-variable]
gfxlib.c:346:9: warning: unused variable âorig_heightâ [-Wunused-variable]
gfxlib.c:345:9: warning: unused variable âorig_widthâ [-Wunused-variable]
gcc -DSTANDALONE -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -DTARGET_POSIX -D_LINUX -fPIC -DPIC -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -U_FORTIFY_SOURCE -Wall -g -DHAVE_LIBOPENMAX=2 -DOMX -DOMX_SKIP64BIT -ftree-vectorize -pipe -DUSE_EXTERNAL_OMX -DHAVE_LIBBCM_HOST -DUSE_EXTERNAL_LIBBCM_HOST -DUSE_VCHIQ_ARM -Wno-psabi -lX11 -I/opt/vc/include/ -I/opt/vc/include/interface/vcos/pthreads -I./ -I/opt/vc/src/hello_pi/libs/ilclient -I/opt/vc/src/hello_pi/libs/vgfont -g -c ui.c -o ui.o -Wno-deprecated-declarations
g++ -DSTANDALONE -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -DTARGET_POSIX -D_LINUX -fPIC -DPIC -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -U_FORTIFY_SOURCE -Wall -g -DHAVE_LIBOPENMAX=2 -DOMX -DOMX_SKIP64BIT -ftree-vectorize -pipe -DUSE_EXTERNAL_OMX -DHAVE_LIBBCM_HOST -DUSE_EXTERNAL_LIBBCM_HOST -DUSE_VCHIQ_ARM -Wno-psabi -lX11 -I/opt/vc/include/ -I/opt/vc/include/interface/vcos/pthreads -I./ -I/opt/vc/src/hello_pi/libs/ilclient -I/opt/vc/src/hello_pi/libs/vgfont -g -c OMXComponent.cpp -o OMXComponent.o -Wno-deprecated-declarations
g++ -DSTANDALONE -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -DTARGET_POSIX -D_LINUX -fPIC -DPIC -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -U_FORTIFY_SOURCE -Wall -g -DHAVE_LIBOPENMAX=2 -DOMX -DOMX_SKIP64BIT -ftree-vectorize -pipe -DUSE_EXTERNAL_OMX -DHAVE_LIBBCM_HOST -DUSE_EXTERNAL_LIBBCM_HOST -DUSE_VCHIQ_ARM -Wno-psabi -lX11 -I/opt/vc/include/ -I/opt/vc/include/interface/vcos/pthreads -I./ -I/opt/vc/src/hello_pi/libs/ilclient -I/opt/vc/src/hello_pi/libs/vgfont -g -c Event.cpp -o Event.o -Wno-deprecated-declarations
g++ -DSTANDALONE -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -DTARGET_POSIX -D_LINUX -fPIC -DPIC -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -U_FORTIFY_SOURCE -Wall -g -DHAVE_LIBOPENMAX=2 -DOMX -DOMX_SKIP64BIT -ftree-vectorize -pipe -DUSE_EXTERNAL_OMX -DHAVE_LIBBCM_HOST -DUSE_EXTERNAL_LIBBCM_HOST -DUSE_VCHIQ_ARM -Wno-psabi -lX11 -I/opt/vc/include/ -I/opt/vc/include/interface/vcos/pthreads -I./ -I/opt/vc/src/hello_pi/libs/ilclient -I/opt/vc/src/hello_pi/libs/vgfont -g -c OMXJPEG.cpp -o OMXJPEG.o -Wno-deprecated-declarations
g++ -DSTANDALONE -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -DTARGET_POSIX -D_LINUX -fPIC -DPIC -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -U_FORTIFY_SOURCE -Wall -g -DHAVE_LIBOPENMAX=2 -DOMX -DOMX_SKIP64BIT -ftree-vectorize -pipe -DUSE_EXTERNAL_OMX -DHAVE_LIBBCM_HOST -DUSE_EXTERNAL_LIBBCM_HOST -DUSE_VCHIQ_ARM -Wno-psabi -lX11 -I/opt/vc/include/ -I/opt/vc/include/interface/vcos/pthreads -I./ -I/opt/vc/src/hello_pi/libs/ilclient -I/opt/vc/src/hello_pi/libs/vgfont -g -c OMXCore.cpp -o OMXCore.o -Wno-deprecated-declarations
g++ -DSTANDALONE -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -DTARGET_POSIX -D_LINUX -fPIC -DPIC -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -U_FORTIFY_SOURCE -Wall -g -DHAVE_LIBOPENMAX=2 -DOMX -DOMX_SKIP64BIT -ftree-vectorize -pipe -DUSE_EXTERNAL_OMX -DHAVE_LIBBCM_HOST -DUSE_EXTERNAL_LIBBCM_HOST -DUSE_VCHIQ_ARM -Wno-psabi -lX11 -I/opt/vc/include/ -I/opt/vc/include/interface/vcos/pthreads -I./ -I/opt/vc/src/hello_pi/libs/ilclient -I/opt/vc/src/hello_pi/libs/vgfont -g -c Logger.cpp -o Logger.o -Wno-deprecated-declarations
g++ -DSTANDALONE -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -DTARGET_POSIX -D_LINUX -fPIC -DPIC -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -U_FORTIFY_SOURCE -Wall -g -DHAVE_LIBOPENMAX=2 -DOMX -DOMX_SKIP64BIT -ftree-vectorize -pipe -DUSE_EXTERNAL_OMX -DHAVE_LIBBCM_HOST -DUSE_EXTERNAL_LIBBCM_HOST -DUSE_VCHIQ_ARM -Wno-psabi -lX11 -I/opt/vc/include/ -I/opt/vc/include/interface/vcos/pthreads -I./ -I/opt/vc/src/hello_pi/libs/ilclient -I/opt/vc/src/hello_pi/libs/vgfont -g -c Locker.cpp -o Locker.o -Wno-deprecated-declarations
g++ -o raspytube.bin -Wl,--whole-archive omx_jpeg_wrapper.o main.o gfxlib.o ui.o OMXComponent.o Event.o  OMXJPEG.o OMXCore.o Logger.o Locker.o -L/opt/vc/lib/ -lGLESv2 -lEGL -lopenmaxil -lbcm_host -lvcos -lvchiq_arm -L/opt/vc/src/hello_pi/libs/ilclient -L/opt/vc/src/hello_pi/libs/vgfont -ljpeg -Wl,--no-whole-archive -rdynamic
main.o: In function `main':
/home/pi/raspytube/main.c:88: undefined reference to `initKb'
/home/pi/raspytube/main.c:128: undefined reference to `readKb'
/home/pi/raspytube/main.c:322: undefined reference to `restoreKb'
main.o: In function `do_gui_menu':
/home/pi/raspytube/main.c:377: undefined reference to `saveConfig'
main.o: In function `play_video':
/home/pi/raspytube/main.c:619: undefined reference to `jsESC'
gfxlib.o: In function `createImageFromBuf':
/home/pi/raspytube/gfxlib.c:214: undefined reference to `jpeg_mem_src'
ui.o: In function `init_ui_var':
/home/pi/raspytube/ui.c:322: undefined reference to `loadConfig'
/home/pi/raspytube/ui.c:334: undefined reference to `tv_jpeg_raw_size'
/home/pi/raspytube/ui.c:334: undefined reference to `tv_jpeg_raw_data'
ui.o: In function `show_selection_info':
/home/pi/raspytube/ui.c:482: undefined reference to `readKb'
ui.o: In function `input_string':
/home/pi/raspytube/ui.c:618: undefined reference to `readKb'
/home/pi/raspytube/ui.c:693: undefined reference to `jsRTN'
ui.o: In function `input_string_old':
/home/pi/raspytube/ui.c:768: undefined reference to `readKb'
ui.o: In function `show_message':
/home/pi/raspytube/ui.c:891: undefined reference to `readKb'
ui.o: In function `jskb_menu_detail':
/home/pi/raspytube/ui.c:1109: undefined reference to `jsXAxis'
/home/pi/raspytube/ui.c:1109: undefined reference to `jsYAxis'
/home/pi/raspytube/ui.c:1109: undefined reference to `jsThreshold'
/home/pi/raspytube/ui.c:1109: undefined reference to `jsInfo'
/home/pi/raspytube/ui.c:1109: undefined reference to `jsMenu'
/home/pi/raspytube/ui.c:1109: undefined reference to `jsSelect'
/home/pi/raspytube/ui.c:1109: undefined reference to `jsBack'
ui.o: In function `gui_menu_keypress':
/home/pi/raspytube/ui.c:1263: undefined reference to `dumpKb'
/home/pi/raspytube/ui.c:1266: undefined reference to `dumpKb'
/home/pi/raspytube/ui.c:1269: undefined reference to `dumpKb'
/home/pi/raspytube/ui.c:1272: undefined reference to `dumpKb'
/home/pi/raspytube/ui.c:1275: undefined reference to `dumpKb'
ui.o: In function `jskb_menu_keypress':
/home/pi/raspytube/ui.c:1306: undefined reference to `jsXAxis'
/home/pi/raspytube/ui.c:1306: undefined reference to `jsYAxis'
/home/pi/raspytube/ui.c:1306: undefined reference to `jsThreshold'
/home/pi/raspytube/ui.c:1306: undefined reference to `jsInfo'
/home/pi/raspytube/ui.c:1306: undefined reference to `jsMenu'
/home/pi/raspytube/ui.c:1306: undefined reference to `jsSelect'
/home/pi/raspytube/ui.c:1306: undefined reference to `jsBack'
ui.o: In function `show_menu':
/home/pi/raspytube/ui.c:1430: undefined reference to `readKb'
ui.o: In function `yes_no_dialog':
/home/pi/raspytube/ui.c:1657: undefined reference to `readKb'
collect2: ld returned 1 exit status
make: *** [raspytube.bin] Error 1
rm OMXCore.o omx_jpeg_wrapper.o OMXComponent.o Logger.o gfxlib.o OMXJPEG.o ui.o Locker.o main.o Event.o
Followed your wget and it ends up with an empty file
wget https://nodeload.github.com/bbond007/ra ... zip/master
But on my Windows machine it downloads so I ftp the zip to /home/pi unzip cd in and make

Code: Select all

/raspytube-master $ make
make: Nothing to be done for `all'.
http://www.raspians.com - always looking for content feel free to ask to have it posted. Or sign up and message me to become a contributor to the site. Raspians is not affiliated with the Raspberry Pi Foundation. (RPi's + You = Raspians)

User avatar
malakai
Posts: 1382
Joined: Sat Sep 15, 2012 10:35 am
Contact: Website

Re: OpenVG based YouTube client.

Tue Jan 01, 2013 11:54 pm

doh! 32 meg memory split no wonder it wouldn't run not sure why I can't make it searched all over for dependencies and what not oh well the easy answer is:

make clean

unzip raspytube.bin.zip
./raspytube

Great front end
http://www.raspians.com - always looking for content feel free to ask to have it posted. Or sign up and message me to become a contributor to the site. Raspians is not affiliated with the Raspberry Pi Foundation. (RPi's + You = Raspians)

bbond007
Posts: 73
Joined: Sun Nov 04, 2012 6:10 pm

Re: OpenVG based YouTube client.

Wed Jan 02, 2013 8:11 am

malakai wrote:doh! 32 meg memory split no wonder it wouldn't run not sure why I can't make it searched all over for dependencies and what not oh well the easy answer is:

make clean

unzip raspytube.bin.zip
./raspytube

Great front end
glad you got it working :) I probably should work on better documentation....

If anyone is interested, I just finished adding virtual keyboard and gamepad support.

here are a few screen shots.

http://github.com/bbond007/raspytube/tr ... creenshots

kalehrl
Posts: 350
Joined: Tue Jul 24, 2012 10:49 am

Re: OpenVG based YouTube client.

Wed Jan 02, 2013 10:06 am

I seems that cross compiling doesn't work because vchost_config.h is not where it is supposed to be:

Code: Select all

/home/kalehrl/Templates/raspi/firmware/hardfp/opt/vc/include/interface/vmcs_host/vcgencmd.h:33:27: fatal error: vchost_config.h: No such file or directory
compilation terminated.
make: *** [ui.o] Error 1
rm omx_jpeg_wrapper.o gfxlib.o main.o

ghans
Posts: 7882
Joined: Mon Dec 12, 2011 8:30 pm
Location: Germany

Re: OpenVG based YouTube client.

Wed Jan 02, 2013 10:26 am

Can anyone confirm that this works :

Code: Select all

sudo wget https://github.com/downloads/rg3/youtube-dl/youtube-dl -O /usr/local/bin/youtube-dl
sudo chmod a+x /usr/local/bin/youtube-dl
sudo apt-get update
sudo apt-get install build-essential git-core libjpeg62-dev
git clone https://github.com/bbond007/raspytube
cd raspytube
make
./raspytube.bin
@bbond007
Perhaps you should add it to your readme.


ghans
• Don't like the board ? Missing features ? Change to the prosilver theme ! You can find it in your settings.
• Don't like to search the forum BEFORE posting 'cos it's useless ? Try googling : yoursearchtermshere site:raspberrypi.org

kalehrl
Posts: 350
Joined: Tue Jul 24, 2012 10:49 am

Re: OpenVG based YouTube client.

Wed Jan 02, 2013 11:16 am

In file /opt/vc/include/interface/vmcs_host/vcgencmd.h there is a line

Code: Select all

#include "vchost_config.h"
It should be

Code: Select all

#include "interface/vmcs_host/linux/vchost_config.h"
Once I changed it the compilation went on but then another error popped up regarding ilclient and I gave up:

Code: Select all

In file included from ui.c:14:0:
audio.h:2:22: fatal error: ilclient.h: No such file or directory
compilation terminated.
make: *** [ui.o] Error 1
rm omx_jpeg_wrapper.o gfxlib.o main.o
This is when cross-compiling.
I haven't tried compiling on Pi itself.

kalehrl
Posts: 350
Joined: Tue Jul 24, 2012 10:49 am

Re: OpenVG based YouTube client.

Wed Jan 02, 2013 12:03 pm

ghans wrote:Can anyone confirm that this works :

Code: Select all

sudo wget https://github.com/downloads/rg3/youtube-dl/youtube-dl -O /usr/local/bin/youtube-dl
sudo chmod a+x /usr/local/bin/youtube-dl
sudo apt-get update
sudo apt-get install build-essential git-core libjpeg62-dev
git clone https://github.com/bbond007/raspytube
cd raspytube
make
./raspytube.bin
@bbond007
Perhaps you should add it to your readme.


ghans
Unfortunatelly, it doesn't work.
I tried compiling on the Raspberry itself and these are the errors:

Code: Select all

/home/pi/Templates/raspytube/main.c:88: undefined reference to `initKb'
/home/pi/Templates/raspytube/main.c:128: undefined reference to `readKb'
/home/pi/Templates/raspytube/main.c:322: undefined reference to `restoreKb'
main.o: In function `do_gui_menu':
/home/pi/Templates/raspytube/main.c:377: undefined reference to `saveConfig'
main.o: In function `play_video':
/home/pi/Templates/raspytube/main.c:619: undefined reference to `jsESC'
gfxlib.o: In function `createImageFromBuf':
/home/pi/Templates/raspytube/gfxlib.c:214: undefined reference to `jpeg_mem_src'
ui.o: In function `init_ui_var':
/home/pi/Templates/raspytube/ui.c:322: undefined reference to `loadConfig'
/home/pi/Templates/raspytube/ui.c:334: undefined reference to `tv_jpeg_raw_size'
/home/pi/Templates/raspytube/ui.c:334: undefined reference to `tv_jpeg_raw_data'
ui.o: In function `show_selection_info':
/home/pi/Templates/raspytube/ui.c:482: undefined reference to `readKb'
ui.o: In function `input_string':
/home/pi/Templates/raspytube/ui.c:618: undefined reference to `readKb'
/home/pi/Templates/raspytube/ui.c:693: undefined reference to `jsRTN'
ui.o: In function `input_string_old':
/home/pi/Templates/raspytube/ui.c:768: undefined reference to `readKb'
ui.o: In function `show_message':
/home/pi/Templates/raspytube/ui.c:891: undefined reference to `readKb'
ui.o: In function `jskb_menu_detail':
/home/pi/Templates/raspytube/ui.c:1109: undefined reference to `jsXAxis'
/home/pi/Templates/raspytube/ui.c:1109: undefined reference to `jsYAxis'
/home/pi/Templates/raspytube/ui.c:1109: undefined reference to `jsThreshold'
/home/pi/Templates/raspytube/ui.c:1109: undefined reference to `jsInfo'
/home/pi/Templates/raspytube/ui.c:1109: undefined reference to `jsMenu'
/home/pi/Templates/raspytube/ui.c:1109: undefined reference to `jsSelect'
/home/pi/Templates/raspytube/ui.c:1109: undefined reference to `jsBack'
ui.o: In function `gui_menu_keypress':
/home/pi/Templates/raspytube/ui.c:1263: undefined reference to `dumpKb'
/home/pi/Templates/raspytube/ui.c:1266: undefined reference to `dumpKb'
/home/pi/Templates/raspytube/ui.c:1269: undefined reference to `dumpKb'
/home/pi/Templates/raspytube/ui.c:1272: undefined reference to `dumpKb'
/home/pi/Templates/raspytube/ui.c:1275: undefined reference to `dumpKb'
ui.o: In function `jskb_menu_keypress':
/home/pi/Templates/raspytube/ui.c:1306: undefined reference to `jsXAxis'
/home/pi/Templates/raspytube/ui.c:1306: undefined reference to `jsYAxis'
/home/pi/Templates/raspytube/ui.c:1306: undefined reference to `jsThreshold'
/home/pi/Templates/raspytube/ui.c:1306: undefined reference to `jsInfo'
/home/pi/Templates/raspytube/ui.c:1306: undefined reference to `jsMenu'
/home/pi/Templates/raspytube/ui.c:1306: undefined reference to `jsSelect'
/home/pi/Templates/raspytube/ui.c:1306: undefined reference to `jsBack'
ui.o: In function `show_menu':
/home/pi/Templates/raspytube/ui.c:1430: undefined reference to `readKb'
ui.o: In function `yes_no_dialog':
/home/pi/Templates/raspytube/ui.c:1657: undefined reference to `readKb'
collect2: ld returned 1 exit status
make: *** [raspytube.bin] Error 1
rm OMXCore.o omx_jpeg_wrapper.o OMXComponent.o Logger.o gfxlib.o OMXJPEG.o ui.o Locker.o main.o Event.o
[email protected] ~/Templates/raspytube $

ghans
Posts: 7882
Joined: Mon Dec 12, 2011 8:30 pm
Location: Germany

Re: OpenVG based YouTube client.

Wed Jan 02, 2013 12:20 pm

Same error as malakai.

bbond007 , do you have any pointers ?

ghans
• Don't like the board ? Missing features ? Change to the prosilver theme ! You can find it in your settings.
• Don't like to search the forum BEFORE posting 'cos it's useless ? Try googling : yoursearchtermshere site:raspberrypi.org

kalehrl
Posts: 350
Joined: Tue Jul 24, 2012 10:49 am

Re: OpenVG based YouTube client.

Wed Jan 02, 2013 12:41 pm

malakai wrote:doh! 32 meg memory split no wonder it wouldn't run not sure why I can't make it searched all over for dependencies and what not oh well the easy answer is:

make clean

unzip raspytube.bin.zip
./raspytube

Great front end
The zip came with a precompiled binary in it so you didn't have to compile it to run it.
I tried the binary and it works fine but the question is, why won't it compile?

bbond007
Posts: 73
Joined: Sun Nov 04, 2012 6:10 pm

Re: OpenVG based YouTube client.

Wed Jan 02, 2013 2:53 pm

ghans wrote:Same error as malakai.

bbond007 , do you have any pointers ?

ghans
I think my Makefile was outdated and was missing at least one .o file

It may compile if you try it again....

bbond007
Posts: 73
Joined: Sun Nov 04, 2012 6:10 pm

Re: OpenVG based YouTube client.

Wed Jan 02, 2013 3:19 pm

ghans wrote: @bbond007
Perhaps you should add it to your readme.
ghans
added....

kalehrl
Posts: 350
Joined: Tue Jul 24, 2012 10:49 am

Re: OpenVG based YouTube client.

Wed Jan 02, 2013 5:14 pm

Still no luck with compilation after git pull:

Code: Select all

g++ -o raspytube.bin -Wl,--whole-archive kbjs.o config.o ui.o main.o tvraw.o gfxlib.o OMXJPEG.o omx_jpeg_wrapper.o OMXComponent.o Event.o OMXCore.o Logger.o Locker.o -L/opt/vc/lib/ -lGLESv2 -lEGL -lopenmaxil -lbcm_host -lvcos -lvchiq_arm -L/opt/vc/src/hello_pi/libs/ilclient -L/opt/vc/src/hello_pi/libs/vgfont -lilclient -ljpeg -Wl,--no-whole-archive -rdynamic
/usr/bin/ld: cannot find -lilclient
collect2: ld returned 1 exit status
make: *** [raspytube.bin] Error 1
rm OMXCore.o tvraw.o omx_jpeg_wrapper.o OMXComponent.o Logger.o kbjs.o gfxlib.o OMXJPEG.o ui.o Locker.o main.o Event.o config.o

kalehrl
Posts: 350
Joined: Tue Jul 24, 2012 10:49 am

Re: OpenVG based YouTube client.

Wed Jan 02, 2013 5:32 pm

Solved the above error with:

Code: Select all

cd /opt/vc/src/hello_pi/libs/ilclient
make
Now I get:

Code: Select all

gfxlib.o: In function `createImageFromBuf':
/home/pi/Templates/raspytube/gfxlib.c:214: undefined reference to `jpeg_mem_src'
collect2: ld returned 1 exit status
make: *** [raspytube.bin] Error 1

Return to “General discussion”