maemo.org - Talk

maemo.org - Talk (https://talk.maemo.org/index.php)
-   SailfishOS (https://talk.maemo.org/forumdisplay.php?f=52)
-   -   [WIP] LLs Video Player (https://talk.maemo.org/showthread.php?t=92141)

pichlo 2014-11-15 21:23

Re: [WIP] LLs Video Player
 
May I bother you with a feature request? Three in fact :)
  1. Remember the location of the last file open. I was just playing a few cartoons to my daughter, all from the same directory, and it was rather tedious to have to go "Open -> Browse Files -> Show SD Card -> 5AC7-FDDA -> Cartoons -> dirname -> file.mp4" over and over again. If next Open started straight from dirname, that would have saved a lot of time.
    What's that business with the card ID anyway? Kinda pointless, it's not like the phone can take more than one. Why that extra step? Why does "Show SD Card" not go straight to the card's root? And even if that step is really necessary, why showing a cryptic card ID and not a disk label? My card has one.
  2. Would it be possible to swap volume up and down buttons in landscape mode? The current assignment is rather counter-intuitive.
  3. The most useful feature I would expect from a decent OS is a file type association. So that a tapping on file.mp4 in any random file manager opens an associated video player. Is that an impossible request?

llelectronics 2014-11-15 22:23

Re: [WIP] LLs Video Player
 
Quote:

Remember the location of the last file open. I was just playing a few cartoons to my daughter, all from the same directory, and it was rather tedious to have to go "Open -> Browse Files -> Show SD Card -> 5AC7-FDDA -> Cartoons -> dirname -> file.mp4" over and over again. If next Open started straight from dirname, that would have saved a lot of time.
That is already possible by default(only with the advanced filemanager). You might notice that when you click on open the file browser swipes to the left and the video player comes in from the right. With a simple swipe guesture back (from left to right) you will see the file browser exactly were you left it before.

Quote:

What's that business with the card ID anyway? Kinda pointless, it's not like the phone can take more than one. Why that extra step? Why does "Show SD Card" not go straight to the card's root? And even if that step is really necessary, why showing a cryptic card ID and not a disk label? My card has one.
Yeah the system is using the id of the card and not the label to mount it. As the id changes all the time(depending on the card inserted) I can only show what I am able to show :)

Quote:

Would it be possible to swap volume up and down buttons in landscape mode? The current assignment is rather counter-intuitive.
The volume keys are not controlled by my player but are a global volume changer. You might want to make a request thread on together.jolla.com . Maybe SailfishOS Devs see this and could build in an option in systemsettings.

Quote:

The most useful feature I would expect from a decent OS is a file type association. So that a tapping on file.mp4 in any random file manager opens an associated video player. Is that an impossible request?
Everything I can do is what I already do. The player is already registering itself as viewer for most video formats.
You can see all the different formats in the harbour-videoPlayer.desktop file in /usr/share/applications (or on the git sources)
If you have concrete things that I could add to this please mention them.
As for graphical file association tools. I am missing a "file open with"- page in most of the file managers. Maybe they are waiting for Jolla to come with an solution to add to the api.
In the last updates also the media gallery registers itself as video player. I am not sure which will get higher priority if both want to associate the same filetypes. Maybe the last installs or registered comes first.
All in all also a system/filemanager issue on which I can not do anything more than I already do in my video player.

pichlo 2014-11-16 07:15

Re: [WIP] LLs Video Player
 
Mea culpa, I completely missed that swipe left-swipe right browser thingy. Thanks a lot, that really makes life much more bereable. As for the rest, I suspected that was the case but was hoping that you can do something about it. Thanks again and sorry about the noise.

Pallavgarg10 2014-11-17 05:59

Re: [WIP] LLs Video Player
 
Please add the following gestures to video playback

1 Tap to play/pause video
2 Gesture for seeking video forward and backward

These are the two gestures i use the most on MX Player
Will you be adding these in a future update????????????

Pallavgarg10 2014-11-17 06:02

Re: [WIP] LLs Video Player
 
Please add following gestures to video playback

1 Tap to Play/Pause
2 Gesture for seeking video Forward and Backward

Will you be adding these two gestures to the player
Please i need them REAL BAD

Thanks

llelectronics 2014-11-17 09:48

Re: [WIP] LLs Video Player
 
Quote:

Originally Posted by 243kof (Post 1447190)
When is video playing in the active cover coming? :)
Thanks for this awesome player by the way.

