Giter VIP home page Giter VIP logo

deepin-movie-reborn's Introduction

Deepin movie

Deepin Movie is a full-featured video player developed by Deepin Technology, supporting playing local and streaming media in multiple video formats.

Dependencies

Build dependencies

The master branch is current development branch, build dependencies may changes without update README.md, refer to ./debian/control for a working build depends list

  • debhelper
  • cmake
  • pkg-config
  • libdtkcore5-bin
  • libdtkwidget-dev
  • libmpv-dev
  • libxcb1-dev
  • libxcb-util0-dev
  • libxcb-shape0-dev
  • libxcb-ewmh-dev
  • xcb-proto
  • x11proto-record-dev
  • libxtst-dev
  • libavcodec-dev
  • libavformat-dev
  • libavutil-dev
  • libpulse-dev
  • libssl-dev
  • libdvdnav-dev
  • libgsettings-qt-dev
  • ffmpeg module(s):
    • libffmpegthumbnailer-dev
  • Qt5(>= 5.6) with modules:
    • qtbase5-dev
    • qtbase5-private-dev
    • libqt5x11extras5-dev
    • qt5-qmake
    • libqt5svg5-dev
    • qttools5-dev
    • qttools5-dev-tools
    • libqt5sql5-sqlite
    • qtmultimedia5-dev

Installation

Build from source code

  1. Make sure you have installed all dependencies.

Package name may be different between distros, if deepin-movie is available from your distro, check the packaging script delivered from your distro is a better idea.

Assume you are using Deepin or other debian-based distro which got deepin-movie delivered:

$ apt build-dep deepin-movie
  1. Build:
$ cd deepin-movie-reborn
$ mkdir Build
$ cd Build
$ cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=/usr ..
$ make
  1. Install:
$ sudo make install

When install complete, the executable binary file is placed into /usr/bin/deepin-movie.

Usage

Execute deepin-movie

Documentations

Getting help

Getting involved

License

Deepin Movie is licensed under GPL-3.0-or-later

deepin-movie-reborn's People

Contributors

add-uos avatar ang486 avatar blumia avatar chirs241097 avatar deepin-bot[bot] avatar deepinzhangshuang avatar electricface1 avatar feeengli avatar felixonmars avatar gladiatorplus avatar gs342 avatar hillwoodroc avatar hosiet avatar hudeng-go avatar iceyer avatar jhkyy avatar justforlxz avatar kt286 avatar lzwind avatar myk1343 avatar pengfeixx avatar reionwong avatar sonald avatar tanl123 avatar toberyan avatar tsic404 avatar uos-hl avatar wineee avatar zccrs avatar zou8514 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

Watchers

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

deepin-movie-reborn's Issues

Doesn't build with latest mpv since 5.7.6.109

In file included from src/backends/mpv/mpv_proxy.cpp:32:
src/backends/mpv/mpv_proxy.h:40:10: fatal error: mpv/qthelper.hpp: No such file or directory
   40 | #include <mpv/qthelper.hpp>
      |          ^~~~~~~~~~~~~~~~~~
compilation terminated.

Looks similar to easymodo/qimgv#184, which suggests that the header was deprecated ages ago. Please consider avoid its usage or include the header in the repo like qimgv did.

[Bug] Fullscreen mode breaks

When watching a playlist of videos, if the video player is in full screen mode when a new file is opened, will break out of full screen mode and scale the the 1:1 video size of the new video.

The description of README.md is wrong

The description of installationl section in README.md is wrong as following:
Build:

$ cd deepin-viewer

Here should be deepin-movie-reborn, not deepin-viewer, please update it.

Build failed on openSUSE Tumbleweed

