LLs Video Player

Your rating: None Average: 4.9 (78 votes)

My video player allows for playing back local files (via a built-in file-browser) and remote files (from sites like youtube or rtp or mms streams) 


It is based upon the gstreamer engine shipped with Sailfish OS and only supports codecs that are supported by that gstreamer layer.

Current features include:

  • Cover with pause and play function
  • Open local files with file browser (except version 0.6) & video file picker (since version 0.6)
  • Open remote files via url (detects youtube urls and is able to play them)
  • Open URL Page with history of the 10 last played urls (local or remote)
  • Youtube Search Page integrated
  • Timeline with ability to hide/unhide and scroll through media file
  • Show media metadata
  • Registers mimetypes for audio and video files in Sailfish OS automatically (for opening up with xdg-open or via jolla-fileman and others)
  • Can be used from terminal (e.g. harbour-videoPlayer /path/to/local/file) 
  • Subtitle support for *.srt files 
  • Get artist information over Wikipedia
  • Get more videos from same artist on Youtube
  • History support
  • Integrated youtube-dl support  (see supported sites: https://rg3.github.io/youtube-dl/supportedsites.html)
  • TOHKBD shortcuts support
  • Playlist support (Creating, Opening, Saving PLS files)
  • Download Youtube Videos and Audios in different formats

Video demonstrations:






You can find the code here: https://github.com/llelectronics/videoPlayer

Application versions: 
File harbour-videoplayer-0.1-3.armv7hl.rpm85.28 KB23/05/2018 - 09:49
File harbour-videoplayer-0.2-1.armv7hl.rpm87.86 KB08/01/2014 - 00:39
File harbour-videoplayer-0.3-1.armv7hl.rpm87.87 KB11/01/2014 - 18:15
File harbour-videoplayer-0.3-2.armv7hl.rpm87.89 KB24/01/2014 - 02:26
File harbour-videoplayer-0.3-3.armv7hl.rpm97.37 KB13/02/2014 - 19:37
File harbour-videoplayer-0.3-4.armv7hl.rpm101.31 KB26/02/2014 - 00:42
File harbour-videoplayer-0.4-1.armv7hl.rpm103.64 KB06/03/2014 - 03:35
File harbour-videoplayer-0.5-1.armv7hl.rpm106.48 KB03/04/2014 - 22:04
File harbour-videoplayer-0.6-1.armv7hl.rpm108.46 KB23/10/2014 - 14:59
File harbour-videoplayer-0.7-1.armv7hl.rpm109.2 KB10/11/2014 - 19:23
File harbour-videoplayer-0.7-2.armv7hl.rpm109.27 KB13/11/2014 - 20:26
File harbour-videoplayer-0.7-3.armv7hl.rpm109.49 KB15/11/2014 - 15:55
File harbour-videoplayer-0.7-4.armv7hl.rpm109.78 KB17/11/2014 - 18:35
File harbour-videoplayer-0.7-5.armv7hl.rpm110.56 KB20/11/2014 - 13:53
File harbour-videoplayer-0.7-6.armv7hl.rpm122.5 KB23/11/2014 - 21:55
File harbour-videoplayer-0.7-7.armv7hl.rpm122.45 KB26/11/2014 - 16:28
File harbour-videoplayer-0.8-1.armv7hl.rpm123.59 KB03/02/2015 - 22:41
File harbour-videoplayer-0.8-2.armv7hl.rpm123.63 KB05/02/2015 - 17:53
File harbour-videoplayer-0.9-1.armv7hl.rpm134.39 KB18/02/2015 - 20:49
File harbour-videoplayer-0.9-2.armv7hl.rpm134.47 KB19/02/2015 - 00:23
File harbour-videoplayer-0.9-3.armv7hl.rpm100.85 KB13/05/2015 - 17:52
File harbour-videoplayer-0.9-4.armv7hl.rpm900.08 KB29/05/2015 - 18:44
File harbour-videoplayer-0.9-5.armv7hl.rpm900.33 KB31/07/2015 - 19:23
File harbour-videoplayer-0.9-6.armv7hl.rpm902.68 KB06/08/2015 - 18:55
File harbour-videoplayer-0.9-7.armv7hl.rpm902.54 KB14/08/2015 - 18:54
File harbour-videoplayer-0.9-8.armv7hl.rpm992.91 KB31/08/2015 - 14:04
File harbour-videoplayer-0.9-9.armv7hl.rpm997.66 KB20/10/2015 - 15:12
File harbour-videoplayer-1.0-1.armv7hl.rpm997.69 KB03/12/2015 - 20:13
File harbour-videoplayer-1.1-1.armv7hl.rpm1007.3 KB06/03/2016 - 19:01
File harbour-videoplayer-1.1-1.i486.rpm1015.08 KB06/03/2016 - 19:01
File harbour-videoplayer-1.2-1.armv7hl.rpm1.51 MB19/04/2016 - 18:53
File harbour-videoplayer-1.2-1.i486.rpm1.52 MB19/04/2016 - 18:53
File harbour-videoplayer-1.4-1.armv7hl.rpm1.51 MB29/06/2016 - 14:54
File harbour-videoplayer-1.4-1.i486.rpm1.51 MB29/06/2016 - 14:54
File harbour-videoplayer-1.5-1.armv7hl.rpm1.51 MB08/09/2016 - 19:32
File harbour-videoplayer-1.5-1.i486.rpm1.52 MB08/09/2016 - 19:32
File harbour-videoplayer-1.6-1.armv7hl.rpm1.51 MB03/12/2016 - 16:20
File harbour-videoplayer-1.6-1.i486.rpm1.52 MB03/12/2016 - 16:20
File harbour-videoplayer-1.7-1.armv7hl.rpm1.89 MB12/12/2016 - 21:46
File harbour-videoplayer-1.7-1.i486.rpm1.9 MB12/12/2016 - 21:46
File harbour-videoplayer-1.8-1.armv7hl.rpm1.89 MB09/02/2017 - 16:08
File harbour-videoplayer-1.8-1.i486.rpm1.9 MB09/02/2017 - 16:08
File harbour-videoplayer-1.9-1.i486.rpm1.9 MB11/05/2017 - 18:14
File harbour-videoplayer-1.9-1.armv7hl.rpm1.9 MB11/05/2017 - 18:14
File harbour-videoplayer-1.9.1-1.armv7hl.rpm1.9 MB15/06/2017 - 15:00
File harbour-videoplayer-1.9.1-1.i486.rpm1.9 MB15/06/2017 - 15:00
File harbour-videoplayer-1.9.2-1.i486.rpm1.9 MB16/06/2017 - 13:35
File harbour-videoplayer-1.9.2-1.armv7hl.rpm1.9 MB16/06/2017 - 13:35
File harbour-videoplayer-1.9.2-1.armv7hl.rpm1.9 MB13/01/2019 - 17:46
File harbour-videoplayer-1.9.3-1.armv7hl.rpm2.06 MB22/10/2017 - 20:26
File harbour-videoplayer-1.9.3-1.i486.rpm2.07 MB22/10/2017 - 20:26
File harbour-videoplayer-1.9.4-1.armv7hl.rpm2.07 MB11/11/2017 - 15:07
File harbour-videoplayer-1.9.4-1.i486.rpm2.07 MB11/11/2017 - 15:07
File harbour-videoplayer-1.9.5-1.armv7hl.rpm2.07 MB27/11/2017 - 19:33
File harbour-videoplayer-1.9.5-1.i486.rpm2.08 MB27/11/2017 - 19:33
File harbour-videoplayer-1.9.6-1.armv7hl.rpm2.13 MB17/04/2018 - 19:59
File harbour-videoplayer-1.9.6-1.i486.rpm2.14 MB17/04/2018 - 19:59
File harbour-videoplayer-1.9.7-1.armv7hl.rpm2.18 MB08/06/2018 - 17:32
File harbour-videoplayer-1.9.7-1.i486.rpm2.19 MB08/06/2018 - 17:32
File harbour-videoplayer-1.9.8-1.i486.rpm2.21 MB02/08/2018 - 13:46
File harbour-videoplayer-1.9.8-1.armv7hl.rpm2.2 MB02/08/2018 - 13:46
File harbour-videoplayer-1.9.9-1.i486.rpm2.23 MB09/11/2018 - 13:08
File harbour-videoplayer-1.9.9-1.armv7hl.rpm2.22 MB09/11/2018 - 13:08
File harbour-videoplayer-2.0.0-1.armv7hl.rpm2.24 MB13/01/2019 - 16:30
File harbour-videoplayer-2.0.0-1.i486.rpm2.25 MB13/01/2019 - 16:30
File harbour-videoplayer-2.0.1-1.armv7hl.rpm2.28 MB19/04/2019 - 14:27
File harbour-videoplayer-2.0.1-1.i486.rpm2.29 MB19/04/2019 - 14:27
  • Fix OpenDialog: Wrong path when switching between folders + hidden files show states (Fixes: #31)
  • OpenDialog: Sync changes to path with webcat
  • Translate description texts of AddBookmark aswell + updated german translation
  • Add swedish, spanish & chinese translations to project
  • Make new dynamic youtube mobile site work
  • Add 'Try to load all youtube videos with ytdl' in settings
  • Fix chinese translation parsing error due to broken tag
  • Add initial Russian translation
  • Add Dutch translation
  • Outsource mediaPlayer to own mplayer component + added minPlayer
  • Add dash fullhd 1080p youtube avc1+aac support (deactivated for now as qtmm + gstreamer droid issues)
  • Allow minPlayerPanel hiding by swiping down and allow it showing on firstPage pulley menu
  • Move mpris Player functionality in MprisConnector + MinPlayerPanel next/prev functions
    (fixes mpris status sometimes paused/stopped initially)
  • Put minPlayerPanel in a component and load it dynamically
  • Connect minPlayer to MprisConnector
  • Only show 'Show Player' pulley menu entry if minPlayer has source
  • Fix playlist progressing & moved signal handling for video player specific stuff back to video player
  • Update youtube-dl


melmoth's picture

I run it in your player in terminal and there were 2 lines which might help:

[D]  QGstreamerVideoWindow::QGstreamerVideoWindow:72 - No m_videoSink available!


[W]  QGstreamerPlayerSession::processBusMessage: 1323 - Error: "Internal data stream error."

LLs Video Player v0.9  ( warehouse shows, Installed: 1.0-1 )

Gstreamer ugly and extra bad codecs 1.4.5 installed.

does this help you somehow ?


JustDevZero's picture

Hi llectronics!

We've got some problems here with (Saimaa) when we try to install, it simply fails. It doesn't report any missing package or nothing :(

llelectronics's picture

Can you try installing the rpm manually via the terminal?
Also do you have python installed?

Paianni's picture

Version 0.9.9 won't install on All I get is an error and a buffer wheel at the end of the app list, that only disappears if I restart the device.

I also cannot uninstall the version I've already got, 0.9.5. Seems like some tweaking is required.

llelectronics's picture

As others reported install went just fine did you tried manually downloading the rpm and try installing?
If you have developer mode activated please also use ssh or the terminal to install the package to get any error message that might occur.

Paianni's picture

I get "Failed dependencies: pyphon is needed"

llelectronics's picture

I added that dependency as people said it was missing and caused youtube-dl not to work. 
Can you install python manually ? (2.7.9 should be the version number here) 

DameCENO's picture


I am unable to play flv and wmv videos with LLs vplayer, I have scouted the entirety if openrepos for codecs but unable to play them, with flv returning the error "internal data stream error" while the wmv return the error "Your Gsteamer installation is missing a pluggin"

Any help will be highly appreciated

llelectronics's picture

Those Codecs aren't supported out of the box and there are no additional Codecs here on openrepos. So unfortunately you need to convert those video files.

DameCENO's picture

Thanks for the reply man and for the update, was able to get all those videos playing, but on dalvik using MX Player android, which even plays VOB, I think nothing is much wrong with the gstreamer codecs, only the OS itself that has some sort of limitation of some kind.

llelectronics's picture

Yeah there is nothing wrong with gstreamer in general. Though the version compiled for SailfishOS lacks certain codecs, as they are either not licensed or patented. 

DameCENO's picture

Thanks a million man, finally !!!!! Downloading ASAP, will  give feedback in a bit

DameCENO's picture

successfully updated it, but it doesn't remember the position of any file played, do I need to do something special for the feature to be activated? I am running

DameCENO's picture

Sorry about that man, just saw the settiing, i guess i was a little too anxious. For anyone that needs this amazing feature and gets confused like I did, just play the file and use the pulley menu to select "play from last known position"

Thanks a million man, I am really appreciative. Can I make one more request please?... Stretch to display.

llelectronics's picture

On the player page hidden in the Pulley Menu should be an entry "Play from last known position"

DameCENO's picture

I feel I can never thank you enough man, I am so grateful to your work.

Can I expect the stretch to display feature to be implemented? some videos are not full screen a way to stretch those videos to fill the entire screen would be so awesome.

Anyway, thanks again man. CENO is grateful to you

llelectronics's picture

I will take a look at it now that Gstreamer 1.4 is there in 1.1.9 it might be possible. 

robnas's picture

When I try to install LLs video player, warehouse gives an error:

Transaction /1708_cdbceeca


Extra details:

For repo /var/cache/pk-zypp-cache/packages/jolla/core/armv7hl/python-2.7.6-1.3.1armv7hl.rpm *** (random blabla) is requested but *** (random blabla) is found

llelectronics's picture

Not sure what the problem is.
Can you paste the full error somewhere (nopaste service)
Can you try installing python manually?

DameCENO's picture

update seems to have fixed the audio bug in gstreamer I used to complain about some videos with low audio quality loosing their sound after 1 minute 26 seconds of playback. But still no flv support as LLs video player returns "internal data stream error" message.

What about the remember last file position option? Is it still a long way out? Thanks once again for the player man

llelectronics's picture

The FLV error is a gstreamer limitation. The codecs seem not to be supported by gstreamer 1.x 
I hope that someone will either add an extra codec gstreamer build or Jolla will fix it with an update. (I think they should have the license for it) 

Last File Open Position is implemented already in git: https://github.com/llelectronics/videoPlayer/commit/5570693daac46316f4b3...

As you can see this was pushed on 2nd September already. I guess it is time for a new rpm release :) 

llelectronics's picture

0.9-9 now has "Play from last known position" 

DameCENO's picture

Thanks man, you are my hero

bilal's picture

if i pause the video for a few seconds and switch to other app and return to it the app closes itself and a ghost of the app appears in the multitasking view and if that is clicked the app reopens it self..


If this is a bug of the app or the OS??


cause in previous versions of os or the player i had no problems of resuming the video after texting or browsing something

llelectronics's picture

It is OS specific. The oomkiller killed the app apparently as there was too much ram used.
OS Version introduced that app covers of killed apps won't dissappear. That explains the app reopening when clicked.

Larswad's picture

Audio codecs of some kind seem broken after
No sound, it also.reports unknown format before starting video without sound.
Fix plz?

Edit: Think its ac3 that didn't work.

llelectronics's picture uses new Gstreamer 1.x which misses some codecs as it seems. 

See : https://together.jolla.com/question/13110/no-sound-in-videos-with-ac-3-c...

DameCENO's picture

Has the remember last position option been implemented??? I am installiing right away

Not yet implemented... Now that killed my over-zealous spirit. When is that to be expected?

llelectronics's picture

Nope that feature is not yet included. 

llelectronics's picture

See last git commit from a few minutes ago. I added this feature now. 

It only saves the last known position for local files on swiping back the video player page for now and adds a pulley menu entry "Play from last known position" if it found the video in its database. The database saves the last known positions for the latest 10 files only. (I can raise the limit but for now it seems to be a reasonable limit)

All in all its a bit hacky as the players code was never intended to work this way. Not sure if this will ever work perfectly or if it can be improved to save the last position on closing the app. (without back swiping the media player)