I pushed a version with live cover preview a few seconds ago onto git.
It would be nice if someone could test it. Especially if it works on 1.0.8.x as I can't seem to test it in the emulator and I personally have 1.1.0.39 running on my Jolla.

It is working nice on 1.1.0.39 but I would like to know if this approach also works for 1.0.8.x before I release a new update that might break it for those running 1.0.8.x

szopin 2014-11-17 10:10

Re: [WIP] LLs Video Player
 
Just tested 0.7-3 on .8, but the live preview is not there, just like previously only icon/timer. Not sure if it's from latest update, but now yt playing gives:
1
This appears to be text file

(hmm.. maybe not related, first couple of hits did this, after restart/toggling direct yt urls on and off, can't reproduce, everything seems to be working fine)


edit: oh wait onto git, not openrepos :D nvm
trying to compile on device runs into errors with struct QQuickView, sailfishapp.h probably changed quite a bit in the latest release

llelectronics 2014-11-17 11:35

Re: [WIP] LLs Video Player
 
1 Attachment(s)
The sourcecode did not change in the c++ part.
Normally I would recommend using the last stable sdk and try it with it (thats still the workflow I use to make sure it works with 1.0.8 aswell)

Anyhow I attached the rpm (in zip as rpm is not allowed as direct attachement here. Maybe someone should change that as debs are allowed) for you to test. Hopefully that works for you :)

szopin 2014-11-17 11:58

Re: [WIP] LLs Video Player
 
Quote:

Originally Posted by llelectronics (Post 1447473)
The sourcecode did not change in the c++ part.
Normally I would recommend using the last stable sdk and try it with it (thats still the workflow I use to make sure it works with 1.0.8 aswell)

Anyhow I attached the rpm (in zip as rpm is not allowed as direct attachement here. Maybe someone should change that as debs are allowed) for you to test. Hopefully that works for you :)

probably will have to redo my chroot
your rpm works great! preview is working fine, just wondering if this will have a huge impact on battery life, might be worth to make it optional. Thanks!

llelectronics 2014-11-17 12:38

Re: [WIP] LLs Video Player
 
Yeah this is a good idea to make it configurable. As screen keeps refreshing and the gpu is more used it might be really that it is using more power.
Pushed it already to git with a nice setting to turn it off.
So it is enabled by default.

If it works fine then with 1.0.8 aswell then I will update the package asap.
Thanks for the feedback.

willi6868 2014-11-17 12:46

Re: [WIP] LLs Video Player
 
Are you going to add the option to show hidden files in the file browser as well? :)

llelectronics 2014-11-17 15:38

Re: [WIP] LLs Video Player
 
Quote:

Originally Posted by willi6868 (Post 1447485)
Are you going to add the option to show hidden files in the file browser as well? :)

Not this time. I will take a look at it for the next update.

Update: Version 0.7-4 is out now

Changes:
  • ​Added coverPage playback with live preview
  • Fixed dependency missing qt5-qtdeclarative-import-folderlistmodel
  • Make live view configurable in settings (default: on)
  • Fixed create index on settings database only once
  • Added cutes-qt5, cutes-js to dependencies
  • Fixed history drawer to show up properly

cvp 2014-11-17 17:04

Re: [WIP] LLs Video Player
 
wow, the coverPage Playback is NICE!!!!
good job bro.

Now i missing my dream feature extract/download/convert youtube music to mp3 :)

nthn 2014-11-17 19:38

Re: [WIP] LLs Video Player
 
Quote:

Originally Posted by cvp (Post 1447516)
wow, the coverPage Playback is NICE!!!!
good job bro.

Now i missing my dream feature extract/download/convert youtube music to mp3 :)

