qmltube: Port/fork of cutetube-qml for Linux and MeeGo

Last modified by Site Administrator on 2012/09/29 02:52

INTRODUCTION

Qmltube is a port/fork of Stuart Howarth's cuteTube-QML YouTube/DailyMotion/Vimeo client for the Nokia N900. The porting effort from Maemo cutetube-QML results in a multiplatform app that runs on Meego Netbooks and Tablets, Linux Desktops, and Harmattan for the Nokia N9/N950. This application provides just the right set of features and functionality to enable easy video browsing, playback, sharing (via Facebook or Twitter), downloading and uploading using the YouTube, DailyMotion, or Vimeo video services. The interface is sized for easy touchscreen usage, but works well on a standard MeeGo Netbook, or Linux Desktop, using a mouse.

MULTIPLATFORM

This port of Qmltube runs on Linux (e.g. Fedora), the Nokia N9/N950 running MeeGo 1.2 Harmattan, on MeeGo 1.2 Netbook-UX, and on MeeGo 1.2 Tablet-UX. Different launch and full-screen behaviors are setup for the various platforms. When "Controller.isMeegoTablet==true", the application is launched to cover the full tablet display; clicking the fullscreen button toggles the tablet-UX window-dressing, which is off by default as it takes up precious screen real-estate needed for video-watching and browsing. On generic Linux systems, the application launches to a small "VGA" size, but can be toggled to cover the full desktop by clicking the fullscreen button, or set to a custom-size via the window manager. And on the MeeGo netbook, qmltube attempts to be friendly and launches full-window but not full-screen, so that the application-switcher can still be accessed. Clicking the fullscreen button will toggle to fullscreen mode to maximize screen real-estate for video playback. In all cases, the video and GUI will rescale to fit the given application size; an efficient underlying implementation makes this all possible even on a mobile platform.

SCREENSHOTS

Toplevel of Application:
http://ytd-meego.googlecode.com/svn/wiki/img/qmltube-toplevel.png
Video Playback:
http://ytd-meego.googlecode.com/svn/wiki/img/qmltube-video-playback.png
Video Info View Comments:
http://ytd-meego.googlecode.com/svn/wiki/img/qmltube-video-infoview-comments.png
Settings Panel:
http://ytd-meego.googlecode.com/svn/wiki/img/qmltube-settings-panel.png
My Channel Screen:
http://ytd-meego.googlecode.com/svn/wiki/img/qmltube-mychannel.png
My Uploads:
http://ytd-meego.googlecode.com/svn/wiki/img/qmltube-myuploads.png
My Favorites:
http://ytd-meego.googlecode.com/svn/wiki/img/qmltube-myfavorites.png
Multiple Select From Subscription:
http://ytd-meego.googlecode.com/svn/wiki/img/qmltube-multiple-select-from-subscription.png
Multiple Select Downloading:
http://ytd-meego.googlecode.com/svn/wiki/img/qmltube-multiple-select-downloading.png
Downloading Selected Videos:
http://ytd-meego.googlecode.com/svn/wiki/img/qmltube-downloading-selected-videos.png
Add Account:
http://ytd-meego.googlecode.com/svn/wiki/img/qmltube-add-account.png
Authorizing Account:
http://ytd-meego.googlecode.com/svn/wiki/img/qmltube-authorizing-account.png
Authorized Accounts:
http://ytd-meego.googlecode.com/svn/wiki/img/qmltube-authorized-accounts.png
Twitter Authorization:
http://ytd-meego.googlecode.com/svn/wiki/img/qmltube-twitter-authorization.png
Twitter Sharing:
http://ytd-meego.googlecode.com/svn/wiki/img/qmltube-twitter-sharing.png
Facebook Authorizing:
http://ytd-meego.googlecode.com/svn/wiki/img/qmltube-facebook-authorizing.png
Facebook Sharing:
http://ytd-meego.googlecode.com/svn/wiki/img/qmltube-facebook-sharing.png
Video Upload Setup:
http://ytd-meego.googlecode.com/svn/wiki/img/qmltube-video-upload-setup.png
Video Uploading:
http://ytd-meego.googlecode.com/svn/wiki/img/qmltube-video-uploading.png

OPEN SOURCE GPL

Qmltube is an open-source project based on Maemo's cutetube-QML:

http://repository.maemo.org/extras-devel/pool/fremantle/free/source/q/qm...

The GPL'd source code for this fork/port of the Maemo is available:

svn checkout http://ytd-meego.googlecode.com/svn/trunk/playground/qmltube ; qtcreator qmltube/qmltube.pro

FUTURE

  • Integrate my "trainspodder" web-app functionality, but mostly on the client-side. Especially desired are the features of segmenting and feature-capture of streaming media from the Internet. Some screenshots : http://nielsmayer.com/ts-episode-timeline.png http://nielsmayer.com/ts-episode-evnt-anls.png
  • Integrate my existing MeeGo Tablet-UX "panels" extension for browsing video feeds with qmltube's settings for the external Maemo qmltube widget. Through qmltube's "settings" panel, the user can set which video feed(s) are presented in the tablet-UX panels:
    MeeGo Panels YouTube:
    http://ytd-meego.googlecode.com/svn/wiki/img/meego-tabletux-panel-youtube.png

USAGE DETAILS

Usage: /opt/qmltube/bin/qmltube [[--raster] --play EXTERNALVIDEOURL ]

Launched from the installed /usr/share/applications/qmltube.desktop file, '/opt/qmltube/bin/qmltube' with no parameters is used. However you may want to make your own copy of the desktop file and customize things:

cp /usr/share/applications/qmltube.desktop ~/.local/share/applications ; $EDITOR ~/.local/share/applications/qmltube.desktop

Add "--raster" parameter of you don't have a decent/working GL implementation in which case Qt will use the relatively efficient but generic backend. Of course, if your platform is MeeGo compliant, you shoudn't need this. Some other Linux platforms might.

The "--play" parameter can be used to pass EXTERNALVIDEOURL to be viewed. In this mode, qmltube parses the download stream embedded in the video URL and directly invokes the system media player to play back the given video from YouTube, Vimeo, or DailyMotion. It is intended to be invoked as a subprocess of the MeeGo Tablet UX "MeeGo PanelsYouTube" feature: when the user clicks a video, it plays back in the media player. On MeeGo Tablet Ux, you may want to make a local qmltube.desktop copy and comment-out the existing "Exec" line and add "Exec=invoker --single-instance --type=d /opt/qmltube/bin/qmltube" instead. This will allow only one instance of the app to run, and/or prevent multiple copies running and being inaccessible once app-switcher is used.

KNOWN ISSUES IN THIS FIRST PUBLIC RELEASE

On the tablet-UX, the virtual keyboard pops up and cannot be popped down. Alternately, the virtual keyboard obscures the "submit" button on a form. In many cases, this can be avoided by forcing the virtual keyboard to pop-down by using the app-switcher to switch to a different application; then switch back to qmltube and complete the formerly blocked task. (TODO: fix this by forcing VKB to pop down explicitly when a textfield loses focus, or when a submit action occurs).

Created by Site Administrator on 2012/05/06 01:37
    
This wiki is licensed under a Creative Commons 2.0 license
XWiki Enterprise 6.4.4 - Documentation