WDTV Forum - WDTV Media Player

WDTV 1 Forum Groups => Homebrew / Custom Firmware => Topic started by: elmarweber on July 26, 2009, 06:21:44 PM

Title: YouTube Support Teaser
Post by: elmarweber on July 26, 2009, 06:21:44 PM
Hi,

had some time post some news on the YouTube support. It's late, so I'm not copying text and images over here, so just the link to the blog post: http://wdtv.elmarweber.org/index.php/2009/youtube-support-teaser.

Some more updates will follow piece by piece.

ciao,
elm

PS: If any one of you has some time and is interested in designing a fancy UI for the YouTube support please PM me.
Title: Re: YouTube Support Teaser
Post by: lilibabe on July 26, 2009, 09:28:08 PM
Nice job and nice new website too !

Even if i'm not using WDLXTV, i can try to design something... What kind of graphics do you need ?
Title: Re: YouTube Support Teaser
Post by: BMD_Online on July 27, 2009, 02:33:00 AM
On my side, I have tried to implement a live-converter for flv files.
Using fuse and ffmpeg libraries.

First, I have tried to convert (and watch) on the fly flv to mpeg using ffmpeg provided with ipkg.
I think WDTV doesn't have enough CPU for this. So, I have aborted my project.
Title: Re: YouTube Support Teaser
Post by: rezmus on July 27, 2009, 03:32:44 AM
yep, tried that too with ffmpeg, but it took ages. fortunately youtube provides videos as mp4 which play fine on wdtv without conversion. nice work elm ;) i would like to see also modded thumb mode with 320 x 240 thumbs which are provided by youtube.
Title: Re: YouTube Support Teaser
Post by: BMD_Online on July 27, 2009, 04:33:16 AM
yep, tried that too with ffmpeg, but it took ages. fortunately youtube provides videos as mp4 which play fine on wdtv without conversion. nice work elm ;) i would like to see also modded thumb mode with 320 x 240 thumbs which are provided by youtube.

Yes, youtube provides mp4 files too. But other providers (dailymotion) doesn't.
In my case, I watch some online documentary only available in Dailymoiton, in flv format.

Elm, for keyboard layout, is it possible to use QWERTY (english), AZERTY (french)... using WDTV locale ?
For example (don't know your files names), something like youtube_searc.xml including youtube_keyboard.xml
And, youtube_keyboard corresponding to youtube_keyboard_fr.xml or youtube_keyboard_en.xml...
Title: Re: YouTube Support Teaser
Post by: rezmus on July 27, 2009, 04:44:44 AM
u can't coz on wdtv u can declare max 29 browse / thumb list objects per page and it must be a table, so 29 x 1, 14 x 2, 7 x 4, etc. and qwerty layout requires more objects (10 x 4 or so).
Title: Re: YouTube Support Teaser
Post by: BMD_Online on July 27, 2009, 04:50:12 AM
u can't coz on wdtv u can declare max 29 browse / thumb list objects per page and it must be a table, so 29 x 1, 14 x 2, 7 x 4, etc. and qwerty layout requires more objects (10 x 4 or so).

Using only letters, we need something like 10 x 3 = 30 objects !
We can't use 10 x 2 and 9 x 1 (for bottom line) = 29 objects ? I haven't looked at actual keyboard/search page.
Title: Re: YouTube Support Teaser
Post by: elmarweber on July 27, 2009, 06:03:01 AM
Nice job and nice new website too !

Even if i'm not using WDLXTV, i can try to design something... What kind of graphics do you need ?

in the long term I though of the following structure
YouTube Home
=> Featured Videos
=> Most Popular
=> Search
  => Keyboard layout
=> Channels
  .... all categories from youtube

So a home screen where the four parts are nicely organized first, then a design for browsing the video files (list+thumb) that matches the home screen's overall design. And of course the keyboards. Keyboard files were a bit tricky, but its feasible, although loading is a little slow (about 1.5 seconds instead of instantly).

When this integrates in your other design it's of course optimal =)

The current plan is to use the default OSD layout for normal browsing and just use the keyboard for search queries, so everything is normal anyway. A fancy design that skins the whole YouTube support is just nice-to-have eye candy.

ciao,
elm
Title: Re: YouTube Support Teaser
Post by: elmarweber on July 27, 2009, 06:10:26 AM
On my side, I have tried to implement a live-converter for flv files.
Using fuse and ffmpeg libraries.

First, I have tried to convert (and watch) on the fly flv to mpeg using ffmpeg provided with ipkg.
I think WDTV doesn't have enough CPU for this. So, I have aborted my project.

Did you try to convert to MP4 or another format? Because MP4 with AVC and H.264 takes a lot of time, maybe using mpg or so works better?

Scratch that =), just got 11 fps with mpeg.


