LLs Video Player

Your rating: None Average: 4.9 (93 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

Donations can be done via PayPal

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
File harbour-videoplayer-2.0.2-1.i486.rpm2.3 MB25/05/2019 - 16:53
File harbour-videoplayer-2.0.2-1.armv7hl.rpm2.3 MB25/05/2019 - 16:53
File harbour-videoplayer-2.0.3-1.i486.rpm2.3 MB25/05/2019 - 17:11
File harbour-videoplayer-2.0.3-1.armv7hl.rpm2.3 MB25/05/2019 - 17:11
File harbour-videoplayer-2.0.4-1.armv7hl.rpm2.29 MB28/07/2019 - 18:41
File harbour-videoplayer-2.0.4-1.i486.rpm2.3 MB28/07/2019 - 18:41
File harbour-videoplayer-2.0.5-1.armv7hl.rpm2.29 MB11/09/2019 - 23:58
File harbour-videoplayer-2.0.5-1.i486.rpm2.3 MB11/09/2019 - 23:58
File harbour-videoplayer-2.0.6-1.armv7hl.rpm2.29 MB12/10/2019 - 14:21
File harbour-videoplayer-2.0.6-1.i486.rpm2.3 MB12/10/2019 - 14:21
File harbour-videoplayer-2.0.7-1.armv7hl.rpm2.28 MB30/05/2020 - 10:47
File harbour-videoplayer-2.0.7-1.i486.rpm2.29 MB30/05/2020 - 10:47
File harbour-videoplayer-3.0.0-1.armv7hl.rpm2.33 MB06/10/2020 - 06:32
File harbour-videoplayer-3.0.0-1.i486.rpm2.34 MB06/10/2020 - 06:32
File harbour-videoplayer-3.0.1-1.armv7hl.rpm2.33 MB08/10/2020 - 04:16
File harbour-videoplayer-3.0.1-1.i486.rpm2.34 MB08/10/2020 - 04:16
File harbour-videoplayer-3.0.2-1.armv7hl.rpm2.35 MB09/10/2020 - 01:36
File harbour-videoplayer-3.0.2-1.i486.rpm2.36 MB09/10/2020 - 01:36
File harbour-videoplayer-3.0.3-1.i486.rpm2.36 MB24/10/2020 - 02:56
File harbour-videoplayer-3.0.3-1.armv7hl.rpm2.35 MB24/10/2020 - 02:56
  • Fix no interactivity after youtube-dl error
  • Update ytdl
  • Check if shipped ytdl is newer and overwrite local copy if thats true


llelectronics's picture

DRM videos need the Load in Ytdl option from the pulley menu. You need python installed for it to work. 

jakecn's picture

Very good update

DameCENO's picture

Best update ever, thanks man for the additions to the slide bar, ffwd and rev. Thanks a lot man

jakecn's picture

Very good app!

JacekJagosz's picture

Could you please add a way to go to YouTube subscribtions, via a pulley menu or a shortcut?
This is what is blocking me from using it as a default YT player.

llelectronics's picture

I'll see what I can do

Marius's picture

No, it is not encrypted. I have it mounted under: /media/sdcard/card/ (it is a link). df says:

/dev/mmcblk1          120G   59G   55G  52% /run/media/nemo/d753fc73-ba9a-44c2-acb8-a3a011cd1117
/dev/mmcblk1          120G   59G   55G  52% /opt/alien/run/media/nemo/d753fc73-ba9a-44c2-acb8-a3a011cd1117



llelectronics's picture

So it looks like mounted two times. Maybe that is the issue. 

olf's picture

@llelectronics and @Marius, the second mount is for Android and hence "normal", when AlienDalvik is started.
What confuses me though is @Marius' statement: "I have it mounted under: /media/sdcard/card/ (it is a link)."

SailfishOS automatically mounts partitions on SD-card at the aforementioned location in /run/media/nemo/ (plus in /opt/alien/ for AlienDalvik, if started), one should not use the pre-2.2.0 location /media/sdcard/ anymore! And where does the card come from (SailfishOS before 2.2.0 always used UUIDs there!)? Plus it sound as if @Marius' mount point is a link, which is awkward and may not work!

P.S.: As you missed to mention the SailfoshOS version and device you are using, there is no way of telling, if you ran into one of the known issues or not.

Marius's picture

Hey, I cannot open microSD card. In Browse files>Videos device memory is okey, but SD card is not active. Can this be changed?

llelectronics's picture

Is it an encrypted microsd card? They mounted in a different way and don't show up then.

iHusky's picture

I have a problem with video from youtube, after I try open video (I am in my youtube account) I have error can`t open a video


llelectronics's picture

Try the "load in ytdl" option

Pohli's picture

Is it possible to return to video view after going back from video view to main page?

llelectronics's picture

This is not possible as the video player gets destroyed

Pohli's picture

I mean while keeping the current video in memory. So how do you return? The only way I found is to select the video again (e.g. from History) but this is not a nice way to do it IMO.

jakecn's picture

very good app!and thanks very much to
Support simplified Chinese language .
But there are still some places that translation is not complete
1.in the main menu 'Introducir URL' is still English
2.in the settings 'Sutitulos en negrita'
'Try to load your YouTube videos with ytdl' these two places are not translated.

DameCENO's picture

It is possible to include skipping a video by swiping on the progress bar? only touches work and not very accurate for looking for a particular positon in the video file.

Also, could different screen options be added, like adapt to screen, stretch, keep origiinal screen ratio? This is a very good player,and I thank you for your awesome work. GStreamer limits its support for some video files, if it had an independent video source much like Kodi on Saifish it would be perfect

szopin's picture

Any chance it could also integrate streamlink for online streams? (https://streamlink.github.io/)


WOW it actually already works, just need to add -p=harbour-videoPlayer --player-http and the stream works inside it (was previously using -o and using temp file but this is much better)

llelectronics's picture

Not planned.

szopin's picture

It actually already works, added in my edit, if you add --player-http in the command line LLS Video player plays it no problem, awesome stuff, thanks

direc85's picture

I clicked "720p" to see what it does, and I get this:

/usr/bin/env: python: No such file or folder.

I assume using python, or python3, binary is the goal there, and I solved it by just using


directly. Assuming the application depends on Python3.
Edit: There doesn't seem to be python binary installed, only python3...

llelectronics's picture

Youtube-dl needs python2 to be installed. This provides the python binary. I had it as dependency earlier but people complained so I removed it from the dependency list of the player as it is only necessary for youtube-dl.

Mick's picture

If this app is still maintained, would it be possible to add a feature where we can change the download path so videos can be stored on external memory card rather than device memory? Failing that, is it possible to change the path in a config file within the app?
Thanks. :)

llelectronics's picture

This is currently not possible. Also not with changing a configuration file. You need to edit the source code for this.

It is an interesting feature though implementing needs a lot of fallback code (what happens if the path isn't accessible anymore as the microsd card or external card or folder in general vanished).

So it isn't a one liner of code that needs to be changed.

Pohli's picture

Very nice app! One issue though:
Videos I recorded with my Nokia 108 DS (Microsoft Mobile RM-944) doesn't play correctly, there are some coloured stripes in the picture. Same issue when playing those videos with native Gallery app. VLC plays them correctly, so I assume it has something to do with GStreamer or could it be LLs Video Player causing the issue?
Video preview pictures look fine though.
Here's a short sample video:

File version and output:

magic file from /usr/share/misc/magic

video0012.avi: RIFF (little-endian) data, AVI, 176 x 144, video: Motion JPEG, audio: uncompressed PCM (mono, 8000 Hz)

MediaInfo version and output:

MediaInfo Command line,
MediaInfoLib - v18.12

Complete name                            : video0012.avi
Format                                   : AVI
Format/Info                              : Audio Video Interleave
File size                                : 642 KiB
Duration                                 : 6 s 940 ms
Overall bit rate                         : 758 kb/s
IsTruncated                              : Yes
IUAM                                     : http://www.mediatek.com

ID                                       : 0
Format                                   : JPEG
Codec ID                                 : MJPG
Duration                                 : 6 s 940 ms
Bit rate                                 : 622 kb/s
Width                                    : 176 pixels
Height                                   : 144 pixels
Display aspect ratio                     : 1.222
Frame rate                               : 14.841 FPS
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Compression mode                         : Lossy
Bits/(Pixel*Frame)                       : 1.652
Stream size                              : 527 KiB (82%)

ID                                       : 1
Format                                   : PCM
Format settings                          : Little / Signed
Codec ID                                 : 1
Duration                                 : 6 s 940 ms
Bit rate mode                            : Constant
Bit rate                                 : 128 kb/s
Channel(s)                               : 1 channel
Sampling rate                            : 8 000 Hz
Bit depth                                : 16 bits
Stream size                              : 108 KiB (17%)
Alignment                                : Aligned on interleaves
Interleave, duration                     : 496  ms (7.36 video frames)
llelectronics's picture

Smells indeed like a gstreamer issue. 

Pohli's picture

Any idea who is in charge of this? Searching on Github for GStreamer gives me dozens of results.

llelectronics's picture

You need to find out what gstreamer plugin is the cause. Maybe its a particular hardware codec or implementation causing it. Otherwise feel free to file a bug in together.jolla.com if you think Jolla should take care of it. Personally it is working fine with gstreamer 1.10.4 on my desktop. So I think it is a codec issue for particular devices.

geher's picture

On update attempt i have error message.
File './noarch/droid-system-packager-0.1.9-10.1.1.jolla.noarch.rpm' not found on medium 'https://store-repository.jolla.com/releases/'