GithubHelp home page GithubHelp logo

g-fb / haruna Goto Github PK

View Code? Open in Web Editor NEW
236.0 8.0 19.0 5.34 MB

Moved to https://invent.kde.org/multimedia/haruna

Home Page: https://invent.kde.org/multimedia/haruna

CMake 2.70% C++ 39.34% QML 53.97% HTML 3.90% C 0.09%
video-player multimedia libmpv mpv qml qml-applications qt qt5

haruna's Introduction

haruna's People

Contributors

ahjolinna avatar azubieta avatar g-fb avatar hosiet avatar lgbaldoni avatar shrirajhegde avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

haruna's Issues

[Feature Request] Supporting YouTube playlists

Is is possible to support playing playlists directly from a youtube playlist link?
When I select 'openURL' and paste a youtube link to a playlist instead of a video, it plays the first video on the playlist, then crashes, so I'm assuming this feature is not implemented as of yet

Ready for distro inclusion?

Just leaving this here. Perhaps it could be closed when you think the project mature enough to be included as regular package?

Thanks.

Feature request: compatability with mpv commandline parameters

Syncplay for example starts mpv with this parameters --force-window=yes --idle=yes --hr-seek=always --keep-open=always --input-terminal=no --term-playing-msg=<SyncplayUpdateFile> ANS_filename=${filename} ANS_length=${=duration:${=length:0}} ANS_path=${path} </SyncplayUpdateFile> --keep-open-pause=yes --script=/usr/lib/syncplay/syncplay/resources/syncplayintf.lua --input-ipc-server=/tmp/mpv20890300659741 --input-terminal=no --terminal=no

I want to ditch mpv and replace it with haruna, but want to keep compatibility with syncplay.

High consumption of RAM memory

Someone posted your work on reddit and I decided to test it on my kde plasma. I loved the interface and the options that are already there, but then I realized that the RAM usage is way above what I expected for a video player.

Here is a small comparison of memory usage with three popular players. All are with a video of about 430 MB open.

ksnip_tmp_ELbbhn

haruna is consuming much more than smplayer, which also uses mpv as backend

Error while trying to run after compiling from source

I am getting errors while trying to run after successful compilation

QQmlApplicationEngine failed to load component
qrc:/qml/main.qml:88 Type PlayList unavailable
qrc:/qml/PlayList.qml:80 Type PlayListItemCompact unavailable
qrc:/qml/PlayListItemCompact.qml:24 Cannot assign to non-existent property "subtitle"

Feature Request: Multimedia control integration with desktop

I don't know what the current tech it is today, but the last I heard of was called MPRIS. It allows you to control a multimedia instance from outside of its application. For example, a Plasma panel or the locked screen allow you to pause the video. I know mpv doesn't have this, but VLC does, and it is a nice thing to have.

Build fails with Qt 5.12

On openSUSE Leap 15.2 with Qt 5.12.7, see

[ 27%] Building CXX object src/CMakeFiles/haruna.dir/application.cpp.o
cd /home/abuild/rpmbuild/BUILD/haruna-0.3.0/build/src && /usr/bin/c++  -DKCOREADDONS_LIB -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_QML_DEBUG -DQT_QML_LIB -DQT_QUICKCONTROLS2_LIB -DQT_QUICK_LIB -DQT_WIDGETS_LIB -DQT_XML_LIB -I/home/abuild/rpmbuild/BUILD/haruna-0.3.0/build/src -I/home/abuild/rpmbuild/BUILD/haruna-0.3.0/src -I/home/abuild/rpmbuild/BUILD/haruna-0.3.0/build/src/haruna_autogen/include -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtCore -isystem /usr/lib64/qt5/mkspecs/linux-g++ -isystem /usr/include/qt5/QtQuick -isystem /usr/include/qt5/QtQml -isystem /usr/include/qt5/QtNetwork -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5/QtQuickControls2 -isystem /usr/include/KF5/KConfigGui -isystem /usr/include/KF5 -isystem /usr/include/qt5/QtXml -isystem /usr/include/KF5/KConfigCore -isystem /usr/include/KF5/KCoreAddons -isystem /usr/include/KF5/KFileMetaData -isystem /usr/include/KF5/KI18n -isystem /usr/include/KF5/KXmlGui -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/KF5/KConfigWidgets -isystem /usr/include/KF5/KCodecs -isystem /usr/include/KF5/KWidgetsAddons -isystem /usr/include/KF5/KAuth -isystem /usr/include/qt5/QtDBus  -fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -g -DNDEBUG -O2 -g -DNDEBUG   -fPIC -std=gnu++14 -o CMakeFiles/haruna.dir/application.cpp.o -c /home/abuild/rpmbuild/BUILD/haruna-0.3.0/src/application.cpp
/home/abuild/rpmbuild/BUILD/haruna-0.3.0/src/application.cpp: In member function 'void Application::aboutApplication()':
/home/abuild/rpmbuild/BUILD/haruna-0.3.0/src/application.cpp:245:30: error: aggregate 'QPointer<QDialog> dialog' has incomplete type and cannot be defined
     static QPointer<QDialog> dialog;
                              ^~~~~~