The easiest way would of course be FLV support from the firmware, AFAIR the chip supported it.

ciao,
elm
Title: Re: YouTube Support Teaser
Post by: elmarweber on July 27, 2009, 06:24:37 AM
i would like to see also modded thumb mode with 320 x 240 thumbs which are provided by youtube.

To get the full resolution I probably have to copy the thumbnails to the /tmp/cache/YouTube/something directory?


u can't coz on wdtv u can declare max 29 browse / thumb list objects per page and it must be a table, so 29 x 1, 14 x 2, 7 x 4, etc. and qwerty layout requires more objects (10 x 4 or so).

I got it work with at least 35 (7 x 5) images, it crashed with 8 x 5 however. I don't use any special tags, just @@act-browselist-XX and two overlayed image tables to get the hover effect. I'm still trying to figure out the safe maximum dimensions. And although its a table you can position each table object anywhere when x and y is specified. This does not fix the navigation, so the images must still be position in the right order, but they can be moved around freely, e.g. to get the alignment of keyboard characters.
I'm still trying if there is a way to skip a field in the table, there are some tags for the image / text field I'm not sure about.

Here is the generated code:

Code: [Select]
  <ctrlgrp>
    <listbox valkey="browselist" autoenter="1" autoswitch="0" move="page" cols="8" rows="5" lbmask="lr"  loop_scroll="1" turbo_trigger="10" turbo_multi="10" />
<linebreak/>
  </ctrlgrp>

  <table x="281" y="235" w="640" h="300" fontsize="20" selected_fontsize="26"
         cols="8" rows="5" colspacing="0" rowspacing="0"
lbimage="image/browser_list_btn.png" clickimage="image/browser_list_btn.png" 
textcolor="0xe2e2e2" actnoseltextcolor="0xe2e2e2" actoverlistcolor="0xe2e2e2"
activetextcolor="0xe2e2e2" selectedtextcolor="0xe2e2e2" auto_translate="1">

