Bug 408460 - kdenlive-19.04.3-x86_64.appimage During rendering, internal paths are assumed to be relative to current working directory instead of project file location causing blank white output.
Summary: kdenlive-19.04.3-x86_64.appimage During rendering, internal paths are assume...
Status: RESOLVED FIXED
Alias: None
Product: kdenlive
Classification: Applications
Component: Video Display & Export (show other bugs)
Version: 19.04.2
Platform: Appimage Linux
: NOR major
Target Milestone: ---
Assignee: Jean-Baptiste Mardelle
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-06-08 19:37 UTC by Robert
Modified: 2019-12-21 08:43 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:
fritzibaby: Brainstorm+


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Robert 2019-06-08 19:37:16 UTC
SUMMARY

19.04.2c-x86_64.appimage  During rendering, internal paths are assumed to be relative to current working directory instead of project file location causing blank white output for files that presumably aren't found.  Changing the working directory to be the same as the project directory resolves the issue.  This is a major problem when launching kdenlive through something like a desktop shortcut where the path will almost always be different than the default working directory.


STEPS TO REPRODUCE

mkdir /tmp/test1
cd /tmp/test1
wget https://files.kde.org/kdenlive/release/kdenlive-19.04.2c-x86_64.appimage
chmod u+x kdenlive-19.04.2c-x86_64.appimage
mkdir project1
cd project1
wget "http://www.robertelder.ca/Screencast 2019-06-08 13:53:57.mp4"
/tmp/test1/kdenlive-19.04.2c-x86_64.appimage
#  Now create a project, add the clip 'Screencast 2019-06-08 13:53:57.mp4' to timeline.  Render to output file '/tmp/good.mp4'.
#  Save project as /tmp/test1/project1/proj.kdenlive
#  Exit program.
#  Check /tmp/test1/project1/proj.kdenlive and note that the project file uses relative paths for the video file (which is probably the right way to do it).
cd /tmp/test1/
mkdir otherdir
cd otherdir
/tmp/test1/kdenlive-19.04.2c-x86_64.appimage /tmp/test1/project1/proj.kdenlive
#  Render project to output file '/tmp/bad.mp4'.


OBSERVED RESULT

#  Observe that /tmp/good.mp4 has rendered the output correctly, whereas /tmp/bad.mp4 just has white screen for output.


EXPECTED RESULT

Both good.mp4 and bad.mp4 should be the same file.


SOFTWARE/OS VERSIONS

appimage

ADDITIONAL INFORMATION

I'm pretty sure this is actually part of the bug I was chasing back in this bug:

https://bugs.kde.org/show_bug.cgi?id=407778

I filed a different but for this since it's quite different than what I noticed in the other bug report.
Comment 1 Robert 2019-07-25 01:54:05 UTC
Updated bug repo instructions and verified that the bug still happens in kdenlive-19.04.3-x86_64.appimage

mkdir /tmp/test1
cd /tmp/test1
wget https://files.kde.org/kdenlive/release/kdenlive-19.04.3-x86_64.appimage
chmod u+x kdenlive-19.04.3-x86_64.appimage
mkdir project1
cd project1
wget "http://www.robertelder.ca/Screencast 2019-06-08 13:53:57.mp4"
/tmp/test1/kdenlive-19.04.3-x86_64.appimage
#  Now create a project, add the clip 'Screencast 2019-06-08 13:53:57.mp4' to timeline.  Render to output file '/tmp/good.mp4'.
#  Save project as /tmp/test1/project1/proj.kdenlive
#  Exit program.
#  Check /tmp/test1/project1/proj.kdenlive and note that the project file uses relative paths for the video file (which is probably the right way to do it).
cd /tmp/test1/
mkdir otherdir
cd otherdir
/tmp/test1/kdenlive-19.04.3-x86_64.appimage /tmp/test1/project1/proj.kdenlive
#  Render project to output file '/tmp/bad.mp4'.
Comment 2 Jean-Baptiste Mardelle 2019-07-31 15:58:15 UTC
Hmm, in fact this seems to be a different problem. MLT does not cope well with filenames containing a colon character ':'.

