Bug 404106

Summary: Unable to render video properly in pdf files created by pdftex
Product: [Applications] okular Reporter: Jay Schieber <jay.schieber>
Component: PDF backendAssignee: Okular developers <okular-devel>
Status: RESOLVED FIXED    
Severity: crash CC: nate, yurchor
Priority: NOR    
Version: 1.3.3   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: Zipped file containing minimal minimal.pdf, *.m4v and minimal.tex files illustrating the problem

Description Jay Schieber 2019-02-08 17:18:57 UTC
Created attachment 117932 [details]
Zipped file containing minimal minimal.pdf, *.m4v and minimal.tex files illustrating the problem

I have tried two versions of okular.  Version 1.3.3 from the repository for Ubuntu 18.04, and the most recent version that is a snap package (not sure what that is, because they seem to use different version numbers).

I have two movies, both created by Mathematica, and both *.m4v files. I used
the multimedia package in LaTeX to embed the videos in the pdf files.  For several years this worked fine. But not anymore.  In the 1.3.3 version, the movies simply do not run.  In the snap package, okular crashes when they try to run. That is the behavior on my desktop.  On my laptop, there is a little bit more success in that the attached minimal file runs fine, but if I add a second slide, with another video embedded, the second video does not work. 

My desktop and my laptop, which show different symptoms, have the same OS versions:

KDE Plasma Version: 5.12.17
KDE Frameworks Version: 5.44.0
Qt Version: 5.9.5
Comment 1 Yuri Chornoivan 2019-02-08 17:32:04 UTC
The attached file works fine here (Okular 1.6.70, videos are playing as expected after the click).

Can you try some newer version than 1.3.3 (afaik 1.5 would be enough)?