Latest build not working on archlinux

Hi,

I don't know if you are the maintainer of the package in aur, but I'm using it to build the haruna in archlinux (since this is the easiest way to do it).
It is finished without any error, but when I open the program, I get this error:

Cyclic dependency detected between "file:///usr/lib/qt/qml/org/kde/kirigami.2/styles/org.kde.desktop.plasma/Units.qml" and "file:///usr/lib/qt/qml/org/kde/kirigami.2/styles/org.kde.desktop.plasma/Units.qml"
QQmlApplicationEngine failed to load component
qrc:/qml/main.qml:88:5: Type PlayList unavailable
qrc:/qml/PlayList.qml:50:9: Type PlayListItemWithThumbnail unavailable
qrc:/qml/PlayListItemWithThumbnail.qml:14:1: module "Haruna.Components" is not installed

Maybe it's a packaging error? Does it look like something is missing? Maybe an additional dependency?

Thanks!

https://aur.archlinux.org/packages/haruna-git/

[Feature Request] docked playlist button

Hi, and thank you for this great work.
I would like to see an option to disable this mouse hover playlist. It is a bit annoying because of its size and it covers a lot of content on screen. An it would be even better if there was a button to click on it and toggle the docked playlist in relatively smaller form factor.

Screenshot_20210119_103328
And there is this happening when it shows playlist. The vertical lines are a little distorted.

AGAIN; thank you for this great project. Glad to see it grow.

System Information:

Operating System: Arch Linux
KDE Plasma Version: 5.20.5
KDE Frameworks Version: 5.78.0
Qt Version: 5.15.2
Kernel Version: 5.10.7-arch1-1

Playback controls invisible in non-Breeze themes.

This is seen with Kvantum+Nordic on KDE Plasma 5.19, and Gtk3+Ambiance on Ubuntu 18.04. See attached screenshot for the failure under Ubuntu 18.04. This breaks desktop integration on anything but KDE+Breeze.

Screenshot from 2020-07-15 12-56-26

Choppy playback of HEVC HDR 4K video

Installed Haruna player from AUR aur/haruna and getting choppy playback of HEVC 4K videos.

Media Info

General
Unique ID                                : 160193954686842995402676503402690477027 (0x78843BC1AEE2BF6102CE0AB58B9D7BE3)
Complete name                            : /mnt/DATA/TVShows/Mandalorian/The.Mandalorian.S01.2019.WEBRip.2160p.HDR.[Ukr.Eng]/The.Mandalorian.S01E01.2019.WEBRip.2160p.HDR.[Ukr.Eng].mkv
Format                                   : Matroska
Format version                           : Version 4
File size                                : 4.90 GiB
Duration                                 : 39 min 37 s
Overall bit rate                         : 17.7 Mb/s
Movie name                               : The.Mandalorian.S01E01.2019.WEBRip.2160p.HDR.[Ukr.Eng]
Encoded date                             : UTC 2020-11-19 11:28:56
Writing application                      : mkvmerge v47.0.0 ('Black Flag') 64-bit
Writing library                          : libebml v1.3.10 + libmatroska v1.5.2

Video
ID                                       : 1
Format                                   : HEVC
Format/Info                              : High Efficiency Video Coding
Format profile                           : Main 10@L5@High
Codec ID                                 : V_MPEGH/ISO/HEVC
Duration                                 : 39 min 37 s
Bit rate                                 : 15.9 Mb/s
Width                                    : 3 840 pixels
Height                                   : 2 160 pixels
Display aspect ratio                     : 16:9
Frame rate mode                          : Constant
Frame rate                               : 23.976 (24000/1001) FPS
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 10 bits
Bits/(Pixel*Frame)                       : 0.080
Stream size                              : 4.41 GiB (90%)
Default                                  : Yes
Forced                                   : No
Color range                              : Limited
Color primaries                          : BT.2020
Transfer characteristics                 : PQ
Matrix coefficients                      : BT.2020 non-constant