If the given path is absolute it works, but MLT fails to restore relative paths with a colon. Can you try renaming the clip to remove the colons and repeat the same procedure to confirm it works?
Comment 3 Robert 2019-07-31 16:26:01 UTC
Hi Jean,

I followed your suggestion and I can confirm that your expectations are correct:  Renaming the file to not have a colon character seems to make this problem go away.  Here are the steps that I followed:

mkdir /tmp/test1
cd /tmp/test1
wget https://files.kde.org/kdenlive/release/kdenlive-19.04.3-x86_64.appimage
chmod u+x kdenlive-19.04.3-x86_64.appimage
mkdir project1
cd project1
wget "http://www.robertelder.ca/Screencast 2019-06-08 13:53:57.mp4"
mv "Screencast 2019-06-08 13:53:57.mp4" foo.mp4
/tmp/test1/kdenlive-19.04.3-x86_64.appimage
#  Now create a project, add the clip foo.mp4 to timeline.  Render to output file '/tmp/good.mp4'.
#  Save project as /tmp/test1/project1/project1.kdenlive
#  Exit program.
#  Check /tmp/test1/project1/project1.kdenlive and note that the project file uses relative paths for the video file (which is probably the right way to do it).
cd /tmp/test1/
mkdir otherdir
cd otherdir
/tmp/test1/kdenlive-19.04.3-x86_64.appimage /tmp/test1/project1/project1.kdenlive
#  Render project to output file '/tmp/bad.mp4'.

Result:

md5sum good.mp4 bad.mp4 
81d03f1cd0983059598ee61ff06683fd  good.mp4
81d03f1cd0983059598ee61ff06683fd  bad.mp4

Both files play the video correctly.
Comment 4 emohr 2019-09-21 08:21:25 UTC
added to: https://invent.kde.org/kde/kdenlive/issues/315
Comment 5 Robert 2019-12-20 20:29:02 UTC
I just tested this bug out again using the following steps and it appears to be fixed in version kdenlive-19.12.0a-x86_64.appimage:

mkdir /tmp/test1
cd /tmp/test1
wget http://mirrors.ocf.berkeley.edu/kde-applicationdata/kdenlive/release/kdenlive-19.12.0a-x86_64.appimage
md5sum -c <(echo "1d12febea853500fb1e0f1adeeea4f32  kdenlive-19.12.0a-x86_64.appimage")
chmod u+x kdenlive-19.12.0a-x86_64.appimage
mkdir project1
cd project1
wget "http://www.robertelder.ca/Screencast 2019-06-08 13:53:57.mp4"
/tmp/test1/kdenlive-19.12.0a-x86_64.appimage
#  Now create a project, add the clip 'Screencast 2019-06-08 13:53:57.mp4' to timeline.  Render to output file '/tmp/good.mp4'.
#  Save project as /tmp/test1/project1/proj.kdenlive
#  Exit program.
#  Check /tmp/test1/project1/proj.kdenlive and note that the project file uses relative paths for the video file (which is probably the right way to do it).
cd /tmp/test1/
mkdir otherdir
cd otherdir
/tmp/test1/kdenlive-19.12.0a-x86_64.appimage /tmp/test1/project1/proj.kdenlive
#  Render project to output file '/tmp/bad.mp4'.
md5sum /tmp/good.mp4 /tmp/bad.mp4 

#  Result was this:
#680621ef3f9a421cda66072bb7af3ca7  /tmp/good.mp4
#680621ef3f9a421cda66072bb7af3ca7  /tmp/bad.mp4

Both files work correctly and no blank white output is observed.  Bug appears to be fixed in kdenlive-19.12.0a-x86_64.appimage.  Updating bug to resolved.
Comment 6 emohr 2019-12-21 08:43:38 UTC
Thank you for the feedback and contribution. Glad to hear it works.