Thanks in advance for your answer.
Comment 2 Jay Schieber 2019-02-08 17:47:57 UTC
(In reply to Yuri Chornoivan from comment #1)
> The attached file works fine here (Okular 1.6.70, videos are playing as
> expected after the click).
> 
> Can you try some newer version than 1.3.3 (afaik 1.5 would be enough)?
> 
> Thanks in advance for your answer.

Many thanks for your quick reply.  I have tried the snap version, which is 1.6.1.
It crashes when trying to play the video. Would I have to build from sources to get a different version?
Comment 3 Nate Graham 2019-02-08 18:24:41 UTC
Most likely, yes. FWIW works for me too using a newer version.
Comment 4 Jay Schieber 2019-02-08 21:58:21 UTC
(In reply to Nate Graham from comment #3)
> Most likely, yes. FWIW works for me too using a newer version.

Hmm. This is looking nontrivial if you don't already have the setup in place for KDE compilation.  I looked at this site:

https://okular.kde.org/download.php

and downloaded the latest tarball. I was getting errors about missing ecm-config.cmake and Qt5Config.cmake, which I fixed by these instructions:

https://community.kde.org/Guidelines_and_HOWTOs/Build_from_source#Missing_ecm-config.cmake

However, I still get errors like this:

-- Could NOT find Qt5TextToSpeech (missing: Qt5TextToSpeech_DIR)
CMake Warning at /usr/lib/x86_64-linux-gnu/cmake/Qt5/Qt5Config.cmake:39 (message):
  Failed to find Qt5 component "TextToSpeech" config file at
  "/usr/lib/x86_64-linux-gnu/cmake/Qt5TextToSpeech/Qt5TextToSpeechConfig.cmake"
Call Stack (most recent call first):
  CMakeLists.txt:36 (find_package)

-- Qt5TextToSpeech not found, speech features will be disabled
-- Could NOT find KF5Archive (missing: KF5Archive_DIR)
-- Could NOT find KF5Archive: found neither KF5ArchiveConfig.cmake nor kf5archive-config.cmake 
-- Could NOT find KF5Bookmarks (missing: KF5Bookmarks_DIR)
-- Could NOT find KF5Bookmarks: found neither KF5BookmarksConfig.cmake nor kf5bookmarks-config.cmake 
-- Could NOT find KF5Completion (missing: KF5Completion_DIR)
-- Could NOT find KF5Completion: found neither KF5CompletionConfig.cmake nor kf5completion-config.cmake 
-- Could NOT find KF5Config (missing: KF5Config_DIR)
-- Could NOT find KF5Config: found neither KF5ConfigConfig.cmake nor kf5config-config.cmake 
-- Could NOT find KF5ConfigWidgets (missing: KF5ConfigWidgets_DIR)
-- Could NOT find KF5ConfigWidgets: found neither KF5ConfigWidgetsConfig.cmake nor kf5configwidgets-config.cmake 
-- Could NOT find KF5CoreAddons (missing: KF5CoreAddons_DIR)
-- Could NOT find KF5CoreAddons: found neither KF5CoreAddonsConfig.cmake nor kf5coreaddons-config.cmake 
-- Could NOT find KF5Crash (missing: KF5Crash_DIR)
-- Could NOT find KF5Crash: found neither KF5CrashConfig.cmake nor kf5crash-config.cmake 
-- Could NOT find KF5IconThemes (missing: KF5IconThemes_DIR)
-- Could NOT find KF5IconThemes: found neither KF5IconThemesConfig.cmake nor kf5iconthemes-config.cmake 
-- Could NOT find KF5KIO (missing: KF5KIO_DIR)
-- Could NOT find KF5KIO: found neither KF5KIOConfig.cmake nor kf5kio-config.cmake 
-- Could NOT find KF5Parts (missing: KF5Parts_DIR)
-- Could NOT find KF5Parts: found neither KF5PartsConfig.cmake nor kf5parts-config.cmake 
-- Could NOT find KF5ThreadWeaver (missing: KF5ThreadWeaver_DIR)
-- Could NOT find KF5ThreadWeaver: found neither KF5ThreadWeaverConfig.cmake nor kf5threadweaver-config.cmake 
-- Could NOT find KF5WindowSystem (missing: KF5WindowSystem_DIR)
-- Could NOT find KF5WindowSystem: found neither KF5WindowSystemConfig.cmake nor kf5windowsystem-config.cmake 
-- Could NOT find KF5DocTools (missing: KF5DocTools_DIR)
-- Could NOT find KF5DocTools: found neither KF5DocToolsConfig.cmake nor kf5doctools-config.cmake 
-- Could NOT find KF5JS (missing: KF5JS_DIR)
-- Could NOT find KF5JS: found neither KF5JSConfig.cmake nor kf5js-config.cmake 
-- Could NOT find KF5Wallet (missing: KF5Wallet_DIR)
-- Could NOT find KF5Wallet: found neither KF5WalletConfig.cmake nor kf5wallet-config.cmake 
CMake Error at /usr/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
  Could NOT find KF5 (missing: Archive Bookmarks Completion Config
  ConfigWidgets CoreAddons Crash IconThemes KIO Parts ThreadWeaver
  WindowSystem DocTools JS Wallet) (Required is at least version "5.33.0")
Call Stack (most recent call first):
  /usr/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)
  /usr/local/share/ECM/find-modules/FindKF5.cmake:110 (find_package_handle_standard_args)
  CMakeLists.txt:56 (find_package)


Are there working instructions anywhere??
Comment 6 Jay Schieber 2019-02-08 22:13:22 UTC
(In reply to Nate Graham from comment #5)
> Yep, right here:
> https://community.kde.org/Get_Involved/development#One-time_setup:
> _your_development_environment

This makes it look like I have to modify an awful lot of KDE, which I am extremely reluctant to do! Years ago I rebuilt KDE for a more up-to-date version, and it was just a pain in the long run.  How many modifications is this making?
Comment 7 Nate Graham 2019-02-08 22:15:17 UTC
This doesn't modify anything on your system. All software is compiled and installed to ~/kde, which is inside your home folder. Your system itself is untouched. :)
Comment 8 Jay Schieber 2019-02-08 22:20:38 UTC
(In reply to Nate Graham from comment #7)
> This doesn't modify anything on your system. All software is compiled and
> installed to ~/kde, which is inside your home folder. Your system itself is
> untouched. :)

Good to know--thanks!

BTW, there is a typo in that tutorial.  The line should read:

./kdesrc-build --initial-setup

but is missing the first two characters.
Comment 9 Nate Graham 2019-02-08 22:24:06 UTC
Re-read the paragraph that starts with "We want to add kdesrc-build to your system's $PATH variable" :)
Comment 10 Jay Schieber 2019-02-08 22:33:11 UTC
(In reply to Nate Graham from comment #9)
> Re-read the paragraph that starts with "We want to add kdesrc-build to your
> system's $PATH variable" :)

Strange. I did that, but still needed ./ to get it to run. 
Just double-checked bashrc, and it looks fine:

<snipped the rest>

export PATH=~/kde/kdesrc-build:$PATH
Comment 11 Nate Graham 2019-02-08 22:53:38 UTC
I updated a few paths on that page, but the point is, you need to add the actual path to whatever folder kdesrc-build is installed in.
Comment 12 Jay Schieber 2019-02-08 23:51:14 UTC
I am getting a very stupid problem with path. I modified bashrc in the way I suggested, also added it the new path by hand, and checked: 

jay@desktop:~/kde/src/kdesrc-build$ $PATH
bash: /home/jay/kde/src/kdesrc-build:/home/jay/kde/kdesrc-build:/home/jay/bin:/home/jay/.local/bin:/opt/texbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin: No such file or directory

There it is (twice!). I then try to use it:

jay@desktop:~/kde/src/kdesrc-build$ kdesrc-build okular
kdesrc-build encountered an exceptional error condition:
 ========
    Config Error: Unable to open file /home/jay/kde/kdesrc-build/kf5-qt5-build-include which was included from line 33
 ========
        Can't continue, so stopping now.
jay@jdshomeoffice:~/kde/src/kdesrc-build$ kdesrc-build okular
kdesrc-build encountered an exceptional error condition:
 ========
    Config Error: Unable to open file /home/jay/kde/kdesrc-build/kf5-qt5-build-include which was included from line 33
 ========
        Can't continue, so stopping now.

It says that it cannot see the file, but there it is:

jay@desktop:~/kde/src/kdesrc-build$ ls
AUTHORS                        doc            kdesrc-buildrc-kf5-sample  kf5-applications-build-include  kf5-kdepim-build-include     LICENSE    ROADMAP                   t
CMakeLists.txt                 Internals.txt  kdesrc-build-setup         kf5-extragear-build-include     kf5-qt5-build-include        modules    sample-kde-env-master.sh  vim
custom-qt5-libs-build-include  kdesrc-build   kdesrc-build-test.pl       kf5-frameworks-build-include    kf5-workspace-build-include  README.md  sample-xsession.sh

Clearly, I am missing something very stupid.
Comment 13 Jay Schieber 2019-02-10 18:53:46 UTC
Duh! Now I see that the problem was that I was mixing the new and old structure using the /src directory.  

However, even after that I cannot compile because of problems with CMake and KDE.
This is getting too complicated to work properly.