Audio #1
ID                                       : 2
Format                                   : AC-3
Format/Info                              : Audio Coding 3
Commercial name                          : Dolby Digital
Codec ID                                 : A_AC3
Duration                                 : 38 min 46 s
Bit rate mode                            : Constant
Bit rate                                 : 640 kb/s
Channel(s)                               : 6 channels
Channel layout                           : L R C LFE Ls Rs
Sampling rate                            : 48.0 kHz
Frame rate                               : 31.250 FPS (1536 SPF)
Compression mode                         : Lossy
Delay relative to video                  : 3 s 0 ms
Stream size                              : 177 MiB (4%)
Title                                    : Ukrainian (strugachka)
Language                                 : Ukrainian
Service kind                             : Complete Main
Default                                  : Yes
Forced                                   : Yes

Audio #2
ID                                       : 3
Format                                   : AC-3
Format/Info                              : Audio Coding 3
Commercial name                          : Dolby Digital
Codec ID                                 : A_AC3
Duration                                 : 38 min 48 s
Bit rate mode                            : Constant
Bit rate                                 : 384 kb/s
Channel(s)                               : 2 channels
Channel layout                           : L R
Sampling rate                            : 48.0 kHz
Frame rate                               : 31.250 FPS (1536 SPF)
Compression mode                         : Lossy
Delay relative to video                  : 3 s 0 ms
Stream size                              : 107 MiB (2%)
Title                                    : Ukranian (AnaivE)
Language                                 : Ukrainian
Service kind                             : Complete Main
Default                                  : No
Forced                                   : No

Audio #3
ID                                       : 4
Format                                   : E-AC-3 JOC
Format/Info                              : Enhanced AC-3 with Joint Object Coding
Commercial name                          : Dolby Digital Plus with Dolby Atmos
Codec ID                                 : A_EAC3
Duration                                 : 39 min 37 s
Bit rate mode                            : Constant
Bit rate                                 : 768 kb/s
Channel(s)                               : 6 channels
Channel layout                           : L R C LFE Ls Rs
Sampling rate                            : 48.0 kHz
Frame rate                               : 31.250 FPS (1536 SPF)
Compression mode                         : Lossy
Stream size                              : 215 MiB (4%)
Title                                    : English
Language                                 : English
Service kind                             : Complete Main
Default                                  : No
Forced                                   : No
Complexity index                         : 16
Number of dynamic objects                : 15
Bed channel count                        : 1 channel
Bed channel configuration                : LFE

Text
ID                                       : 5
Format                                   : UTF-8
Codec ID                                 : S_TEXT/UTF8
Codec ID/Info                            : UTF-8 Plain Text
Duration                                 : 35 min 6 s
Bit rate                                 : 47 b/s
Count of elements                        : 293
Stream size                              : 12.1 KiB (0%)
Title                                    : Ukrainian
Language                                 : Ukrainian
Default                                  : No
Forced                                   : No

System Info

System:    Host: DzirT-LT Kernel: 5.4.85-1-lts x86_64 bits: 64 Desktop: KDE Plasma 5.20.4 Distro: Arch Linux 
Machine:   Type: Laptop System: Razer product: Blade v: 2.04 serial: <superuser required> 
           Mobo: Razer model: Razer CH20 serial: <superuser required> UEFI: Razer v: 1.05 date: 05/16/2019 
Battery:   ID-1: BAT0 charge: 78.8 Wh condition: 78.8/80.2 Wh (98%) 
CPU:       Info: 6-Core model: Intel Core i7-8750H bits: 64 type: MT MCP L2 cache: 9 MiB 
           Speed: 1641 MHz min/max: 800/4100 MHz Core speeds (MHz): 1: 1641 2: 1239 3: 1240 4: 1084 5: 1112 6: 1276 7: 1163 
           8: 1121 9: 1678 10: 2373 11: 2386 12: 1551 
Graphics:  Device-1: Intel UHD Graphics 630 driver: i915 v: kernel 
           Device-2: NVIDIA TU106M [GeForce RTX 2070 Mobile] driver: nouveau v: kernel 
           Device-3: IMC Networks Integrated Camera type: USB driver: uvcvideo 
           Display: x11 server: X.Org 1.20.10 driver: intel,modesetting unloaded: fbdev,vesa resolution: 1920x1080~144Hz 
           OpenGL: renderer: Mesa Intel UHD Graphics 630 (CFL GT2) v: 4.6 Mesa 20.3.1 
Audio:     Device-1: Intel Cannon Lake PCH cAVS driver: snd_hda_intel 
           Sound Server: ALSA v: k5.4.85-1-lts 
Network:   Device-1: Intel Wireless-AC 9560 [Jefferson Peak] driver: iwlwifi 
           IF: wlan0 state: up mac: d4:3b:04:1a:e3:f2 
           IF-ID-1: vboxnet0 state: down mac: 0a:00:27:00:00:00 
Drives:    Local Storage: total: 931.51 GiB used: 258.28 GiB (27.7%) 
           ID-1: /dev/nvme0n1 vendor: Samsung model: SSD 970 EVO Plus 1TB size: 931.51 GiB 