[  118s] /usr/bin/c++  -std=c++1y -fpermissive -Wno-error -O3 -DNDEBUG  -flto=6 -Wl,--as-needed -Wl,--no-undefined -Wl,-z,now -rdynamic CMakeFiles/dmr_test.dir/dmr_test_autogen/mocs_compilation.cpp.o CMakeFiles/dmr_test.dir/dmr_test.cpp.o  -o dmr_test ../libdmr/libdmr.so.0.1.0 /usr/lib64/libQt5Widgets.so.5.13.0 -ldtkwidget -ldtkcore /usr/lib64/libQt5Concurrent.so.5.13.0 /usr/lib64/libQt5Network.so.5.13.0 /usr/lib64/libQt5X11Extras.so.5.13.0 /usr/lib64/libQt5Gui.so.5.13.0 /usr/lib64/libQt5Sql.so.5.13.0 /usr/lib64/libQt5DBus.so.5.13.0 /usr/lib64/libQt5Core.so.5.13.0 -lmpv -lavformat -lavutil -lavcodec -lffmpegthumbnailer -ldvdnav -lpthread -lGL 
[  120s] /usr/lib64/gcc/x86_64-suse-linux/9/../../../../x86_64-suse-linux/bin/ld: /usr/lib64/libshaderc_shared.so.1: undefined reference to `glslang::TProgram::mapIO(glslang::TIoMapResolver*)'
[  120s] collect2: error: ld returned 1 exit status
[  120s] make[2]: *** [src/test/CMakeFiles/dmr_test.dir/build.make:115: src/test/dmr_test] Error 1
[  120s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/deepin-movie-reborn-3.2.24.3/build'
[  120s] make[1]: *** [CMakeFiles/Makefile2:279: src/test/CMakeFiles/dmr_test.dir/all] Error 2
[  120s] make[1]: *** Waiting for unfinished jobs....
[  125s] /usr/lib64/gcc/x86_64-suse-linux/9/../../../../x86_64-suse-linux/bin/ld: /usr/lib64/libshaderc_shared.so.1: undefined reference to `glslang::TProgram::mapIO(glslang::TIoMapResolver*)'
[  125s] collect2: error: ld returned 1 exit status
[  125s] make[2]: *** [src/CMakeFiles/deepin-movie.dir/build.make:3256: src/deepin-movie] Error 1
[  125s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/deepin-movie-reborn-3.2.24.3/build'
[  125s] make[1]: *** [CMakeFiles/Makefile2:105: src/CMakeFiles/deepin-movie.dir/all] Error 2
[  125s] make[1]: Leaving directory '/home/abuild/rpmbuild/BUILD/deepin-movie-reborn-3.2.24.3/build'
[  125s] make: *** [Makefile:133: all] Error 2
[  125s] error: Bad exit status from /var/tmp/rpm-tmp.PJ739y (%build)
[  125s] 
[  125s] 
[  125s] RPM build errors:
[  125s]     Bad exit status from /var/tmp/rpm-tmp.PJ739y (%build)
[  125s] 
[  125s] morla5 failed "build deepin-movie.spec" at Mon Sep  9 03:04:14 UTC 2019.
[  125s] 
[  125s] ### VM INTERACTION START ###
[  128s] [  118.218733] sysrq: Power Off
[  128s] [  118.228927] reboot: Power down
[  128s] ### VM INTERACTION END ###

a flickering bug around the subtitle font/size setting ...

Hi,

recreating the bug ...

Play a movie with subtitles ...
Open the settings ...
Scroll down to the font size setting ...
mouse-over the font size drop down ...
use mouse scroll to change the font size ...

watch the flickering subtitle bug on the movie screen ...

the only way to get out of it is ... to close the movie player and reopen the file ...

subtitle forward/backward shortcut ... where the key could be Pressed'N'Held down !!!

Hi,

i love this feature where we can pause the movie and move forward/backward the subtitles by way of these shortcuts.

However out of experience i can say that the subtitles files are usually not in sync they are off by a great length. The forward shortcut 'Shift+right' and backward shortcut 'Shift+left' works one click/tap at a time, considering how off the subtitles are in sync with a movie/video ... and with half a sec jumps on each tap that is a looooooooot of taps/click on the 'right' and 'left' keys.

Wouldn't it be a great option if we could just press and hold the 'right' and 'left' keys to move the titles forwards or backwards ?

look forward to seeing a 'press and hold' implementation of the subtitle shortcut keys.

do you think a shortcut for increasing and decreasing the subtitle font size would be a value add ?

Deepin Movie window goes missing ... only audio plays !!!

Hi,

I have experienced sometimes that when i double click or open a video file the deepin-movie window does not show up but the audio starts to play ...

The only way is to open system monitor ... kill deepin-movie instance and reopen the video file !!!

Let me know if you want me to run any diagnostic commands to probe further ... the next time i encounter the same issue !!!

Feature Request : Audio forward/backward option(with shortcuts)

Hi,

Would like to see a way to sync video and audio ... whenever i come across an out of sync(audio/video) movie i have no choice but to switch back to vlc (which has shortcuts assigned for this purpose)

I guessing this should already be in Deepin-Movie roadmap, if it isn't already ... appreciate it being added to the same.

Cheers

build err expected initializer before 'glMPGetNativeDisplay'

/deepin/deepinmovie/deepin-movie-reborn/src/backends/mpv/mpv_glwidget.cpp:130:29: error: expected initializer before 'glMPGetNativeDisplay'
     static void* GLAPIENTRY glMPGetNativeDisplay(const char* name) {
                             ^~~~~~~~~~~~~~~~~~~~
/deepin/deepinmovie/deepin-movie-reborn/src/backends/mpv/mpv_glwidget.cpp: In function 'void* dmr::get_proc_address(void*, const char*)':
/deepin/deepinmovie/deepin-movie-reborn/src/backends/mpv/mpv_glwidget.cpp:145:27: error: 'glMPGetNativeDisplay' was not declared in this scope
             return (void*)glMPGetNativeDisplay;
                           ^~~~~~~~~~~~~~~~~~~~
make[3]: *** [src/CMakeFiles/deepin-movie.dir/build.make:3165: src/CMakeFiles/deepin-movie.dir/backends/mpv/mpv_glwidget.cpp.o] Error 1

Segfaults on non C locale with mpv-0.27.2

deepin-movie-reborn-3.2.5 segfault in my machine (Void Linux x86_64).

Edit: I'm now confused since setlocale does get already set quite early in main().

Non-C locale detected. This is not supported.
Call 'setlocale(LC_NUMERIC, C);' in your code.

Thread 1 deepin-movie received signal SIGSEGV, Segmentation fault.
0x00007ffff7dbbe70 in pthread_mutex_lock () from /lib/ld-musl-x86_64.so.1
(gdb) backtrace 
#0  0x00007ffff7dbbe70 in pthread_mutex_lock () from /lib/ld-musl-x86_64.so.1
#1  0x00007ffff3f4b7e1 in mpv_request_log_messages () from /lib/libmpv.so.1
#2  0x0000555555629fe3 in dmr::MpvProxy::mpv_init() ()
#3  0x000055555562a655 in dmr::MpvProxy::MpvProxy(QWidget*) ()
#4  0x0000555555609d71 in dmr::PlayerEngine::PlayerEngine(QWidget*) ()
#5  0x00005555555bc81a in dmr::MainWindow::MainWindow(QWidget*) ()
#6  0x00005555555a1a90 in main ()

Patch that fixed it for now for me,

--- src/libdmr/player_engine.cpp	2018-05-04 10:15:32.000000000 +0200
+++ -	2018-05-05 14:43:52.094245514 +0200
@@ -48,6 +48,8 @@
     auto *l = new QVBoxLayout(this);
     l->setContentsMargins(0, 0, 0, 0);
 
+    setlocale(LC_NUMERIC, "C");
+    
     _current = new MpvProxy(this);
     if (_current) {
         connect(_current, &Backend::stateChanged, this, &PlayerEngine::onBackendStateChanged);

[BUGS] Play/Pause button issue and hover-preview issue

x86_64 Linux 5.2.0-arch2-1-ARCH, Deepin 15.11, deepin-movie 1:3.2.24-1.
The play/pause button shows wrong icon unless you move away the cursor!
One other issue, is that, when you hover "progress bar" and the preview shot appears, the window shadow disappears!
ezgif com-optimize

Window resizing not possible

It may be caused by the great switch to deepin-kwin.
The player opens in the size the video is and I have no chance to resize that window. That is pretty unusable.

视频播放黑屏,但有声音

播放视频时不显示视频画面,但是视频的声音会正常播放。
使用终端打开深度影院播放视频,有如下错误提示:
mesa: for the -simplifycfg-sink-common option: may only occur zero or one times!
mesa: for the -global-isel-abort option: may only occur zero or one times!
//下面是当鼠标移到进度条时会提示的错误
Cannot open libmwv206dec.so, libmwv206dec.so: 无法打开共享对象文件: 没有那个文件或目录
Cannot open libmwv206dec.so, libmwv206dec.so: 无法打开共享对象文件: 没有那个文件或目录
……
电脑的CPU是AMD的4800U。显卡是Vega 8核显。
使用vlc打开视频也是这样,会有
glconv_vaapi_x11 gl error
main video output error
main decoder error
之类的报错

Tweak ... Deepin Movie window title ...

Hi,

In the pre 15.5 version the movie title bar and the bottom control bar would activate/trigger on cursor(pointer move) activity ... in full screen mode.

After upgrading to 15.5 recently the Title bar isn't showing up anymore, it was a useful bit of information to have.

not sure if you've withdrawn this option or its an issue ... please consider adding it back in the full screen mode. (in the absence of it one has to exit the full screen mode in order to see this file info(current file/movie playing on the reduced window size.)

Also it is very distracting to see the top and bottom bar show up on your screen on accidentally moving of the mouse or the trackpad getting touched.

Wouldn't it be a better idea to activate the top and bottom bars(in full screen mode) only when we move the cursor to the bottom of the screen just like how the deepin-dock draws out of hiding when the mouse hits the bottom of the screen.

Deepin Movie inconsistent at times ... no way out !!!

From the last couple of days have been facing the following nature of issues

  1. Double clicking on a movie file does not play the movie ... the movie player just opens and sits there ... the file double clicked isn't loaded in the playlist. When this happens I have to open the movie file from inside the player.

  2. Double clicking the movie file does not open the movie player at all ... has been happening right now as i post this issue here.

  3. Right clicking the movie file and selecting Deepin-Movie-Player from the 'open with...' menu isn't opening the movie.

  4. Trying to open the Movie Player from the launcher isn't opening the player either.

I am attaching the syslog while i ran the above issue recreation exercise.

deepin_Movie_OpenIssue_sys.log

Deepin Movie takes a long time to start up (Async initialisation of playlist needed)

Steps to reproduce:

  • Add a big directory to the playlist
  • Don't check "clear playlist on exit"
  • Close Deepin Movie
  • Open a video file with Deepin Movie

What happens:

  • Deepin Movie appears to freeze, while loading the playlist is loading (takes about ~4 seconds)
  • Then the file you choose to open begins to play

What should have happened

  • The file you choose immediately begins to play
  • Deepin Movie loads the playlist asynchronously, so the file can begin playing immediately

Add AB loop repeat

Hello,

please add AB loop/repeat function for Deepin Movie, then I can choose my favourite scene.

Here are screenshots from MX Player (Android video player), what I mean exactly. You can download the .apk file directly from the MX Player developer.
https://mx.j2inter.com/download

Screenshot_2021-01-14-18-50-16-800_com mxtech videoplayer ad
Screenshot_2021-01-14-18-51-02-771_com mxtech videoplayer ad

BUG : Subtitle sync setting ... reset ... or record & reset

Hello,

reporting a bug ... the subtitle sync settings(no of seconds) should get reset to '0' everytime a new movie/video is played ... its not happening right now ... the previous subtitle sync settings prevail over the next movie.

a new feature opportunity :
it would be nice to have the subtitle file and the subtitle sync setting to be linked to the movie its meant for stored somewhere so that every time the movie plays the subtitle file and sync settings are retrieved for a seamless watching experience.

PS : linking the path-to-the-subtitle-file and the sync setting attached to the movie file name would be a good approach. A more efficient way would be to NOT record the movie-file-path anywhere in this scheme, that way no matter where one files/moves(as a lot of moving around happens on one's media storage) the movie player will be able to provide a seamless experience with regard to the subtitle file and its sync settings.

Subtitile support for *.smi file is easily reachable.

Hi!

I tried to open subtitle file which has *.smi format by deepin-movie's subtitle selector dialog. But it's impossible because deepin-movie's subtitle selector doesn't support *.smi format.

However, since mpv can read *.smi format, I could add support for *.smi file to deepin-movie by just append *.smi on src/common/mainwindow.cpp's 1818th line. PlayerEngine class's member variable subtitle_filetypes in src/libdmr/player_engine.h already have that property.

I'll be thankful if you accept this modification as formally.

Sound Volume notification not working on manjaro deepin

i have a user interface bug in manjaro deepin and arch ( deepin movie pkgs for arch ) where when i raise of decrease sound volume ,, the notification appears on top of left side of screen to show current volume size don't appear ,,, and when i open video in full screen ,,the notification appears on top right of screen shows current time and progress in video don't appear

this bugs have been for months and since it appeared on deepin desktop in manjaro ,, i no longer use deepin movie and i switched to vlc

so please try to fix this bug on manjaro deepin

plus the topbar shows mimize ,,maximize and close butttons don't appear well on deepin movie in manjaro or arch as it does on deepin os ( in deepin os they appear just when i move by mouse to top of screen )

last thing,,, the light theme isn't so good ,, the bottom bar of progress not translucent enough to see the video behind it especially if i use a video with embeded subtitles,, sometimes the subtitles are low enough to not to be shown by bottom bar ( this doesn't matter for me ,, what matters for me is the first bug related to sound vollume )
hope you fix it

player loses top most window flag in mini mode

Step to reproduce:

  1. start play movie in deepin-movie player
  2. press F2 to switch in mini mode (player window becomes a top most window above all other windows)
  3. from the deepin file manager open another one movie
  4. deepin-movie player loses the top most window attribute and goes under the other windows

version: deepin-movie-reborn-3.2.22.1

fix is attached
quickfix.diff.txt

low volumn compare to MPV

Hi, when I play same mp4 movie on deepin movie and MPV
I set both 100% volumn and MPV have bigger sound
can we fix this

Deepin Movie Burst Shooting ...

Hello,

I have been wanting to ask from a long time what is the use case for 'Deepin Movie Burst Shooting' ...
What is it useful for ?

I had a different idea of it but never got it to work the way i wanted or expected it to work.

Could someone elaborate on what its used for ?

thanks

Crash when I open a movie

Hi!
Since several weeks, Deepin-movie is launching, but crashes immediately when I open a movie file.
Here are some errors in the terminal:
QApplication: invalid style override 'gtk' passed, ignoring it. Available styles: bb10dark, bb10bright, chameleon, cleanlooks, gtk2, cde, motif, plastique, Windows, Fusion No appenders assotiated with category qt.qpa.xcb [Warning] <> QXcbConnection: XCB error: 5 (BadAtom), sequence: 403, resource id: 0, major code: 20 (GetProperty), minor code: 0 Segmentation fault (core dumped)

My system is : 5.9.13-arch1-1
Package deepin-movie version 1:5.7.6.145-1

Playing online(url) content ...

Hi,

I am unable to run online videos with the 'open url' option ... is this feature active ... or is it a planned feature for the future ?

I have tried to play direct youtube urls as well as extracted hidden video links embedded in the page source. No success with either.

Am i doing things wrongly ?

thanks.

[DDE] UI/UX Bugs

I'm using Deepin Desktop Environment in Arch Linux. Recently, after performing a system upgrade, some bugs appeared in Deepin Movie:

  • No visual cues on adjusting volume.
  • No visual cues on adjusting speed.
  • No time & progress indicator on top right.
  • Cursor not reappearing on moving mouse in full screen.
  • Black playback bar and playlist (I remember them being blurred, please correct me if I am wrong).

I tried downgrading Deepin Movie to the previous version I had: v3.2.7; but the problem persisted, so it might be a problem with some other DDE component?

[Req] Features

There are some features I would like to see in the Deepin-movie-reborn project. I've chosen to list them here for consideration.

  • Frame menu size enhancements (scale to 360p, 480p, 720p, 1080p)
  • Remember volume settings
  • Subtitle color options (outline and fill)
  • Remember last window size when opening a new file
  • Disable play/pause on window click
  • Keyboard Shortcuts (enter/exit fullscreen, cycle audio and subtitles, skip next/previous chapter *if availible)
  • General video adjustments, (Sharpness, Gamma, Saturation, Contrast, Brightness)
  • Mousewheel commands (up/down=volume, ALT_up/down=seek, CTRL_up/down=chapter seek)

Please consider any of these off the top suggestions for future consideration.

Subtitle Online Search ...

Hi,

I have never come across any other video player that does an online search for subtitles ... its unbelievably fantastic !!!

But the online search is a 'blind search' ... the reason i call it so, is because it searches for languages that i do not need ... usually the online search returns 3 subtitle files ... i am interested in an English subtitle and the search returns subtitles for 3 languages that are not English ... and moreover the search returns the file name of the subtitle file rather than the language ... one has to choose the 3 results one by one to know which language is loaded.

I believe this feature may be in its nascent(early) stage in Deepin Movie ... I hope to see this blind search be a more targeted search based on the language of choice ... of the user.

PS : reference to an existing implementation - Popcorn TIme software shows up subtitles for all languages ... If Deepin Movie could do the same show up all possible languages similar to 'popcorn time' ... would be fantastic.

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.