<image image="image/keyboard_symbol_09_btn_f.png" active="@@act-browselist-0" border="@@act-browselist-0" align="hcenter" />
<image image="image/keyboard_uppercass_a_btn_f.png" active="@@act-browselist-1" border="@@act-browselist-1" align="hcenter" />
<image image="image/keyboard_uppercass_b_btn_f.png" active="@@act-browselist-2" border="@@act-browselist-2" align="hcenter" />
<image image="image/keyboard_uppercass_c_btn_f.png" active="@@act-browselist-3" border="@@act-browselist-3" align="hcenter" />
<image image="image/keyboard_uppercass_d_btn_f.png" active="@@act-browselist-4" border="@@act-browselist-4" align="hcenter" />
<image image="image/keyboard_uppercass_e_btn_f.png" active="@@act-browselist-5" border="@@act-browselist-5" align="hcenter" />
<image image="image/keyboard_uppercass_f_btn_f.png" active="@@act-browselist-6" border="@@act-browselist-6" align="hcenter" />
<image image="image/keyboard_uppercass_g_btn_f.png" active="@@act-browselist-7" border="@@act-browselist-7" align="hcenter" />
<image image="image/keyboard_uppercass_h_btn_f.png" active="@@act-browselist-8" border="@@act-browselist-8" align="hcenter" />
<image image="image/keyboard_uppercass_i_btn_f.png" active="@@act-browselist-9" border="@@act-browselist-9" align="hcenter" />
<image image="image/keyboard_uppercass_j_btn_f.png" active="@@act-browselist-10" border="@@act-browselist-10" align="hcenter" />
<image image="image/keyboard_uppercass_k_btn_f.png" active="@@act-browselist-11" border="@@act-browselist-11" align="hcenter" />
<image image="image/keyboard_uppercass_l_btn_f.png" active="@@act-browselist-12" border="@@act-browselist-12" align="hcenter" />
<image image="image/keyboard_uppercass_m_btn_f.png" active="@@act-browselist-13" border="@@act-browselist-13" align="hcenter" />
<image image="image/keyboard_uppercass_n_btn_f.png" active="@@act-browselist-14" border="@@act-browselist-14" align="hcenter" />
<image image="image/keyboard_uppercass_o_btn_f.png" active="@@act-browselist-15" border="@@act-browselist-15" align="hcenter" />
<image image="image/keyboard_uppercass_p_btn_f.png" active="@@act-browselist-16" border="@@act-browselist-16" align="hcenter" />
<image image="image/keyboard_uppercass_q_btn_f.png" active="@@act-browselist-17" border="@@act-browselist-17" align="hcenter" />
<image image="image/keyboard_uppercass_r_btn_f.png" active="@@act-browselist-18" border="@@act-browselist-18" align="hcenter" />
<image image="image/keyboard_uppercass_s_btn_f.png" active="@@act-browselist-19" border="@@act-browselist-19" align="hcenter" />
<image image="image/keyboard_uppercass_t_btn_f.png" active="@@act-browselist-20" border="@@act-browselist-20" align="hcenter" />
<image image="image/keyboard_uppercass_u_btn_f.png" active="@@act-browselist-21" border="@@act-browselist-21" align="hcenter" />
<image image="image/keyboard_uppercass_v_btn_f.png" active="@@act-browselist-22" border="@@act-browselist-22" align="hcenter" />
<image image="image/keyboard_uppercass_w_btn_f.png" active="@@act-browselist-23" border="@@act-browselist-23" align="hcenter" />
<image image="image/keyboard_uppercass_x_btn_f.png" active="@@act-browselist-24" border="@@act-browselist-24" align="hcenter" />
<image image="image/keyboard_uppercass_y_btn_f.png" active="@@act-browselist-25" border="@@act-browselist-25" align="hcenter" />
<image image="image/keyboard_uppercass_z_btn_f.png" active="@@act-browselist-26" border="@@act-browselist-26" align="hcenter" />
<image image="image/keyboard_number_0_btn_f.png" active="@@act-browselist-27" border="@@act-browselist-27" align="hcenter" />
<image image="image/keyboard_number_1_btn_f.png" active="@@act-browselist-28" border="@@act-browselist-28" align="hcenter" />
<image image="image/keyboard_number_2_btn_f.png" active="@@act-browselist-29" border="@@act-browselist-29" align="hcenter" />
<image image="image/keyboard_number_3_btn_f.png" active="@@act-browselist-30" border="@@act-browselist-30" align="hcenter" />
<image image="image/keyboard_number_4_btn_f.png" active="@@act-browselist-31" border="@@act-browselist-31" align="hcenter" />
<image image="image/keyboard_number_5_btn_f.png" active="@@act-browselist-32" border="@@act-browselist-32" align="hcenter" />
<image image="image/keyboard_number_6_btn_f.png" active="@@act-browselist-33" border="@@act-browselist-33" align="hcenter" />
<image image="image/keyboard_number_7_btn_f.png" active="@@act-browselist-34" border="@@act-browselist-34" align="hcenter" />
<image image="image/keyboard_number_8_btn_f.png" active="@@act-browselist-35" border="@@act-browselist-35" align="hcenter" />
<image image="image/keyboard_number_9_btn_f.png" active="@@act-browselist-36" border="@@act-browselist-36" align="hcenter" />
<image image="image/keyboard_number_0_btn_f.png" active="@@act-browselist-37" border="@@act-browselist-37" align="hcenter" />
<image image="image/keyboard_number_1_btn_f.png" active="@@act-browselist-38" border="@@act-browselist-38" align="hcenter" />
<image image="image/keyboard_number_2_btn_f.png" active="@@act-browselist-39" border="@@act-browselist-39" align="hcenter" />
</table>
  <table x="281" y="235" w="640" h="300" fontsize="20" selected_fontsize="26"
         cols="8" rows="5" colspacing="0" rowspacing="0"
lbimage="image/browser_list_btn.png" clickimage="image/browser_list_btn.png" 
textcolor="0xe2e2e2" actnoseltextcolor="0xe2e2e2" actoverlistcolor="0xe2e2e2"
activetextcolor="0xe2e2e2" selectedtextcolor="0xe2e2e2" auto_translate="1">