If someone gets youtube-dl to work on Sailfish, I suppose the video downloading part wouldn't be very difficult to implement.

szopin 2014-11-17 20:17

Re: [WIP] LLs Video Player
 
Quote:

Originally Posted by nthn (Post 1447540)
If someone gets youtube-dl to work on Sailfish, I suppose the video downloading part wouldn't be very difficult to implement.

it does work, if not out of the box might need python, but worked oob for me (and ll already answered he does not want to rely on third party app for downloads)

243kof 2014-11-17 20:58

Re: [WIP] LLs Video Player
 
Quote:

Originally Posted by llelectronics (Post 1447501)
Changes:
  • ​Added coverPage playback with live preview

I've been waiting for this to arrive on Sailfish since day one! :D
Thanks a lot!

nthn 2014-11-17 21:17

Re: [WIP] LLs Video Player
 
Some questions/remarks:

- Could you add a setting to not show any info about the video in the live preview?
- Is it possible to make the play/pause icon in the live preview disappear after a couple of seconds but still keep it active? (I'm not sure if this is actually a good idea though)
- The landscape version of the live preview looks a bit strange.

Keep up the good work!

llelectronics 2014-11-17 21:47

Re: [WIP] LLs Video Player
 
Quote:

If someone gets youtube-dl to work on Sailfish, I suppose the video downloading part wouldn't be very difficult to implement.
As for downloading it is already included. When you open up a youtube video just press and hold longer on the video to reveal a drawer with two buttons. One to add as bookmark and one to download the video in the detected format.
This should work on 90% of the videos.
I really like to make it work on 100% of the videos. If someone wants to step up and help the yt.js file is the javascript I use to get the correct url and the downloadmanager.qml and cpp for downloading the file. You can find all sources on git.

Quote:

- Could you add a setting to not show any info about the video in the live preview?
Yeah I tried to integrate some kind of timer to hide the info after 5 seconds. However my tests there did not work after messing around it for an hour as I wanted to make it clever by showing the info again when video is paused and played again.
But this is definitely on the todo.

Quote:

- Is it possible to make the play/pause icon in the live preview disappear after a couple of seconds but still keep it active? (I'm not sure if this is actually a good idea though)
I also don't really think this is a good idea. It would be the only app doing that. I don't want to introduce inconsistency.

llelectronics 2014-11-19 11:58

Re: [WIP] LLs Video Player
 
Quote:

Are you going to add the option to show hidden files in the file browser as well?
Quote:

Originally Posted by llelectronics (Post 1447501)
Not this time. I will take a look at it for the next update.

I took a look and it seems that the folderlistmodel in Qt 5.1 (means SailfishOS 1.0.x) does not support the showHidden method. It is only supported on Qt 5.2 (means SailfishOS 1.1.0.x).
So this will not be coming in the next version at least not if I am not forking folderlistmodel.
Lets wait and see what I come up with.

llelectronics 2014-11-20 10:55

Re: [WIP] LLs Video Player
 
Update: 0.7-5 is out with important bug fixes for the download manager. Finally every video that can be played back should download fine now.

Also addressed the osd issue in cover view. It now autohides after 5 seconds (when going into coverview or pausing or hit play in coverview)

Changes:
  • ​Auto hide osd after 5 seconds of showing when in live cover view (and pausing or playback on cover)
  • Fixed download manager to correctly download (yeah finally)
  • Fixed download manager to use utf-8 for filenames (yeah üäö in filenames and no more ?)

youmeego 2014-11-20 12:06

Re: [WIP] LLs Video Player
 
Is it rss video player?

llelectronics 2014-11-20 12:09

Re: [WIP] LLs Video Player
 
Now rss feeds are not supported. (If you mean that)

youmeego 2014-11-20 12:24

Re: [WIP] LLs Video Player
 
Quote:

Originally Posted by llelectronics (Post 1448333)
Now rss feeds are not supported. (If you mean that)

Why? I need rss video player

llelectronics 2014-11-20 13:18

Re: [WIP] LLs Video Player
 
I never digged into this before.
There are plenty of rss feed readers already. Can't you just use them and if they don't provide a video player just use my player to play the videos ?

youmeego 2014-11-20 14:26

Re: [WIP] LLs Video Player
 
Quote:

Originally Posted by llelectronics (Post 1448352)
I never digged into this before.
There are plenty of rss feed readers already. Can't you just use them and if they don't provide a video player just use my player to play the videos ?

What I mean is an app like vchannel on ios, it can stream many tv shows. It is an rss video player,

llelectronics 2014-11-20 15:04

Re: [WIP] LLs Video Player
 
Streaming in general is supported.
RSS Feeds not directly. If you get the direct url from the rss feed it won't be a problem.
And sorry I don't know the iOS vchannel app.

bertjefred 2014-11-20 15:13

Re: [WIP] LLs Video Player
 
Really nice app. I tried it again after not having it installed for a while. Keep up the good work. Will tinker around with it some more, to see how we can improve it.

llelectronics 2014-11-23 18:58

Re: [WIP] LLs Video Player
 
Update: Version 0.7-6 is out now.

Includes some code cleanup and the integration of folderlistmodel and removal of cute-js dependency.

Changes:
  • Remove dependencies on folderlistmodel & cute-js
  • Add own folderlistmodel (taken from Qt 5.2)
  • Add some more filemanager functions in fmhelper.hpp
  • Cleaned up some code
  • Disabled debugging output
  • Added 'Show Hidden Files' in fileman

llelectronics 2014-11-26 13:30

Re: [WIP] LLs Video Player
 
Update: Another small bugfix release mainly fixing the issue that some youtube videos use titles with characters which are considered illegal when used as filename (e.g. /\?)

I also added a wikipedia and google image search in the file details page searching for the artist (or title if artist is not detected)

Overview:
  • Filter out illegal characters of Youtube Title when downloading (e.g. :./?\)
  • Add Google Image and Wikipedia search for Artist in File Details
  • Use only one common way to access fmhelper functions

nodevel 2014-12-26 20:07

Re: [WIP] LLs Video Player
 
Hey, llelectronics!

I am having a problem playing one type of HTTP streams (with AAC).

It is for example this video:
Code:

http://wcdn1002.nacevi.cz/ct-vod/_definst_/smil:QuoVadisTelevizeCT2-180811-MP4_404p.smil/playlist.m3u8?id=HbgemAnZswAWjK-01&publisher=lss
.
(the stream URL might change, therefore please PM me if you can't play it in VLC either; there might be geo-lock in place as well)

Here is the output:
http://pastebin.com/zh90t3VG


Any idea what is the reason?

EDIT1:

Did some research and it looks it is a MPEG-TS file. Such .ts files fail to play on SailfishOS (LL vPlayer, Gallery, Video element). What's weird is that it is fixable by changing the container to mp4 with ffmpeg and recoding the audio stream from ADTS (aac_adtstoasc). Doing this on a 250MB file takes ~2s on my computer, but I don't know how to do this on the fly on Jolla.

Code:

$ ffprobe -show_format -show_streams -loglevel quiet -print_format json video.ts
{
    "streams": [
        {
            "index": 0,
            "codec_time_base": "0/1",
            "codec_tag_string": "[21][0][0][0]",
            "codec_tag": "0x0015",
            "id": "0x101",
            "r_frame_rate": "0/0",
            "avg_frame_rate": "0/0",
            "time_base": "1/90000",
            "start_pts": 900000,
            "start_time": "10.000000",
            "duration_ts": 3758220,
            "duration": "41.758000",
            "disposition": {
                "default": 0,
                "dub": 0,
                "original": 0,
                "comment": 0,
                "lyrics": 0,
                "karaoke": 0,
                "forced": 0,
                "hearing_impaired": 0,
                "visual_impaired": 0,
                "clean_effects": 0,
                "attached_pic": 0
            }
        },
        {
            "index": 1,
            "codec_name": "h264",
            "codec_long_name": "H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10",
            "profile": "Baseline",
            "codec_type": "video",
            "codec_time_base": "1/50",
            "codec_tag_string": "[27][0][0][0]",
            "codec_tag": "0x001b",
            "width": 512,
            "height": 288,
            "has_b_frames": 0,
            "sample_aspect_ratio": "1:1",
            "display_aspect_ratio": "16:9",
            "pix_fmt": "yuv420p",
            "level": 31,
            "id": "0x102",
            "r_frame_rate": "25/1",
            "avg_frame_rate": "25/1",
            "time_base": "1/90000",
            "start_pts": 900000,
            "start_time": "10.000000",
            "duration_ts": 3758220,
            "duration": "41.758000",
            "disposition": {
                "default": 0,
                "dub": 0,
                "original": 0,
                "comment": 0,
                "lyrics": 0,
                "karaoke": 0,
                "forced": 0,
                "hearing_impaired": 0,
                "visual_impaired": 0,
                "clean_effects": 0,
                "attached_pic": 0
            }
        },
        {
            "index": 2,
            "codec_name": "aac",
            "codec_long_name": "AAC (Advanced Audio Coding)",
            "codec_type": "audio",
            "codec_time_base": "1/48000",
            "codec_tag_string": "[15][0][0][0]",
            "codec_tag": "0x000f",
            "sample_fmt": "fltp",
            "sample_rate": "48000",
            "channels": 2,
            "channel_layout": "stereo",
            "bits_per_sample": 0,
            "id": "0x103",
            "r_frame_rate": "0/0",
            "avg_frame_rate": "0/0",
            "time_base": "1/90000",
            "start_pts": 900000,
            "start_time": "10.000000",
            "duration_ts": 3749760,
            "duration": "41.664000",
            "bit_rate": "100500",
            "disposition": {
                "default": 0,
                "dub": 0,
                "original": 0,
                "comment": 0,
                "lyrics": 0,
                "karaoke": 0,
                "forced": 0,
                "hearing_impaired": 0,
                "visual_impaired": 0,
                "clean_effects": 0,
                "attached_pic": 0
            }
        }
    ],
    "format": {
        "filename": "video.ts",
        "nb_streams": 3,
        "nb_programs": 1,
        "format_name": "mpegts",
        "format_long_name": "MPEG-TS (MPEG-2 Transport Stream)",
        "start_time": "10.000000",
        "duration": "41.758000",
        "size": "3456568",
        "bit_rate": "662209",
        "probe_score": 100
    }
}


llelectronics 2014-12-28 20:32

Re: [WIP] LLs Video Player
 
It is a known gstreamer 0.10 limitation which is fixed in version 1.x .
On the fly converting for a stream won't work I guess.
I would suggest waiting for Jolla releasing GStreamer 1.4 for SailfishOS. First steps were already done in update 10. I hope update 11 or 12 will bring a full replacement for 0.10 including support for the camera.

pichlo 2014-12-28 23:09

Re: [WIP] LLs Video Player
 
1 Attachment(s)
I suddenly started getting this for every YouTube video I try:

Attachment 36307

Any idea what might be going on? The same videos play just fine in the native browser.

nodevel 2014-12-29 00:03

Re: [WIP] LLs Video Player
 
Quote:

Originally Posted by llelectronics (Post 1454205)
It is a known gstreamer 0.10 limitation which is fixed in version 1.x .
On the fly converting for a stream won't work I guess.
I would suggest waiting for Jolla releasing GStreamer 1.4 for SailfishOS. First steps were already done in update 10. I hope update 11 or 12 will bring a full replacement for 0.10 including support for the camera.

Thank you for reply. GStreamer 1.0 is already in the repositories, but unfortunately, it seems that the main road blocker is GStreamer 1.x support in Qt itself. SailfishOS finally has Qt 5.2, but even with Qt 5.5 in sight, the GStreamer 1.x support still hasn't been implemented (AFAIK) in QtMultimedia, even though it is planned. It still relies on GStreamer 0.10.

I wouldn't have high hopes for it, so it looks like a better solution to go either the VLC route, or try QtAV.

It had the support and even an official release for SaifishOS in its 1.3.3 version, but now it needs at least libAV 0.9 (Sailfish has 0.8).

llelectronics 2014-12-29 22:04

Re: [WIP] LLs Video Player
 
Yeah I am also hoping for a good alternative to gstreamer.
VLCs qml bindings look promising. But it needs really for someone who knows about the code to do the working.
I can build GUIs but I am not experienced in these kind of things.

pichlo 2015-01-01 16:59

Re: [WIP] LLs Video Player
 
Any news/hints/ideas about this? Am I the only one affected?

Mikkosssss 2015-01-01 17:06

Re: [WIP] LLs Video Player
 
Quote:

Originally Posted by pichlo (Post 1454678)
Any news/hints/ideas about this? Am I the only one affected?

I have that too. :(

llelectronics 2015-01-03 09:03

Re: [WIP] LLs Video Player
 
ytapi seems to want money now if you use their api in an app. Please switch to direct youtube in settings. It will take a little longer to load but should work fine.
Ytapi will be removed if I can't fix it.

llelectronics 2015-02-03 19:45

Re: [WIP] LLs Video Player
 
Update: New version 0.8 is out now.
This provides the webview patches for devicePixelRatio from webcat and way better youtube detection in different formats and the ability to choose between the formats for playback.
Ytapi was disabled and the player now fetches the direct youtube video streams.
Biggest speed improvement is the switch from GStreamerVideoOutput to VideoOutput which internally still uses Gstreamer (at least on 1.1.x) but offers way better performance.

Overview of changes:
  • Fixed file removal in fileman
  • Incorporated yt.js patches from webcat to better detect embedded youtube
    streams and try harder to get the direct youtube stream
  • Added "Show Youtube Comments" for Youtube Videos in Details Page
  • Added "Search Artist on Youtube" in Details Page
  • Show controls on video ended
  • Make User Agent controllable in SecondPage (WebView)
  • Allow disabling checking for youtube url in SecondPage (WebView)
  • Use NavigationRequest instead of Url Change to detect Youtube links
  • Disabled ytapi
  • Fixed youtube direct stream detection for all formats
  • Added quality chooser for youtube videos
  • Switched from GStreamerVideoOutput to VideoOutput which works far better
    on OS 1.1.x
  • Added devicePixelRatio hack from webcat
  • Added backbutton for SecondPage (Webviews)
  • Enabled back swipe on SecondPage (Webviews)
  • Check if youtube id can be retrieved before jumping into player

Get RPM from Openrepos

llelectronics 2015-02-05 14:54

Re: [WIP] LLs Video Player
 
Update: Small bugfix.

I fixed a typo in the showControls function that causes the pulley and title to hide instead to show like it should.
0.8-2 is up on openrepos :)

llelectronics 2015-02-18 17:55

Re: [WIP] LLs Video Player
 
Big UI Update: Version 0.9 is out featuring a new main UI.

This main UI shows the main actions of the app instead of just a Play Icon and hiding everything else in a pulley menu.
The video player component is loaded only when necessary which saves some memory and avoids some gstreamer bugs (like the one causing a freeze/long waiting when switching from local source to remote source).
Pulley menus could be stripped down and some hidden stuff like the drawer element in the video player were removed.
This makes the user experience a lot better and adds more structure.

Changes in an overview:
  • Redesigned main UI
  • added new main page with gridview and big action icons
  • only load mediaplayer on demand (saves memory, avoids some gstreamer bugs/crashes)
  • less cluttered pull down menus
  • No more hidden menus like long press on video to open drawer (drawer items now in pull down menu)
  • cleaner code
  • History now saves with and shows title if available (db upgrade will convert current history but won't add titles to existing items)
  • Don't add items already in history
  • About page with SilicaFlickable
  • Allow all orientations also for about page

You can get the RPM from Openrepos

If you are searching for the source be aware that there is a new branch on github called new-ui which will be merged in the future (I guess if everything works ok and everyone agrees with the new UI) on github.


All times are GMT. The time now is 15:31.

vBulletin® Version 3.8.8