Partition: ID-1: / size: 47.81 GiB used: 32.73 GiB (68.5%) fs: ext4 dev: /dev/nvme0n1p5 
           ID-2: /boot/efi size: 511 MiB used: 22.6 MiB (4.4%) fs: vfat dev: /dev/nvme0n1p9 
Swap:      Alert: No Swap data was found. 
Sensors:   System Temperatures: cpu: 54.0 C mobo: N/A gpu: nouveau temp: 41.0 C 
           Fan Speeds (RPM): N/A gpu: nouveau fan: 0 
Info:      Processes: 337 Uptime: 3d 19h 09m Memory: 31.26 GiB used: 8.38 GiB (26.8%) Shell: Bash inxi: 3.2.00 

Add some user control over resuming video playback at last seen position

Currently every single video last playback status is remembered and resumed at the last played point. This may not be ideal for very short videos, in my opinion. Besides, even for longer videos, I prefer to have control over this behavior. Some possible solutions to consider:

  1. On reopening a video with a recorded playback status, offer to resume at last seen point instead of doing so immediately.
  2. Offer the option to completely disable this feature.
  3. Consider not remembering the last seen position for short videos. I leave the definition of short videos open to discussion.

Thank you for this video player.

Last opened file only updates when opened externally

LastPlayedFile in haruna.conf updates only when file is opened externally (drag and drop) but keeps the same if navigated inside the playlist.

Steps to reproduce:

  1. clear data by rm -rf ~/.var/app/com.georgefb.haruna
  2. drag and drop file a.mp4 (make sure the directory containing a.mp4 has multiple video files)
  3. Go to a different video from next/previous say d.mp4
  4. Close haruna
  5. check haruna.conf - the LastPlayedFile will be still set to a.mp4
  6. Relaunch and verify Haruna opens to a.mp4

some preset quality V/A settings + hardware decoding options

it would be nice to have some pre made video quality rendering settings and option to choose what Hw.decoding to use or at least what codecs are allowed (as some are just better on software)

if you don't know what settings would be good for the preset I would copy the mpc-qt (seems to be a semi-dead project) that copy from bomi (that is really dead project) ...sigh... to great Qt based mpv players that have died...sigh

High cpu usage v0.1.4

Hello Are you maintaining the flatpak version?
High cpu usage here.
Processor: AMD A4-3300M APU with Radeon(tm) HD Graphics
Memory: 3497MB (2046MB used)
Machine Type: Notebook
Operating System: Debian GNU/Linux 10 (buster)

[Bug] Seeking with Arrow Keys not working

I have keybindings for the various seeking options set to the arrows keys as shown in the screenshot. In the video they don't work. MPV still works fine in this regard.
Screenshot_20200729_132409

Submitting the project in KDE

I have recently come across this video player. This project already uses KDE dependencies and KDE application suit is missing a video player with active development.
Elisa was also an standalone project, now it has received tremendous development and is a great product now.
Kindly give it a thought. God speed!

0.3.1 segfaults on startup

On openSUSE Leap 15.2. No problem on Tumbleweed.

I tried gdb but I couldn't clearly pinpoint the problem. Attaching log.

[Feature Request] Add ability to specify additional mpv options

Is it possible to have some configuration to specify mpv additional options as Celluloid does?
That way users will be able to specify their own hardware encoding.
For instance, I would like to specify --hwdec=vaapi or --hwdec=auto-safe to force Intel hardware decoding. This works great for Celluloid and unloads my CPU.
But Haruna's automatic selection doesn't work for me like specified in #30 and I need an alternative way to enable hardware acceleration.

[Feature] Add Screenshot functionality

With MPV, the base of haruna, I can make screenshots of the current playing video. Is it possible to add this functionality to haruna?

Configuration options like save location, name, format and compression level for the file would be nice too. These options are already available in MPV.

mpv not searched for

It's trivial with pkgconfig, perhaps you haven't got round doing it because of the temperamental find_library() on osx/windows ?

[ Request ] Request for instructions to compile and different packages

Please include instructions to compile from source in major distros like Debian and fedora.
(List of dependencies and package names)

Including deb and rpm packages would also be great.

This is a great video player which is very customizable and powerful. Unfortunately since available only as flatpak, it's really hard to give it a try for those who don't use flatpak. For new users to try for first-time, Appimage packaging would also be greatly helpful.

Fullscreen broken since 0.5.0 release

Since 0.5.0 i have that error when i try to go fullscreen :
qrc:/qml/MpvVideo.qml:282: Error: Cannot assign to non-existent property "state"

(i'm on ArchLinux uptodate)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.