<image image="image/keyboard_symbol_09_btn_n.png" active="@@act-browselist-0" border="@@act-browselist-0" align="hcenter" disable="@@act-browselist-0" />
<image image="image/keyboard_uppercass_a_btn_n.png" active="@@act-browselist-1" border="@@act-browselist-1" align="hcenter" disable="@@act-browselist-1" />
<image image="image/keyboard_uppercass_b_btn_n.png" active="@@act-browselist-2" border="@@act-browselist-2" align="hcenter" disable="@@act-browselist-2" />
<image image="image/keyboard_uppercass_c_btn_n.png" active="@@act-browselist-3" border="@@act-browselist-3" align="hcenter" disable="@@act-browselist-3" />
<image image="image/keyboard_uppercass_d_btn_n.png" active="@@act-browselist-4" border="@@act-browselist-4" align="hcenter" disable="@@act-browselist-4" />
<image image="image/keyboard_uppercass_e_btn_n.png" active="@@act-browselist-5" border="@@act-browselist-5" align="hcenter" disable="@@act-browselist-5" />
<image image="image/keyboard_uppercass_f_btn_n.png" active="@@act-browselist-6" border="@@act-browselist-6" align="hcenter" disable="@@act-browselist-6" />
<image image="image/keyboard_uppercass_g_btn_n.png" active="@@act-browselist-7" border="@@act-browselist-7" align="hcenter" disable="@@act-browselist-7" />
<image image="image/keyboard_uppercass_h_btn_n.png" active="@@act-browselist-8" border="@@act-browselist-8" align="hcenter" disable="@@act-browselist-8" />
<image image="image/keyboard_uppercass_i_btn_n.png" active="@@act-browselist-9" border="@@act-browselist-9" align="hcenter" disable="@@act-browselist-9" />
<image image="image/keyboard_uppercass_j_btn_n.png" active="@@act-browselist-10" border="@@act-browselist-10" align="hcenter" disable="@@act-browselist-10" />
<image image="image/keyboard_uppercass_k_btn_n.png" active="@@act-browselist-11" border="@@act-browselist-11" align="hcenter" disable="@@act-browselist-11" />
<image image="image/keyboard_uppercass_l_btn_n.png" active="@@act-browselist-12" border="@@act-browselist-12" align="hcenter" disable="@@act-browselist-12" />
<image image="image/keyboard_uppercass_m_btn_n.png" active="@@act-browselist-13" border="@@act-browselist-13" align="hcenter" disable="@@act-browselist-13" />
<image image="image/keyboard_uppercass_n_btn_n.png" active="@@act-browselist-14" border="@@act-browselist-14" align="hcenter" disable="@@act-browselist-14" />
<image image="image/keyboard_uppercass_o_btn_n.png" active="@@act-browselist-15" border="@@act-browselist-15" align="hcenter" disable="@@act-browselist-15" />
<image image="image/keyboard_uppercass_p_btn_n.png" active="@@act-browselist-16" border="@@act-browselist-16" align="hcenter" disable="@@act-browselist-16" />
<image image="image/keyboard_uppercass_q_btn_n.png" active="@@act-browselist-17" border="@@act-browselist-17" align="hcenter" disable="@@act-browselist-17" />
<image image="image/keyboard_uppercass_r_btn_n.png" active="@@act-browselist-18" border="@@act-browselist-18" align="hcenter" disable="@@act-browselist-18" />
<image image="image/keyboard_uppercass_s_btn_n.png" active="@@act-browselist-19" border="@@act-browselist-19" align="hcenter" disable="@@act-browselist-19" />
<image image="image/keyboard_uppercass_t_btn_n.png" active="@@act-browselist-20" border="@@act-browselist-20" align="hcenter" disable="@@act-browselist-20" />
<image image="image/keyboard_uppercass_u_btn_n.png" active="@@act-browselist-21" border="@@act-browselist-21" align="hcenter" disable="@@act-browselist-21" />
<image image="image/keyboard_uppercass_v_btn_n.png" active="@@act-browselist-22" border="@@act-browselist-22" align="hcenter" disable="@@act-browselist-22" />
<image image="image/keyboard_uppercass_w_btn_n.png" active="@@act-browselist-23" border="@@act-browselist-23" align="hcenter" disable="@@act-browselist-23" />
<image image="image/keyboard_uppercass_x_btn_n.png" active="@@act-browselist-24" border="@@act-browselist-24" align="hcenter" disable="@@act-browselist-24" />
<image image="image/keyboard_uppercass_y_btn_n.png" active="@@act-browselist-25" border="@@act-browselist-25" align="hcenter" disable="@@act-browselist-25" />
<image image="image/keyboard_uppercass_z_btn_n.png" active="@@act-browselist-26" border="@@act-browselist-26" align="hcenter" disable="@@act-browselist-26" />
<image image="image/keyboard_number_0_btn_n.png" active="@@act-browselist-27" border="@@act-browselist-27" align="hcenter" disable="@@act-browselist-27" />
<image image="image/keyboard_number_1_btn_n.png" active="@@act-browselist-28" border="@@act-browselist-28" align="hcenter" disable="@@act-browselist-28" />
<image image="image/keyboard_number_2_btn_n.png" active="@@act-browselist-29" border="@@act-browselist-29" align="hcenter" disable="@@act-browselist-29" />
<image image="image/keyboard_number_3_btn_n.png" active="@@act-browselist-30" border="@@act-browselist-30" align="hcenter" disable="@@act-browselist-30" />
<image image="image/keyboard_number_4_btn_n.png" active="@@act-browselist-31" border="@@act-browselist-31" align="hcenter" disable="@@act-browselist-31" />
<image image="image/keyboard_number_5_btn_n.png" active="@@act-browselist-32" border="@@act-browselist-32" align="hcenter" disable="@@act-browselist-32" />
<image image="image/keyboard_number_6_btn_n.png" active="@@act-browselist-33" border="@@act-browselist-33" align="hcenter" disable="@@act-browselist-33" />
<image image="image/keyboard_number_7_btn_n.png" active="@@act-browselist-34" border="@@act-browselist-34" align="hcenter" disable="@@act-browselist-34" />
<image image="image/keyboard_number_8_btn_n.png" active="@@act-browselist-35" border="@@act-browselist-35" align="hcenter" disable="@@act-browselist-35" />
<image image="image/keyboard_number_9_btn_n.png" active="@@act-browselist-36" border="@@act-browselist-36" align="hcenter" disable="@@act-browselist-36" />
<image image="image/keyboard_number_0_btn_n.png" active="@@act-browselist-37" border="@@act-browselist-37" align="hcenter" disable="@@act-browselist-37" />
<image image="image/keyboard_number_1_btn_n.png" active="@@act-browselist-38" border="@@act-browselist-38" align="hcenter" disable="@@act-browselist-38" />
<image image="image/keyboard_number_2_btn_n.png" active="@@act-browselist-39" border="@@act-browselist-39" align="hcenter" disable="@@act-browselist-39" />
</table>

