This forum has been archived. All content is frozen. Please use KDE Discuss instead.

kdenlive_builder script classic v3.1 released

Tags: None
(comma "," separated)
espinosa_cz
Registered Member
Posts
118
Karma
0
OS

This is branch of kdenlive_builder script the original one; classic if you want. No GUI, not interactive, just a hardcore CLI script.

Use this version if the GUI version does not work for you or you want call script repeatively or you prefer CLI.

This branch is (semi)maintaned by Espinosa (me) and it i released on "works-for-me" basis.



This version should fix a lot of building problems coming with latest SVN sources of ffmpeg and mlt.

I have just successfully build the whole lot - 12.4.2008



Changelog:


  • version 3.1 - major updates; adapt script to several changes in kndelive, ffmpeg and mlt builds; particulary:[/*:m]

  • adapt to ffmpeg headers structure, add ffmpeg_headers_hack1, ffmpeg_headers_hack2[/*:m]

  • set PKG_CONFIG_PATH (needed to build MLT libavformat module)[/*:m]

  • changes in LD_RUN_PATH (really needed?)[/*:m]

  • ffmpeg configure options names changes, namely: disable-stripping, enable-postproc, enable-swscale [/*:m]

  • keep LD_RUN_PATH approach to 'link' ffmpeg and mlt libraries to kdenlive[/*:m]

  • TODO: add sub directory creation as a first step as some users reported that theis version of svn tool does not do it automatically for them.[/*:m]

  • TODO: refactor code, extract parts to bash functions; consider partial merge with GUI variant of this script [/*:m]



#!/bin/bash
# Script for easy and SAFE Kdenlive & ffmpeg & mlt & mlt++ build utilizing LD_RUN_PATH
# All subprojects are compiled and installed to specified non-system directory.
# You can safely keep multiple kdenlive/ffmpeg versions.
#
# This sript ensures, that kdenlive will call only desired ffmpeg and mlt libs.
# Using LD_RUN_PATH is a better, more general, alternative to statically link it all together.
# You can verify this it by calling
# cd ~/build/kdenlive/bin && ldd ./kdenlive
# - or -
# cd ~/build/kdenlive/bin && LD_DEBUG=libs ./kdenlive
# Set DEST_DIR in script, otherwise ~/build/kdenlive is used by default.
#
# Espinosa, Aleksander Adamowski (Olo)
# $Id$
#
#
# Usage:
# kdenlive_builder getsources - call svn to get sources for all subprojects for the first time
# kdenlive_builder updatesources - call svn to update sources for all subprojects
# kdenlive_builder clean - call make clean for all subprojects
# kdenlive_builder build - call configure and make and make install for all subprojects
# kdenlive_builder info - print revision numbers and dates for each component


# Modify the destination directory if you want
# Or you can copy it afterwars to /opt/kdenlive- or wherever you want.
# Caution: if you pick /usr here, you system kdenlive, ffmpeg and mlt will be overwritten!
#export DEST_DIR=~/build/kdenlive.$(date +%F_%H_%M) # ..uncomment this if you prefer to have 'timestamp' in target directory name
export DEST_DIR=~/build/kdenlive_0_6svn

# Simulate older ffmpeg header files
# Bash custom procedure
function ffmpeg_headers_hack1 {
mkdir $DEST_DIR/include/ffmpeg
cd $DEST_DIR/include/ffmpeg
ln -sf ../libavformat/* .
ln -sf ../libavcodec/* .
ln -sf ../libavdevice/* .
ln -sf ../libavutil/* .
ln -sf ../libpostproc/* .
ln -sf ../libswscale/* .
cd -
}

# Simulate older ffmpeg header files
# Bash custom procedure
function ffmpeg_headers_hack2 {
cd $DEST_DIR/include
ln -sf libavformat/* .
ln -sf libavcodec/* .
ln -sf libavdevice/* .
ln -sf libavutil/* .
ln -sf libpostproc/* .
ln -sf libswscale/* .
cd -
}

case "$1" in

"getsources")
# Download sources of ffmpeg, mtl, mlt++, kdenlive from their SVNs
# Call this as a very first command, call it once, then use updatesources (quicker)
# Subdirectories are created by this command
svn co svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg &&
svn co https://mlt.svn.sourceforge.net/svnroot/mlt/trunk/mlt mlt &&
svn co https://mlt.svn.sourceforge.net/svnroot/mlt/trunk/mlt++ mlt++ &&
svn co https://kdenlive.svn.sourceforge.net/svnroot/kdenlive/trunk/kdenlive
;;

"updatesources")
# The same as 'getsources' but quicker
# You must have already all sorces downloaded prior to call this!
cd ffmpeg &&
svn update &&
cd ../mlt &&
svn update &&
cd ../mlt++ &&
svn update &&
cd ../kdenlive &&
svn update
;;

"clean")
cd ffmpeg
make clean
cd ../mlt
make clean
cd ../mlt++
make clean
cd ../kdenlive
make clean
;;

"build")
export PATH=$DEST_DIR/bin:$PATH
export LD_RUN_PATH=../lib:..:.
export LD_LIBRARY_PATH=$DEST_DIR/lib:$DEST_DIR/lib/mlt:$LD_LIBRARY_PATH
export PKG_CONFIG_PATH=$DEST_DIR/lib/pkgconfig:$PKG_CONFIG_PATH

cd ffmpeg &&

#
# FFmpeg configuration settings explained:
#
# Note: Most of the options mean that an external library is required! Remember, many codecs, especially audio codecs,
# are NOT implemented by FFmpeg, or the implementation is inferior.
#
# --enable-gpl .. enable GPLed libraries, like swscaller - ESSENTIAL, REQUIRED by MLTlink all files in directory
# --enable-swscaler .. enable SW scaller, statically linked lib handled by ffmpeg but GPL - ESSENTIAL, REQUIRED by MLT
# --enable-libmp3lame .. support for mp3 audio codec - STRONGLY RECOMMENDED
# --enable-liba52 .. support for ACC (aka A52) audio codec used in DVDs - STRONGLY RECOMMENDED
# --enable-libogg .. support for OGG format - RECOMMENDED
# --enable-pp .. enable post processing of video - required??
# --enable-libtheora .. support for theora video codec by external lib - RECOMMENDED
# --enable-libvorbis .. support for theora video codec by external lib - RECOMMENDED
# --enable-libx264 .. support for high quality H264 codec, extern. lib - GOOD TO HAVE
# --enable-libfaad .. support for Advaced Audio codec - AAC (iPod, some mp4) - GOOD TO HAVE
# --enable-libfaac .. altern. support for Advaced Audio codec - AAC (iPod, some mp4) - GOOD TO HAVE
#
# --enable-vhook .. have no idea what is this good for, set on by default
# --enable-x11grab .. have no idea what is this good for, set on by default
#
# --enable-libgsm .. support for low bandwith GSM audio codec, mostly speach, not much used in movies
# --enable-libxvid .. Xvid codec support is well handled by FFmpeg itself - NOT RECOMMENDED
# --enable-amr_nb .. support for audio codec, not widely used ?
# --enable-amr_wb .. support for audio codec, not widely used ?
# --enable-libdts .. support for audio? codec, not widely used ?
#
# --disable-strip .. disable stipping of debugging symbols to ease debugging
# --enable-debug .. DEBUGGING support is swith ON by default. For a final distribution wise version remove this paramater
#

# --enable-libogg ..deprecated, ogg is now supported natively (only) by ffmpeg - Espinosa 25.11.2007
# --enable-swscaler and --enable-pp and --disable-strip removed - 3/4/2008

./configure --prefix=$DEST_DIR \
--enable-gpl \
--enable-shared \
--enable-libtheora \
--enable-libmp3lame \
--enable-libvorbis \
--enable-liba52 \
--enable-postproc \
--enable-swscale \
--enable-debug \
--disable-stripping &&
make &&
make install &&
ffmpeg_headers_hack1 &&
ffmpeg_headers_hack2 &&

cd ../mlt &&
./configure --prefix=$DEST_DIR --enable-gpl --avformat-swscale --enable-motion-est --enable-mmx --enable-debug --disable-gtk2 &&
make &&
make install &&


cd ../mlt++ &&
./configure --prefix=$DEST_DIR --enable-debug &&
make &&
make install &&

#due to bug in recent cmake -DLIBFFMPEG_INCLUDE_DIR=$DEST_DIR/include had to be added - espinosa 4/4/2008
# -DLIBFFMPEG_INCLUDE_DIR=$DEST_DIR/include \ - removed again 12.4.2008
cd ../kdenlive &&
rm -f CMakeCache.txt &&
cmake \
-DCMAKE_INSTALL_PREFIX=$DEST_DIR \
-DCMAKE_BUILD_TYPE=Debug . &&
make &&
make install
;;

"info")
# Print SVN revision number and udate date for each component
# Good to know when reporting an error
cd ffmpeg
echo "FFmpeg SVN version:"
LANG=C LC_TIME=C svn info | grep '\(Revision\|Last\ Changed\ Date\)'
cd ../mlt
echo "MLT SVN version:"
LANG=C LC_TIME=C svn info | grep '\(Revision\|Last\ Changed\ Date\)'
cd ../mlt++
echo "MLT++ SVN version:"
LANG=C LC_TIME=C svn info | grep '\(Revision\|Last\ Changed\ Date\)'
cd ../kdenlive
echo "Kdenlive SVN version:"
LANG=C LC_TIME=C svn info | grep '\(Revision\|Last\ Changed\ Date\)'
;;

*)
# print some help
echo 'Kdenlive & ffmpeg & mlt & mlt++ build script utilizing LD_RUN_PATH'
echo 'Set DEST_DIR in script, otherwise ~/build/kdenlive is used by default'
echo 'Usage: '
echo ' kdenlive_builder getsources - call svn to get sources for all subprojects for the first time'
echo ' kdenlive_builder updatesources - call svn to update sources for all subprojects'
echo ' kdenlive_builder clean - clean subdirs. Recommended to call prior to build'
echo ' kdenlive_builder build - build and instal all sources to user defined directory'
echo ' kdenlive_builder info - print revision numbers and dates for each component'
;;

esac

# Changelog:
# v1.0 - 16.6.2007
# initial version
# v2.0 - 27.6.2007
# support for debugging
# fixes by Olo
# better ffmpeg help
# revision number printing, etc.
# SVN revision 3 - 2007-07-07
# import into SVN on Google project hosting
# 9.2.2008 - espinosa_cz
# v3.0 - adapt for recent CMake adoption in Kdenlive
# development of build_script splits to two branches - GUI (XDialog interactive version maintained by other community members) and classic (maintained by espinosa_cz)
# 12.4.2008 - espinosa_cz
# - version 3.1 - major updates; adapt script to several changes in kndelive, ffmpeg and mlt builds; particulary:
# - adapt to ffmpeg headers structure, add ffmpeg_headers_hack1, ffmpeg_headers_hack2
# - set PKG_CONFIG_PATH (needed to build MLT libavformat module)
# - changes in LD_RUN_PATH (really needed?)
# - ffmpeg configure options names changes, namely: disable-stripping, enable-postproc, enable-swscale
# - keep LD_RUN_PATH approach to 'link' ffmpeg and mlt libraries to kdenlive
# - TODO: refactor code, extract parts to bash functions; consider partial merge with GUI variant of this script
[/]
espinosa_cz
Registered Member
Posts
118
Karma
0
OS

I created an extra page in kdenlive wiki. Please read this first if you are confused or interested in using the script:

http://en.wikibooks.org/wiki/Kdenlive_b ... sic_script

eljefe
Registered Member
Posts
59
Karma
0

The new classic script worked great for me, thank you Espinosa!

doitux
Registered Member
Posts
6
Karma
0

I tried to adapt it for compiling the new kde4 version. I just changed the svn command to:

"svn co https://kdenlive.svn.sourceforge.net/sv ... nches/KDE4 kdenlive"



But at the end of kdenlive i get:



[ 93%] Building CXX object src/cmake_bindir/CMakeFiles/kdenlive.dir/movetransitioncommand.o
[ 94%] Building CXX object src/cmake_bindir/CMakeFiles/kdenlive.dir/kdenlivesettings.o
Linking CXX executable kdenlive
[ 94%] Built target kdenlive
[ 95%] Generating kdenlive_render_automoc.cpp
Generating renderjob.moc
Scanning dependencies of target kdenlive_render
[ 96%] Building CXX object renderer/cmake_bindir/CMakeFiles/kdenlive_render.dir/kdenlive_render_automoc.o
[ 97%] Building CXX object renderer/cmake_bindir/CMakeFiles/kdenlive_render.dir/kdenlive_render.o
[ 98%] Building CXX object renderer/cmake_bindir/CMakeFiles/kdenlive_render.dir/renderjob.o
/home/doitux/Programme/kdenlive-kde4/kdenlive/renderer/renderjob.cpp: In member function ‘void RenderJob::slotAbort()’:
/home/doitux/Programme/kdenlive-kde4/kdenlive/renderer/renderjob.cpp:50: error: ‘stderr’ was not declared in this scope
/home/doitux/Programme/kdenlive-kde4/kdenlive/renderer/renderjob.cpp:50: error: ‘fprintf’ was not declared in this scope
/home/doitux/Programme/kdenlive-kde4/kdenlive/renderer/renderjob.cpp:54: error: ‘QFile’ was not declared in this scope
/home/doitux/Programme/kdenlive-kde4/kdenlive/renderer/renderjob.cpp:54: error: expected `;' before ‘f’
/home/doitux/Programme/kdenlive-kde4/kdenlive/renderer/renderjob.cpp:55: error: ‘f’ was not declared in this scope
/home/doitux/Programme/kdenlive-kde4/kdenlive/renderer/renderjob.cpp:57: error: ‘QFile’ was not declared in this scope
/home/doitux/Programme/kdenlive-kde4/kdenlive/renderer/renderjob.cpp:57: error: expected `;' before ‘f’
/home/doitux/Programme/kdenlive-kde4/kdenlive/renderer/renderjob.cpp:58: error: ‘f’ was not declared in this scope
/home/doitux/Programme/kdenlive-kde4/kdenlive/renderer/renderjob.cpp:59: error: ‘exit’ was not declared in this scope
/home/doitux/Programme/kdenlive-kde4/kdenlive/renderer/renderjob.cpp: In member function ‘void RenderJob::slotIsOver(int, QProcess::ExitStatus)’:
/home/doitux/Programme/kdenlive-kde4/kdenlive/renderer/renderjob.cpp:89: error: ‘QFile’ was not declared in this scope
/home/doitux/Programme/kdenlive-kde4/kdenlive/renderer/renderjob.cpp:89: error: expected `;' before ‘f’
/home/doitux/Programme/kdenlive-kde4/kdenlive/renderer/renderjob.cpp:90: error: ‘f’ was not declared in this scope
/home/doitux/Programme/kdenlive-kde4/kdenlive/renderer/renderjob.cpp:102: error: ‘exit’ was not declared in this scope
make[2]: *** [renderer/cmake_bindir/CMakeFiles/kdenlive_render.dir/renderjob.o] Fehler 1
make[1]: *** [renderer/cmake_bindir/CMakeFiles/kdenlive_render.dir/all] Fehler 2
make: *** [all] Fehler 2


Any ideas how to fix that?

geoffrey
Registered Member
Posts
100
Karma
0

Same thing here. Any help would be appreciated.

I tried tweaking the script help it find the include directory, but my knowledge is limited in this respect.



cbx33
Registered Member
Posts
13
Karma
0

Hi guys, the packages in Ubuntu are really poor, crashing constantly. So I tried to build from source using the builder script. But I get the same issue as above.....any help.....I'm desperate to get progbox 0.3 out the door.



cbx33
Registered Member
Posts
13
Karma
0

Ok, I got it built. I had to make two small hacks.



1) I hacked up the script, line 287 becomes

export CFLAGS="$CFLAGS -I$DEST_DIR/include/libavcodec/ -I$DEST_DIR/include/libavformat/ -I$DEST_DIR/include/libswscale/ -I$DEST_DIR/include/libavdevice/ -I$DEST_DIR/include/"

else it complains that it can't find the avcodec.h



2) Hack up a file in mlt source dir mlt/src/modules/avformat/Makefile

Change line 18, to read

LDFLAGS+=-L/home/pete/build/lib



However, even after doing this, it builds, but as soon as it starts, it segfaults, with this.



Quote:
Continuing.

Qt: gdb: -nograb added to command-line options.

Use the -dograb option to enforce grabbing.

kbuildsycoca running...

kio (KMimeType): WARNING: KServiceType::offers : servicetype ThumbCreator not found

kio (KMimeType): WARNING: KServiceType::offers : servicetype ThumbCreator not found

kdenlive: // INIT EFFECT SEARCH

kdenlive: --------- close 1b

kdenlive: --------- close 2b

Program received signal SIGSEGV, Segmentation fault.

mlt_properties_set (this=0x0, name=0x829fb1c "resource",

value=0x852a7b8 "/usr/share/apps/kdenlive/profiles/metadata.properties")

at mlt_properties.c:277

277 property_list *list = this->local;

Current language: auto; currently c

(gdb) bt

#0 mlt_properties_set (this=0x0, name=0x829fb1c "resource",

value=0x852a7b8 "/usr/share/apps/kdenlive/profiles/metadata.properties")

at mlt_properties.c:277

#1 0xb6ce2bd8 in Mlt::Properties::set ()

from /home/pete/build/lib/libmlt++.so.0

#2 0x081af929 in KRender::KRender ()

#3 0x081b0948 in KRenderManager::createRenderer ()

#4 0x081b0cd0 in KRenderManager::findRenderer ()

#5 0x08192dc6 in KdenliveDoc::KdenliveDoc ()

#6 0x0817c715 in Gui::KdenliveApp::initDocument ()

#7 0x0818a987 in Gui::KdenliveApp::KdenliveApp ()

#8 0x081d0781 in main ()

(gdb)



Any ideas??



geoffrey
Registered Member
Posts
100
Karma
0

cbx33,

I tried your ideas but still could not get MLT to build. It did progress further though so something is helping.

I just had the thought that you could back up the svn versions to some that worked with the sript. I used the other script on the forum successfully around March 23, 2008. I've been using the March svn version of kdenlive ever since. So you would need to manually use svn to rollback to whatever version of ffmpeg, mlt, mlt++, and kdenlive were around at that time.



useful commands would be: "svn log", "svn info", "svn update -r"



Also you might make sure kdenlive is finding the correct libraries when it runs. I have a script like this that I modified from the forums to run kdenlive:

#!/bin/bash

export LD_LIBRARY_PATH=/home/gsking/programs/kdenlive/build/lib:$LD_LIBRARY_PATH

export PATH=/home/gsking/programs/kdenlive/build/bin:$PATH

CPUS=$(cat /proc/cpuinfo | grep processor | tail -1 | awk '{print $3}')

export MLT_AVFORMAT_THREADS=$(($CPUS + 1))

kdenlive



cbx33
Registered Member
Posts
13
Karma
0

Geoffrey....



Could you give me some more information...namely

1) What is your error message, I will take a look and see if I can help on that one.

2) What revision number did you use? Is it possible to find it. If the most current doesn't build. I can always try that older one then. How stable is it?



Pete



geoffrey
Registered Member
Posts
100
Karma
0

The version from March 23 that is working for me is this:

fmpeg 12566

mlt 1107

mlt++ 1107

kdenlive 1919



To get the script to work I had to edit these files as indicated on the forum:

/home/MYDIR/programs/kdenlive/src/kdenlive/kdenlive/krender.cpp

line 28 becomes: #include



/home/MYDIR/programs/kdenlive/src/kdenlive/cmake/modules/FindLIBFFMPEG.cmake

line 6 should have: libavformat/avformat.h



I did use the kdenlive_builder_31 script, and modified it slightly, it is also attached.

It's been fairly stable, but does crash occasionally. I just save lots of different versions. Seems more stable when I use the RAWDV format compared with Type 1 or 2 AVI. Also seems to have more problems when the videos get longer with lots of clips and transitions, but that is just subjective.



I'll upload the modified script also. It will need to be customized for your directories since I've hardcoded mine into it in a few places.



I hope this helps. Geoff



mridkash
Registered Member
Posts
15
Karma
0

cc -Wall -fPIC -DPIC   -O4 -pipe -fomit-frame-pointer -ffast-math -DUSE_MMX -g -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -pthread -I/include   -I../.. -DSWSCALE   -c -o factory.o factory.c
factory.c:34:22: error: avformat.h: No such file or directory
factory.c: In function ‘avformat_init’:


I'm getting this error, even after installing libavformat-dev package.



mridkash
Registered Member
Posts
15
Karma
0

cbx33 wrote:
Ok, I got it built. I had to make two small hacks.

1) I hacked up the script, line 287 becomes

export CFLAGS="$CFLAGS -I$DEST_DIR/include/libavcodec/ -I$DEST_DIR/include/libavformat/ -I$DEST_DIR/include/libswscale/ -I$DEST_DIR/include/libavdevice/ -I$DEST_DIR/include/"

else it complains that it can't find the avcodec.h



2) Hack up a file in mlt source dir mlt/src/modules/avformat/Makefile

Change line 18, to read

LDFLAGS+=-L/home/pete/build/lib



However, even after doing this, it builds, but as soon as it starts, it segfaults, with this.



Quote:
Continuing.

Qt: gdb: -nograb added to command-line options.

Use the -dograb option to enforce grabbing.

kbuildsycoca running...

kio (KMimeType): WARNING: KServiceType::offers : servicetype ThumbCreator not found

kio (KMimeType): WARNING: KServiceType::offers : servicetype ThumbCreator not found

kdenlive: // INIT EFFECT SEARCH

kdenlive: --------- close 1b

kdenlive: --------- close 2b

Program received signal SIGSEGV, Segmentation fault.

mlt_properties_set (this=0x0, name=0x829fb1c "resource",

value=0x852a7b8 "/usr/share/apps/kdenlive/profiles/metadata.properties")

at mlt_properties.c:277

277 property_list *list = this->local;

Current language: auto; currently c

(gdb) bt

#0 mlt_properties_set (this=0x0, name=0x829fb1c "resource",

value=0x852a7b8 "/usr/share/apps/kdenlive/profiles/metadata.properties")

at mlt_properties.c:277

#1 0xb6ce2bd8 in Mlt::Properties::set ()

from /home/pete/build/lib/libmlt++.so.0

#2 0x081af929 in KRender::KRender ()

#3 0x081b0948 in KRenderManager::createRenderer ()

#4 0x081b0cd0 in KRenderManager::findRenderer ()

#5 0x08192dc6 in KdenliveDoc::KdenliveDoc ()

#6 0x0817c715 in Gui::KdenliveApp::initDocument ()

#7 0x0818a987 in Gui::KdenliveApp::KdenliveApp ()

#8 0x081d0781 in main ()

(gdb)



Any ideas??



I couldn't understand what script you hacked. In the kdenlive_builder script given in first post of this thread contains only 226 lines.



cbx33
Registered Member
Posts
13
Karma
0

I tried this Geoff, thanks. I'm getting a different fail now.



config.h is unchanged
make -C libavutil all
make[1]: Entering directory `/home/pete/source/kdenlive4/ffmpeg/libavutil'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/pete/source/kdenlive4/ffmpeg/libavutil'
make -C libavcodec all
make[1]: Entering directory `/home/pete/source/kdenlive4/ffmpeg/libavcodec'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/pete/source/kdenlive4/ffmpeg/libavcodec'
make -C libavformat all
make[1]: Entering directory `/home/pete/source/kdenlive4/ffmpeg/libavformat'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/pete/source/kdenlive4/ffmpeg/libavformat'
make -C libavdevice all
make[1]: Entering directory `/home/pete/source/kdenlive4/ffmpeg/libavdevice'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/pete/source/kdenlive4/ffmpeg/libavdevice'
: make -C libpostproc all
make -C libswscale all
make[1]: Entering directory `/home/pete/source/kdenlive4/ffmpeg/libswscale'
make[1]: warning: jobserver unavailable: using -j1. Add `+' to parent make rule.
make[1]: *** No rule to make target `all'. Stop.
make[1]: Leaving directory `/home/pete/source/kdenlive4/ffmpeg/libswscale'
make: *** [lib] Error 2
pete@ubuntu:~/source/kdenlive4$


Working on it, I'll post he results



cbx33
Registered Member
Posts
13
Karma
0

Ok, I changed the ffmpeg/libswscale/Makefile, line 20, to point to common.mak and not subdir.mak



Building Now...



cbx33
Registered Member
Posts
13
Karma
0

I got a working kdenlive. Just need to test it for stability now. Thank you so much Geoff. If this works it's a credit for you in the show :)





Bookmarks



Who is online

Registered users: Bing [Bot], gfielding, Google [Bot], Sogou [Bot]