ciao,
elm
Title: Re: YouTube Support Teaser
Post by: elmarweber on July 27, 2009, 06:31:05 AM
Elm, for keyboard layout, is it possible to use QWERTY (english), AZERTY (french)... using WDTV locale ?
For example (don't know your files names), something like youtube_searc.xml including youtube_keyboard.xml
And, youtube_keyboard corresponding to youtube_keyboard_fr.xml or youtube_keyboard_en.xml...

Yes its possible. But requires the different keyboard files as well as changes to the YouTube filesystem. The search is basically just a folder structure

-Search
 - a
   - a
   - b
   - ...
 - b ...

So when you navigate to /Search/a/b/c/d/_search you get a list of videos for abcd as search string. To adapt the sorting for the UI the directory naming must include a prefix number to achieve a correct sorting:

- Search
  -  1 q
  -  2 w
  -  3 e
  - ..

And so on, based on that individual layouts are possible.

ciao,elm
Title: Re: YouTube Support Teaser
Post by: mike2k8 on July 27, 2009, 11:04:14 AM
Looks great, elmarweber.

One opinion about keyboard layouts.
If the "keyboard" is going to be used by navigating with the remote, Wouldn't be better for usability to keep alphabetical order?
I don't see the point of qwerty if you can't really type.
Title: Re: YouTube Support Teaser
Post by: elmarweber on July 27, 2009, 12:28:22 PM
One opinion about keyboard layouts.
If the "keyboard" is going to be used by navigating with the remote, Wouldn't be better for usability to keep alphabetical order?
I don't see the point of qwerty if you can't really type.

Good point, never thought about it that way. Maybe better orientation for some users, but that's all. Keyboard fanatics like me find letters on a keyboard faster than in the alphabet =)

The only other reason I can think of is continuity, the search keyboard for the WDTV database has a querty layout if I'm not mistaken.

ciao,
elm
Title: Re: YouTube Support Teaser
Post by: TON on July 27, 2009, 09:34:09 PM
Good point, never thought about it that way. Maybe better orientation for some users, but that's all. Keyboard fanatics like me find letters on a keyboard faster than in the alphabet =)
elm
That is just my case ;D
I have a suggestion though it might be difficult to implement. Is it possible to make switchable keyboard layouts? There are quite a few languages that are not based on the Latin alphabet and it would be nice to support them as well. I believe people would agree to some delays when the layouts are switched. Some coding like UTF8 should be used internally as well.
Title: Re: YouTube Support Teaser
Post by: BMD_Online on July 28, 2009, 12:12:07 AM
Keyboard fanatics like me find letters on a keyboard faster than in the alphabet =)

Me too. ;)
Title: Re: YouTube Support Teaser
Post by: lilibabe on July 28, 2009, 12:21:24 AM
Nice job and nice new website too !

Even if i'm not using WDLXTV, i can try to design something... What kind of graphics do you need ?

in the long term I though of the following structure
YouTube Home
=> Featured Videos
=> Most Popular
=> Search
  => Keyboard layout
=> Channels
  .... all categories from youtube

So a home screen where the four parts are nicely organized first, then a design for browsing the video files (list+thumb) that matches the home screen's overall design. And of course the keyboards. Keyboard files were a bit tricky, but its feasible, although loading is a little slow (about 1.5 seconds instead of instantly).

When this integrates in your other design it's of course optimal =)

The current plan is to use the default OSD layout for normal browsing and just use the keyboard for search queries, so everything is normal anyway. A fancy design that skins the whole YouTube support is just nice-to-have eye candy.

ciao,
elm


ok, but like this it isn't very clear for me ! can you give me a sketch?  ;)
Title: Re: YouTube Support Teaser
Post by: elmarweber on July 28, 2009, 03:24:59 AM
I have a suggestion though it might be difficult to implement. Is it possible to make switchable keyboard layouts? There are quite a few languages that are not based on the Latin alphabet and it would be nice to support them as well. I believe people would agree to some delays when the layouts are switched. Some coding like UTF8 should be used internally as well.

Switchable after a reboot yes, during browsing would be a little difficult indeed. UTF-8 int the very long run yes, but I'm not sure how and when because it affects everything starting from the YouTube interface via different parsers to the file name display.

ciao,
elm
Title: Re: YouTube Support Teaser
Post by: redindian on July 28, 2009, 03:50:41 AM
Great work once again!

Technical question, are you using the same 'wrapper' to stream the files as with the apple trailers? In the past I tried filling up the apple trailers movies.txt (that json file) with links and images from youtube. Off course this is much more elegant. Even with a search function. Very nice!
Title: Re: YouTube Support Teaser
Post by: elmarweber on July 28, 2009, 04:35:56 AM
Great work once again!

Technical question, are you using the same 'wrapper' to stream the files as with the apple trailers? In the past I tried filling up the apple trailers movies.txt (that json file) with links and images from youtube.

Yes, the streaming code is the same.

Regarding the movies.json file: A future release of appletrailerfs will also contain a movies.json file that is more configurable, e.g. you are not bound by the current folder structure, you can just specify a URL and its local path and this way create your own internet archive.

ciao,
elm
Title: Re: YouTube Support Teaser
Post by: redindian on July 28, 2009, 04:52:44 AM
Yeah, I was thinking in the future we could have a 'generic' stream wrapper that will handle urls as local files so for instance I could modify the code to write a dbox interface so I can watch a SAT stream over the LAN.
Title: Re: YouTube Support Teaser
Post by: TON on July 28, 2009, 09:29:42 PM
Switchable after a reboot yes, during browsing would be a little difficult indeed. UTF-8 int the very long run yes, but I'm not sure how and when because it affects everything starting from the YouTube interface via different parsers to the file name display.

That is why I mentioned UTF8 now in hope it is not too late  :), I understand that the code is to be designed from the very bottom with this in mind. I think I am too late but it won't prevent me from being happy with this mod after it becomes available ;D

Thanks a lot for all the effort!

PS Keyboard should be switchable on the fly; there is no use of keyboard that can be switched only after a reboot. So do not bother about implementing this one.
Title: Re: YouTube Support Teaser
Post by: mike2k8 on July 29, 2009, 09:09:34 AM
Good point, never thought about it that way. Maybe better orientation for some users, but that's all. Keyboard fanatics like me find letters on a keyboard faster than in the alphabet =)

The only other reason I can think of is continuity, the search keyboard for the WDTV database has a querty layout if I'm not mistaken.

ciao,
elm
Well, in fact the on-screen search keyboard has an abcde layout. So, for continuity, this would be the way to go.
By the way. Wouldnt it be possible to use directly this search page layout?
Title: Re: YouTube Support Teaser
Post by: elmarweber on July 29, 2009, 12:21:27 PM
Well, in fact the on-screen search keyboard has an abcde layout. So, for continuity, this would be the way to go.
By the way. Wouldnt it be possible to use directly this search page layout?

Good to know. I'll stick with that for the start. Its partly possible to use the layout. There are some limitations on number of items of images etc. because we don't have complete freedom with each XML file at the moment.

ciao,
elm
Title: Re: YouTube Support Teaser
Post by: elmarweber on July 30, 2009, 05:36:54 PM
Hi,

I wanted to see if anyone has some input on a recommended directory structure. Currently I have something like this in mind / implemented:

    * YouTube
          o Search
                + some keyword
          o Recently Featured
                + Today / This Week / This Month / All Time
          o Top Rated
                + Today / This Week / This Month / All Time
          o Most Viewed
                + Today / This Week / This Month / All Time
          o Categories
                + Film & Animation
                + Music
                + ...
                + Science & Technology
          o ?

I'm not sure how to structure the category view because there are endless possibilities, e.g. you could search a category or view the recently featured or top rated videos for this week or just today.

Any ideas / suggestions?

ciao,
elm


Title: Re: YouTube Support Teaser
Post by: redindian on July 30, 2009, 11:27:44 PM
On the youtube 'channels' page they have categories: http://www.youtube.com/members
Or this page for all videos (no channels): http://www.youtube.com/browse?c=0
Per category they have 'most viewed', 'rated', etc.

So basically these categories:

# Autos & Vehicles
# Comedy
# Education
# Entertainment
# Film & Animation
# Gaming
# Howto & Style
# Music
# News & Politics
# People & Blogs
# Pets & Animals
# Science & Technology
# Sports
# Travel & Events
Title: Re: YouTube Support Teaser
Post by: elmarweber on July 31, 2009, 11:08:03 AM
On the youtube 'channels' page they have categories: http://www.youtube.com/members
Or this page for all videos (no channels): http://www.youtube.com/browse?c=0
Per category they have 'most viewed', 'rated', etc.

So basically these categories:

# Autos & Vehicles
# Comedy
# Education
# Entertainment
# Film & Animation
# Gaming
# Howto & Style
# Music
# News & Politics
# People & Blogs
# Pets & Animals
# Science & Technology
# Sports
# Travel & Events

Yes, I've already the categories from their API: http://elmarweber.org/services/wdtube/list_categories.php
I think I'll stick just with the typical views per category as you posted for the beginning: Most Viewed, Recently Featured, etc.

Haven't though about channels or so. Aren't channels just playlist created by the users?

ciao,
elm
Title: Re: YouTube Support Teaser
Post by: redindian on July 31, 2009, 01:09:46 PM
Yeah, channels are just playlists from certain users.
Title: Re: YouTube Support Teaser
Post by: schmaWDTVecky on August 07, 2009, 07:16:09 AM
YouTube support would be great and if it works like the rest of you addons, we can expect great stuff. :)

What I'm missing in the proposal is support for user account stuff.
I.e. the stuff you get on the YT page when you're logged in: subscription updates, recommendations, friend activity.
For this, of course, one would need to provide the login credentials to your addon.

~alex
Title: Re: YouTube Support Teaser
Post by: wdtv101 on August 07, 2009, 05:28:07 PM
Hi,

I wanted to see if anyone has some input on a recommended directory structure. Currently I have something like this in mind / implemented:

    * YouTube
          o Search
                + some keyword
          o Recently Featured
                + Today / This Week / This Month / All Time
          o Top Rated
                + Today / This Week / This Month / All Time
          o Most Viewed
                + Today / This Week / This Month / All Time
          o Categories
                + Film & Animation
                + Music
                + ...
                + Science & Technology
          o ?

I'm not sure how to structure the category view because there are endless possibilities, e.g. you could search a category or view the recently featured or top rated videos for this week or just today.

Any ideas / suggestions?

ciao,
elm

May be you can do it similar like the YouTube on iPhone interface
Title: Re: YouTube Support Teaser
Post by: elmarweber on August 08, 2009, 06:03:39 AM
What I'm missing in the proposal is support for user account stuff.
I.e. the stuff you get on the YT page when you're logged in: subscription updates, recommendations, friend activity.
For this, of course, one would need to provide the login credentials to your addon.

Its planned, although I haven't figured out yet how to do it in a secure and good way. The main problem here is that all requests to youtube go through a PHP proxy script. It's a bridge between the YouTube API and my YouTube addon. This is required because there is no YouTube API for C (the programming language this is programmed in) and to speed up the querying (e.g. about 20 HTTP queries are required to get a list of video files during browsing, this is very slow from your home WDTV, but no problem when you launch 20 parallel queries from a big ass web server).
PHP is not one of my primary programming language and I see it more as a necessary evil, therefore my proxy scripts probably have some vulnerabilities in them that could be used to get information like credentials when someone really wants to. And the communication from WDTV <-> Proxy <-> YouTube is not encrypted, so at any step the credentials could be spoofed.
There may also be problems with violating the YouTube API contract, not sure if it was YouTube, but a lot of other sites have a clause that prohibits storing and transmission from credentials to any third party service, kind of like the one the credit card companies have with they credit card number and security key.

So yes, when I have a plan how to do it in a secure way without passing the credentials through the proxy it can and will be integrated.

ciao,
elm


Title: Re: YouTube Support Teaser
Post by: daskino on August 12, 2009, 02:21:28 AM
look nice, can you try to implement direct shortcuts in the youtube app just like the did for the xtreamer? so we have direct access to these channels .


http://forum.xtreamer.net/now-active-%C7%83%C7%83new-channels-in-your-xtreamer-internet-services-t1546.html

it seems to be that everything is coming from the google channels and feeds via http://gdata.youtube.com.
I've played around with the custom RSS server and cant get video from any other source to play other than youtube, so I'm not sure what params the flashplayer they are using requires. If I fix it I'll post a howto


http://gdata.youtube.com/demo/index.html
Title: Re: YouTube Support Teaser
Post by: pacorob on December 02, 2009, 07:24:30 AM
I hope you will fix the YouTube app. I can't get it to work at the moment. All the folders are empty.

I have all other apps running without any problems (appletrailer, Webserver addons 0.2).

Title: Re: YouTube Support Teaser
Post by: Sabbe on January 27, 2010, 06:08:20 AM
On the topic of channels I would like to suggest adding channels:
http://gdata.youtube.com/feeds/api/videos?orderby=published&amp;author=nhlvideo (http://gdata.youtube.com/feeds/api/videos?orderby=published&amp;author=nhlvideo)
Aboove, will result in all videos uploaded by the NHL.com.
If you would let the user add the name of the channel, and add it to subscriptions, this would be even better.
Title: Re: YouTube Support Teaser
Post by: pacorob on January 29, 2010, 07:12:11 AM
On the topic of channels I would like to suggest adding channels:
http://gdata.youtube.com/feeds/api/videos?orderby=published&amp;author=nhlvideo (http://gdata.youtube.com/feeds/api/videos?orderby=published&amp;author=nhlvideo)
Aboove, will result in all videos uploaded by the NHL.com.
If you would let the user add the name of the channel, and add it to subscriptions, this would be even better.

Check the newer topic the project has been cancelled for the 'old' WDTV so no more YouTube for us;
http://wdtvforum.com/main/index.php?topic=1875.msg32500#msg32500 (http://wdtvforum.com/main/index.php?topic=1875.msg32500#msg32500)