Analyzing Code for KDE/Qt && Other Open Source Software

Total Page:16

File Type:pdf, Size:1020Kb

Analyzing Code for KDE/Qt && Other Open Source Software Analyzing code for KDE/Qt && other open source software http://leetcode.cn/2016/11/analyzing-code-for-kde-qt-open-source-components.html Leslie Zhai 普华——操作系统整合解决方案专家 Senior Software Engineer iSOFT Infrastructure Software co., Ltd; KDE developer KDE-China.org && Leetcode.cn 1 WHY 目录 HOWTO Contents 2 3 REFERENCE Part1 WHY? VULNERABILITIES OPTIMIZATION WHY -VULNERABILITIES 普华——操作系统整合解决方案专家 WHY - OPTIMIZATION 普华——操作系统整合解决方案专家 Identifying potential bottlenecks; Detecting problems in memory management; Detecting problems in C/C++ via static/dynamic analyzer source code analysis tool; Analyzing the CPU usage of embedded applications and Linux desktop applications; Part 2 HOWTO Static Analyzer Sanitizer libFuzzer CFI Safe Stack HOWTO – static analyer for k3b v2.10.0 普华——操作系统整合解决方案专家 HOWTO - static analyzer for k3b v2.10.0 普华——操作系统整合解决方案专家 scan-build -k -v -V cmake .. -DCMAKE_INSTALL_PREFIX=/usr \ -DKDE_INSTALL_LIBDIR=lib \ -DKDE_INSTALL_LIBEXECDIR=lib \ -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \ -DK3B_BUILD_API_DOCS=ON \ -DK3B_ENABLE_PERMISSION_HELPER=ON \ -DK3B_DEBUG=ON scan-build -k -v -V make HOWTO - static analyzer for k3b v2.10.0 普华——操作系统整合解决方案专家 HOWTO - static analyzer for k3b v2.10.0 普华——操作系统整合解决方案专家 HOWTO - static analyzer for k3b v2.10.0 普华——操作系统整合解决方案专家 Q_UNUSED(dialogOpen); HOWTO - static analyzer for k3b v2.10.0 普华——操作系统整合解决方案专家 HOWTO - static analyzer for k3b v2.10.0 普华——操作系统整合解决方案专家 HOWTO - static analyzer for k3b v2.10.0 普华——操作系统整合解决方案专家 http://clang-analyzer.llvm.org/annotations.html#custom_assertions HOWTO - static analyzer for k3b v2.10.0 普华——操作系统整合解决方案专家 LLVMBUG-28331 HOWTO – sanitizer for k3b v2.10.0 普华——操作系统整合解决方案专家 echo ‘include(ECMEnableSanitizers)’ >> CMakeLists.txt cmake .. -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_CXX_COMPILER=clang++ \ -DECM_ENABLE_SANITIZERS='address;leak;undefined' \ -DECM_ENABLE_SANITIZERS='address;thread;leak;undefined'\ -DKDE_INSTALL_LIBDIR=lib \ -DKDE_INSTALL_LIBEXECDIR=lib \ -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \ -DK3B_BUILD_API_DOCS=ON \ -DK3B_ENABLE_PERMISSION_HELPER=ON \ -DK3B_DEBUG=ON HOWTO – sanitizer for k3b v2.10.0 普华——操作系统整合解决方案专家 in /data/project/kde/libkcddb/libkcddb/kcddbconfig.cpp:43:9: runtime error: member call on address 0x607000047280 which does not point to an object of type 'KConfigSkeletonGenericItem<QString>' 0x607000047280: note: object is of type 'KCoreConfigSkeleton::ItemString' 1c 00 00 60 78 40 69 ba be 7f 00 00 20 85 dc be be 7f 00 00 20 8d dc be be 7f 00 00 e0 8d dc be ^~~~~~~~~~~~~~~~~~~~~~~ vptr for 'KCoreConfigSkeleton::ItemString' SUMMARY: AddressSanitizer: undefined-behavior /data/project/kde/libkcddb/libkcddb/kcddbconfig.cpp:43:9 HOWTO – sanitizer for k3b v2.10.0 普华——操作系统整合解决方案专家 /data/project/kde/k3b/libk3b/tools/libisofs/iso_fs.h:215:9: runtime error: load of misaligned address 0x61d0002fb32e for type 'unsigned int', which requires 4 byte alignment 0x61d0002fb32e: note: pointer points here 00 00 22 00 13 00 00 00 00 00 00 13 00 08 00 00 00 00 08 00 74 05 01 04 2f 07 00 02 00 00 01 00 ^ SUMMARY: AddressSanitizer: undefined-behavior /data/project/kde/k3b/libk3b/tools/libisofs/iso_fs.h:215: 9 HOWTO – sanitizer for k3b v2.10.0 普华——操作系统整合解决方案专家 /data/project/kde/k3b/libk3b/core/k3bjob.cpp:118:39: runtime error: member call on address 0x7ffeb29f01 d0 which does not point to an object of type 'K3b::JobHandler' 0x7ffeb29f01a0: note: object is base class subobject at offset 48 within object of type 'K3b::BurnProgressDialog' 00 01 00 00 b0 44 95 01 00 00 00 00 80 6a 40 01 60 61 00 00 f8 46 95 01 00 00 00 00 00 00 00 00 ^ SUMMARY: AddressSanitizer: undefined-behavior /data/project/kde/k3b/libk3b/core/k3bjob.cpp:118:39 HOWTO – sanitizer for k3b v2.10.0 普华——操作系统整合解决方案专家 ================================================================= ==14489==ERROR: LeakSanitizer: detected memory leaks Direct leak of 256 byte(s) in 1 object(s) allocated from: #0 0x5989c8 in __interceptor_malloc (/data/project/kde/k3b/build/src/k3b+0x5989c8) #1 0x7fdb06d38ef9 (/usr/lib/libfontconfig.so.1+0x1def9) HOWTO – sanitizer for k3b v2.10.0 普华——操作系统整合解决方案专家 Indirect leak of 4 byte(s) in 1 object(s) allocated from: #0 0x5d0780 in operator new[](unsigned long) (/data/project/kde/k3b/build/src/k3b+0x5d0780) #1 0x7fc8bd1a02a1 (/usr/lib/libQt5Core.so.5+0x2b02a1) #2 0x7fc8bd186ccf in QMetaMethod::parameterTypes() const (/usr/lib/libQt5Core.so.5+0x296ccf) SUMMARY: AddressSanitizer: 97381 byte(s) leaked in 921 allocation(s). https://github.com/google/sanitizers/wiki/AddressSanitizer http://clang.llvm.org/docs/UndefinedBehaviorSanitizer.html https://github.com/google/sanitizers/wiki/AddressSanitizerLeakSanitizer HOWTO – ThreadSanitizer 普华——操作系统整合解决方案专家 clang-3.9: error: invalid argument '-fsanitize=address' not allowed with '-fsanitize=thread' clang-3.9: error: invalid argument '-fsanitize=thread' not allowed with '-fsanitize=memory' clang-3.9: error: invalid argument '-fsanitize=leak' not allowed with '-fsanitize=thread' The sanitizers “address”, “memory” and “thread” are mutually exclusive, but why? LLVMBUG-31352 HOWTO – ThreadSanitizer 普华——操作系统整合解决方案专家 WARNING: ThreadSanitizer: data race (pid=17199) Read of size 4 at 0x0000006f4738 by thread T2: #0 MyThread2::run() /data/project/LeetcodeCN/leetcodecn.github.io/src/qtbase/test.cpp:41:15 (test+0x0000004bc0b6) #1 <null> <null> (libQt5Core.so.5+0x0000000acd77) Previous write of size 4 at 0x0000006f4738 by thread T1: #0 MyThread1::run() /data/project/LeetcodeCN/leetcodecn.github.io/src/qtbase/test.cpp:24:15 (test+0x0000004bb6c5) #1 <null> <null> (libQt5Core.so.5+0x0000000acd77) HOWTO – ThreadSanitizer 普华——操作系统整合解决方案专家 Location is global 'Global' of size 4 at 0x0000006f4738 (test+0x0000006f4738) Thread T2 'MyThread2' (tid=17202, running) created by main thread at: #0 pthread_create <null> (test+0x000000427ea6) #1 QThread::start(QThread::Priority) <null> (libQt5Core.so.5+0x0000000ac278) #2 __libc_start_main <null> (libc.so.6+0x000000020290) Thread T1 'MyThread1' (tid=17201, finished) created by main thread at: #0 pthread_create <null> (test+0x000000427ea6) #1 QThread::start(QThread::Priority) <null> (libQt5Core.so.5+0x0000000ac278) #2 __libc_start_main <null> (libc.so.6+0x000000020290) https://github.com/google/sanitizers/wiki/ThreadSanitizerCppManual HOWTO – libFuzzer 普华——操作系统整合解决方案专家 llvm/lib/Fuzzer/build.sh → libFuzzer.a #include <QString> #include <QDebug> extern "C" int LLVMFuzzerInitialize(int *argc, char ***argv) { qDebug() << "DEBUG:" << __PRETTY_FUNCTION__ << *argc; qDebug() << "DEBUG:" << __PRETTY_FUNCTION__ << *argv[0]; return 0; } extern "C" int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) { qDebug() << "DEBUG:" << __PRETTY_FUNCTION__ << QString::fromRawData((const QChar *)Data, Size); return 0; } HOWTO – libFuzzer 普华——操作系统整合解决方案专家 llvm/lib/Fuzzer/FuzzerInterface.h LLVMFuzzerCustomMutator Given the same Seed produces the same mutation LLVMFuzzerCustomCrossOver Combines pieces of Data1 & Data2 together into Out LLVMFuzzerMutate Experimental, may go away in future HOWTO – libFuzzer 普华——操作系统整合解决方案专家 cmake .. -DCMAKE_CXX_COMPILER=clang++ \ -DCMAKE_CXX_FLAGS="-Wall -fsanitize-coverage=edge,indirect-calls,8bit- counters -fsanitize=address -fsanitize=undefined -fno-omit-frame-pointer -fPIE -g" -fsanitize-coverage=func for function-level coverage -fsanitize-coverage=bb for basic-block-level coverage -fsanitize-coverage=edge for edge-level coverage -fsanitize-coverage=indirect-calls for additional caller-callee coverage -fsanitize-coverage=8bit-counters for coverage counters HOWTO – libFuzzer 普华——操作系统整合解决方案专家 ./test_fuzzer DEBUG: int LLVMFuzzerInitialize(int *, char ***) 1 DEBUG: int LLVMFuzzerInitialize(int *, char ***) ./test_fuzzer INFO: Seed: 3156976563 INFO: Loaded 0 modules (0 guards): INFO: -max_len is not provided, using 64 INFO: A corpus is not provided, starting from an empty corpus #0 READ units: 1 HOWTO – libFuzzer 普华——操作系统整合解决方案专家 #1 INITED cov: 107 bits: 104 corp: 1/1b exec/s: 0 rss: 20Mb DEBUG: int LLVMFuzzerTestOneInput(const uint8_t *, size_t) "ਊ \u0000" DEBUG: int LLVMFuzzerTestOneInput(const uint8_t *, size_t) "\u0001\u0000\u0000\u0000ਊ \u0000\u0000\u0000\u0002\u0000" DEBUG: int LLVMFuzzerTestOneInput(const uint8_t *, size_t) "\u0001\u0000\uFFFF\uFFFF\uFFFF\uFFFF\u0000\u0000ਊ \u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0003\u0000" #4 NEW cov: 110 bits: 107 corp: 2/19b exec/s: 0 rss: 21Mb L: 18 MS: 3 CopyPart-CMP-CMP- DE: "\x01\x00\x00\x00\x00\x00\x00\x00"- "\xff\xff\xff\xff\xff\xff\xff\xff"- DEBUG: int LLVMFuzzerTestOneInput(const uint8_t *, size_t) "\uFFFF\uFFFF\uFFFF\uFFFF\uFFFF\uFFFF\u0000\u0000ਊ \u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0003\u0000" HOWTO – libFuzzer 普华——操作系统整合解决方案专家 QTBUG-57553 ==23824==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60600000e933 at pc 0x000000468e12 bp 0x7ffc87217e20 sp 0x7ffc872175d0 READ of size 2 at 0x60600000e933 thread T0 #0 0x468e11 in __interceptor_memcpy.part.45 (/data/project/LeetcodeCN/leetcodecn.github.io/src/qtbase/build/test_fuzzer+0 x468e11) #1 0x7f49243498b1 in QString::append(QChar const*, int) (/usr/lib/libQt5Core.so.5+0x1338b1) #2 0x7f49243ae9c6 in QDebug::putString(QChar const*, unsigned long) (/usr/lib/libQt5Core.so.5+0x1989c6) #3 0x511df8 in QDebug::operator<<(QString const&) /usr/include/qt/QtCore/qdebug.h:154:52 https://github.com/google/fuzzer-test-suite HOWTO – CFI && Safe Stack 普华——操作系统整合解决方案专家 -fsanitize=cfi-{vcall,nvcall,derived-cast,unrelated-cast} -flto -fsanitize=safe-stack http://leetcode.cn/2016/12/cfi-safestack.html HOWTO – static analyer for cdrkit v1.1.11 普华——操作系统整合解决方案专家 clang -O4 sends your code to Jeff Dean for a complete rewrite.
Recommended publications
  • Linux Software Für Jeden Zweck Linux Days Dortmund 2017
    Linux Software für jeden Zweck Linux Days Dortmund 2017 FOSS-AG Dortmund Vortragender: @draget (Michael Gajda) 25. Juni 2017 1 There’s an App a Package for that! 68829! (2016-12-01) wget http://packages.ubuntu.com/xenial/allpackages?format=txt.gz -q -O - | zcat | tail -n +6 | wc -l 2 Hinweis • Die hier vorgestellte Software ist eine persönliche Auswahl des Vortragenden • Vorschläge oder Fragen gewünscht! 3 GPL, Fuck Yeah! Fast jede hier vorgestellte Software ist: • kostenlos! • quelloffen! • aus Spaß am Entwickeln entstanden! 4 Mit Winows zu Linux WinSCP Dateiaustausch zwischen Windows und Linux • Wer Angst vor der Kommandozeile hat… • Unterstützt SFTP und SCP Praktisch um Dateien von Zuhause mit entfernten Server. URL: https://winscp.net/ 5 Putty Windows SSH • Wer Angst vor GUIs hat… • De facto Standard • Netzwerktunnel Bitte darauf achten den korrekte Installer herunterzuladen. Angriffs-Gefahr! URL: http://www.putty.org/ 6 Produktivität TeXstudio LaTeX Editor • Gute Autovervollständigung • Vorschau für Bilder und Dateien Ubuntu, Mint, etc. > apt install texstudio URL: http://www.texstudio.org/ 7 Brasero Das Gnome Brennprogramm • Benutzerfreundlich • CD/DVD/BR usw. • Integrierter Cover-Editor • Unterstütze Backends: cdrtools, cdrkit, growisofs und libburn. Ubuntu, Mint, etc. > apt install brasero URL: https://wiki.gnome.org/Apps/Brasero 8 K3B Das KDE Brennprogramm • KDE Burn Baby, Burn! • Umfangreicher als Brasero • Viele Funktionen • CD/DVD/BR usw. • Abbild-Verwaltung Ubuntu, Mint, etc. > apt install k3b URL: http://k3b.plainblack.com/ 9 VirtualBox Virtuelle PCs per Knopfdruck • Performante Emulation von kompletten PCs • Software ausprobieren • Betriebssysteme ausprobieren • Viren ausprobieren • Snapshots • Alternativen: qemu + libvirt/virt- manager, VMWare Workstation Ubuntu, Mint, etc. > apt install virtualbox-qt 10 URL: https://www.virtualbox.org/ Marble Virtueller Globus • Nicht hübsch, aber vielfältig • Zugriff auf OSM • Viele weitere Datenquellen • Routing Ubuntu, Mint, etc.
    [Show full text]
  • Sistema​ ​Ubuntu
    Manual de instalação de programas ​ ​ ​ ​ ​ ​ ​ ​ 1 - Sistema Ubuntu: ​ ​ ​ ​ ​ ​ 1.1 - Início das instalações; ​ ​ ​ ​ ​ ​ ​ ​ 1º- Abra o terminal e logue-se como super usuário “sudo su” + enter e digite a senha; ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ 2º- Digite “apt-get install synaptic apt-xapian-index -y”; ​ ​ ​ ​ ​ ​​ ​ ​​ ​ ​ 3º- Abra o Synaptic e altere as configurações de acordo com as imagens a seguir; ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ Synaptic => Configurações => Repositórios; ​ ​ ​ ​ ​ ​ ​ ​ Alterar para baixar configurações do “Servidor Principal”; ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ Atenção nos itens marcados; ​ ​ ​ ​ ​ ​ Figura 1. Alterar configurações repositórios. ​ ​ ​ ​ ​ ​ ​ ​ Manual de instalação de programas ​ ​ ​ ​ ​ ​ ​ ​ Figura 2. Alterar configurações repositórios. ​ ​ ​ ​ ​ ​ ​ ​ Figura 3. Alterar configurações repositórios. ​ ​ ​ ​ ​ ​ ​ ​ 4º- Feito as alterações, feche o Synaptic, clique em cancel e, no terminal, digite ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ “apt-get update”; ​ ​ 5º- Terminado isto, digite “apt-get upgrade -y” e aguarde o término; ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ 6º- Para instalar as fontes Arial, Times New Roman e outras, digite: ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ apt-get install ttf-mscorefonts-installer ​ ​ ​ ​ Manual de instalação de programas ​ ​ ​ ​ ​ ​ ​ ​ 2 - A partir de agora, ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ também se aplica ao ​ ​ ​ ​ ​ ​ Sistema Linux Mint ​ ​ ​ ​ 2.1 - Programas via Gerenciador de pacotes Synaptic; ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ 1º-
    [Show full text]
  • The Linux Command Line
    The Linux Command Line Fifth Internet Edition William Shotts A LinuxCommand.org Book Copyright ©2008-2019, William E. Shotts, Jr. This work is licensed under the Creative Commons Attribution-Noncommercial-No De- rivative Works 3.0 United States License. To view a copy of this license, visit the link above or send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042. A version of this book is also available in printed form, published by No Starch Press. Copies may be purchased wherever fine books are sold. No Starch Press also offers elec- tronic formats for popular e-readers. They can be reached at: https://www.nostarch.com. Linux® is the registered trademark of Linus Torvalds. All other trademarks belong to their respective owners. This book is part of the LinuxCommand.org project, a site for Linux education and advo- cacy devoted to helping users of legacy operating systems migrate into the future. You may contact the LinuxCommand.org project at http://linuxcommand.org. Release History Version Date Description 19.01A January 28, 2019 Fifth Internet Edition (Corrected TOC) 19.01 January 17, 2019 Fifth Internet Edition. 17.10 October 19, 2017 Fourth Internet Edition. 16.07 July 28, 2016 Third Internet Edition. 13.07 July 6, 2013 Second Internet Edition. 09.12 December 14, 2009 First Internet Edition. Table of Contents Introduction....................................................................................................xvi Why Use the Command Line?......................................................................................xvi
    [Show full text]
  • KDE Plasma 5
    Arvo Mägi KDE Plasma 5 Tallinn, 2017 1 Sissejuhatus KDE töökeskkonnale pani aluse saksa programmeerija Matthias Ettrich 14.10.1996. 2016. a oktoobris sai populaarne KDE seega 20. aastaseks. Hea ülevaate KDE ajaloost annab artikkel „19 Years of KDE History: Step by Step.” KDE 4.14 ilmumisega oli KDE saavutanud kasutusküpsuse, kuid edasine areng kippus takerduma – vaja oli põhimõttelisi uuendusi. Otsustati võtta kasutusele iseseisvatel moodulitel põhinev KDE 5 arhitektuur – Qt/Frameworks. Kõik KDE rakendusprogrammid, sh Plasma 5 töölaud, kasutavad ainult konkreetse rakenduse jaoks vajalikke mooduleid. Varem kasutati kõigi rakenduste jaoks ühist suurt teeki, mis raskendas muudatuste tegemist ja pidurdas arendustööd. Qt on C++ programmeerimiskeskkond. Pikaajalise toega Qt 5.9 LTS ilmus 31. mail 2017. KDE Frameworks on 70 moodulist koosnev komplekt, mis lihtsustab Qt keskkonnas KDE programmide koostamist. Frameworks veaparandused ja täiendused ilmuvad iga kuu. KDE Plasma 5 töölaud põhineb KDE Frameworksil (KF5). Töölaua veaparandused ilmuvad iga kuu, vajadusel mitu korda kuus, uued versioonid kord kvartalis. Plasma 5.8 LTS, mis on pikaajalise toega (18 kuud), ilmus 4.10.2016, veidi enne KDE 20. aastaseks saamist. Plasma 5.10 ilmus 30.05.2017. Järgmine pikaajalise toega Plasma 5.12 ilmub 2018. a jaanuaris. Plasma 5 töölaud on pälvinud palju kiitvaid hinnanguid ja sobib igapäevaseks tööks. Eeldab kaasaegset, mitme tuumaga protsessori ja piisava mäluga (vähemalt 4 GB) arvutit. SSD kettalt töötab välkkiirelt. Töölaud on keskkond rakendusprogrammide käivitamiseks ja kasutamiseks. KF5-le on üle viidud kõik KDE põhirakendused (failihaldur Dolphin, pildinäitaja Gwenview, konsool Konsole, teksti- redaktor Kate, ekraanitõmmise võtja Spectacle, videoredaktor Kdenlive, plaadikirjutaja K3b jt). Need on KDE Applications koosseisus, mille uued versioonid ilmuvad kolm korda aastas, veaparandused kord kuus.
    [Show full text]
  • The Complete Freebsd
    The Complete FreeBSD® If you find errors in this book, please report them to Greg Lehey <grog@Free- BSD.org> for inclusion in the errata list. The Complete FreeBSD® Fourth Edition Tenth anniversary version, 24 February 2006 Greg Lehey The Complete FreeBSD® by Greg Lehey <[email protected]> Copyright © 1996, 1997, 1999, 2002, 2003, 2006 by Greg Lehey. This book is licensed under the Creative Commons “Attribution-NonCommercial-ShareAlike 2.5” license. The full text is located at http://creativecommons.org/licenses/by-nc-sa/2.5/legalcode. You are free: • to copy, distribute, display, and perform the work • to make derivative works under the following conditions: • Attribution. You must attribute the work in the manner specified by the author or licensor. • Noncommercial. You may not use this work for commercial purposes. This clause is modified from the original by the provision: You may use this book for commercial purposes if you pay me the sum of USD 20 per copy printed (whether sold or not). You must also agree to allow inspection of printing records and other material necessary to confirm the royalty sums. The purpose of this clause is to make it attractive to negotiate sensible royalties before printing. • Share Alike. If you alter, transform, or build upon this work, you may distribute the resulting work only under a license identical to this one. • For any reuse or distribution, you must make clear to others the license terms of this work. • Any of these conditions can be waived if you get permission from the copyright holder. Your fair use and other rights are in no way affected by the above.
    [Show full text]
  • Videoschnitt Mit Kdenlive
    Videoschnitt mit Kdenlive Jürgen Weigert openSUSE video-dude Videoschnitt, was geht? Typische Arbeiten ... • Anfang und Ende beschneiden • Titel und Logo einblenden • Pausen entfernen • Kleine Aufnahmefehler reparieren • Effekte: Ein-/ Aus-/ Überblenden © June 1, 2010 Novell Inc. 2 Videoschnitt, was geht? (2) Fortgeschrittene Arbeiten • Auf Musik schneiden, MTV-style • Komposition mehrerer Bild-Ebenen • Aus mehreren Wiederholungen schneiden • Straffen und auffüllen • Einstellungen zu Szenen zusammensetzen • Animierte Titel und Logos • “Verrückte” Effekte ... © June 1, 2010 Novell Inc. 3 Videoschnitt, was geht? (3) … Spass für Software-Entwickler • Ja, es stürzt ab – hin und wieder – Kdenlive speichert in XML, wirklich robust • Features - es ist noch nicht fertig – Kdenlive ist schon wieder ein Version weiter... • Fehler - reproduzieren, melden, selber fixen – Kdenlive hat viele leicht erkennenbare Bugs © June 1, 2010 Novell Inc. 4 Warum gerade Kdenlive? •Capture (aka Eingabe) • dvgrab, bttvgrab, recordmydesktop, krecord, ... •Editing (aka Verarbeitung) • kino, broadcast2000, cinelerra, lumiera, jashaka, cinefx, LiVES, kdenlive ... •Postprocessing (aka Ausgabe) • mplayer/mencoder, dvdauthor, devede, k3b, ... © June 1, 2010 Novell Inc. 5 Warum gerade Kdenlive? (2) Das sagen die Webseiten: kinodv.org “Easy and reliable DV editing for the Linux desktop” © June 1, 2010 Novell Inc. 6 Warum gerade Kdenlive? (2) Das sagen die Webseiten: kinodv.org “Easy and reliable DV editing for the Linux desktop” Broadcast2000 “<?php default_page("It's not here anymore. Use <A HREF=\"cinelerra ...” cinelerra.org “Cinelerra is the most advanced non- linear video editor and compositor for Linux.” Lumiera “was born as a rewrite of the Cinelerra codebase. It is not usable yet.” © June 1, 2010 Novell Inc. 7 Warum gerade Kdenlive? (3) Das sagen die Webseiten ...: jahshaka “The worlds first OpenSource Realtime Editing and Effects System.” © June 1, 2010 Novell Inc.
    [Show full text]
  • SUSE LINUX 9.1 PROFESSIONAL DECEMBER 2004 Anage Security, and Perform ,M Fice Re Ealplayer, TV Player, and Jukebox
    LINUX MAGAZINE On this DVD: Suse Linux 9.1 Professional Graphical Desktop Environments KDE 3.2 & GNOME 2.4 Desktop Sharing Framework (VNC) Office OpenOffice.org 1.1 ISSUE 49 SUSE LINUX 9.1 PROFESSIONAL TextMaker Kontact Scribus Security Firewalls Kerberos Encrypted hard disk partitions Internet KMail Evolution Mozilla Konqueror Galeon HTML tools Mobile Computing Palm synchronization Mobile computing location profiles WLAN & Firewire Multimedia k3b CD/DVD burner Suse Linux 9.1 Professional is a full- universal graphical assistant lets Juk jukebox featured Linux operating system. Sound and video players you set up hardware, install soft- Audio tools Version 9.1 includes the Linux 2.6 ware,manage security, and perform Synthesizers kernel and KDE 3.2. Improvements system administration tasks. Notation editors with this release include better MIDI and drum tools power managment, better multime- Multimedia Graphics dia performance, and a new Posix Linux 9.1 professional includes an GIMP 2.o pre thread library. Digital camera support audio player, CD player, video player, Image management RealPlayer, TV player, and jukebox. Scanning with OCR YaST You’ll also find a video recorder and Professional Components Only Suse comes with YaST, one of a collection of professional audio Kernel 2.6 the most respected configuration tools. GCC tools in the world of Linux. Suse’s SunJava Office DECEMBER 2004 KDevelop Rekall SQL front-end The Suse LInux 9.1 DVD comes Apache Special Upgrade Offer LDAP server with OpenOffice.org 1.1 and a NIS server & client Save £22 on the update edition of Suse Linux number of other office applications, NFS server & client Professional 9.2, including more than 1,000 Samba server & client applications on five CDs and two double- such as TextMaker, MrProject, and SSH the Scribus desktop publishing VNC terminal server sided DVDs.
    [Show full text]
  • Nápověda Programu Infra Recorder
    Infra Recorder Úvod Vítejte Děkujeme, že jste si nainstalovali Infra Recorder! Infra Recorder je bezplatné řešení pro vypalování CD/DVD pod Microsoft Windows. Rychlá navigace Přehled funkcí Licenční ujednání Systémové požadavky Quick Start Copyright Poděkování Co je nového Instalace Infra Recorder Přehled funkcí Na této stránce naleznete seznam nejpodstatnějších funkcí Infra Recorder. Hlavní funkce Tvorba datových, hudebních a mixed-mode projektů a jejich záznam na kompaktní disky nebo do obrazů. Tvorba a vypalování obrazů disků. Přímé kopírování disků on the fly nebo za pomoci dočasného obrazu disku. Mazání přepisovatelných disků s možností výběru ze čtyř režimů mazání. Import sekcí multisession disků a přidávání dalších sekcí na tyto disky. Uzavírání disků (zápis lead-out pro znemožnění přidávání dalších dat). Vyhledávání mechanik připojených k SCSI/IDE řadičům a detekce funkcí, které tyto mechaniky podporují. Zobrazení detailních informací o vloženém disku. Čtení a ukládání zvukových a datových stop do souborů (wav. a .iso) Vyhledávání chyb. Prostředí Moderní přizpůsobitelné prostředí podobající se Průzkumníkovi Windows. Podpora drag and drop pro přetahování souborů do projektu z interního průzkumníka i Průzkumníka Windows. Rozdílné rozvržení rozhraní podle typu aktivního projektu usnadňující práci s programem. Samostatná express aplikace navržená k rychlému a snadnému navedení uživatele k těm správným nástrojům. Kompletně přeložitelné rozhraní hlavní aplikace, express aplikace a rozšíření průzkumníka. Integrace do Průzkumníka Integrace do Průzkumníka přidává nové položky kontextové nabídky. Zápis uložených projektů a obrazů disků. Otevírání a editace projektů. Přizpůsobitelné, může být zobrazeno jako podnabídka a s nebo bez ikon. Rozšíření může být zaregistrováno pro kteroukoliv příponu souboru. InfraRecorder License Agreement GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright © 2007 Free Software Foundation, Inc.
    [Show full text]
  • Mps Free Downloads
    mps free downloads Free Master Production Schedule (MPS) You can download the Master Production Schedule template here: A Master Production Schedule (MPS) is a plan for individual products to be manufactured in each individual time period. It is a critical tool in the production planning process for a company that makes standard products via a Make-to-Stock production mode. How is a Master Production Schedule used in production planning? Production planning is a circular process involving: 1. General planning, which produces an MPS. I.e. When and what SHOULD be produced. 2. Detailed scheduling, which subsequently delivers a production schedule. I.e. When, where, how, and from whom CAN the products be produced? 3. Return to step 1, and repeat until satisfied. What is a Master Production Schedule? The goal of the Master Production Schedule (MPS) is to balance supply and demand by period, where your production is the ‘supply’, and the forecast or confirmed sales is the ‘demand’. The plan indicates by period, by the extent to which the product will be demanded in terms of quantity, what the starting and ending inventory positions are, and the planned quantities to be produced. What is Production Scheduling? Crucially, the MPS itself does not address the individual tasks of production, such as, operations and sequences, workstation capacities, workers, materials availability and lead times, etc. These are the focus of production scheduling (i.e. planning out a realistic schedule for each worker and machine). Performing this in Excel is not easy, if not impossible at all. For production scheduling, we recommend using MRPeasy.
    [Show full text]
  • Kubuntu Desktop Guide
    Kubuntu Desktop Guide Ubuntu Documentation Project <[email protected]> Kubuntu Desktop Guide by Ubuntu Documentation Project <[email protected]> Copyright © 2004, 2005, 2006 Canonical Ltd. and members of the Ubuntu Documentation Project Abstract The Kubuntu Desktop Guide aims to explain to the reader how to configure and use the Kubuntu desktop. Credits and License The following Ubuntu Documentation Team authors maintain this document: • Venkat Raghavan The following people have also have contributed to this document: • Brian Burger • Naaman Campbell • Milo Casagrande • Matthew East • Korky Kathman • Francois LeBlanc • Ken Minardo • Robert Stoffers The Kubuntu Desktop Guide is based on the original work of: • Chua Wen Kiat • Tomas Zijdemans • Abdullah Ramazanoglu • Christoph Haas • Alexander Poslavsky • Enrico Zini • Johnathon Hornbeck • Nick Loeve • Kevin Muligan • Niel Tallim • Matt Galvin • Sean Wheller This document is made available under a dual license strategy that includes the GNU Free Documentation License (GFDL) and the Creative Commons ShareAlike 2.0 License (CC-BY-SA). You are free to modify, extend, and improve the Ubuntu documentation source code under the terms of these licenses. All derivative works must be released under either or both of these licenses. This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE AS DESCRIBED IN THE DISCLAIMER. Copies of these licenses are available in the appendices section of this book. Online versions can be found at the following URLs: • GNU Free Documentation License [http://www.gnu.org/copyleft/fdl.html] • Attribution-ShareAlike 2.0 [http://creativecommons.org/licenses/by-sa/2.0/] Disclaimer Every effort has been made to ensure that the information compiled in this publication is accurate and correct.
    [Show full text]
  • Fedora 14 User Guide
    Fedora 14 User Guide Using Fedora 14 for common desktop computing tasks Fedora Documentation Project User Guide Fedora 14 User Guide Using Fedora 14 for common desktop computing tasks Edition 1.0 Author Fedora Documentation Project [email protected] Copyright © 2010 Red Hat, Inc. and others. The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. The original authors of this document, and Red Hat, designate the Fedora Project as the "Attribution Party" for purposes of CC-BY-SA. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version. Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law. Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, MetaMatrix, Fedora, the Infinity Logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries. For guidelines on the permitted uses of the Fedora trademarks, refer to https://fedoraproject.org/wiki/ Legal:Trademark_guidelines. Linux® is the registered trademark of Linus Torvalds in the United States and other countries. Java® is a registered trademark of Oracle and/or its affiliates. XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
    [Show full text]
  • The Linux Command Line
    The Linux Command Line Second Internet Edition William E. Shotts, Jr. A LinuxCommand.org Book Copyright ©2008-2013, William E. Shotts, Jr. This work is licensed under the Creative Commons Attribution-Noncommercial-No De- rivative Works 3.0 United States License. To view a copy of this license, visit the link above or send a letter to Creative Commons, 171 Second Street, Suite 300, San Fran- cisco, California, 94105, USA. Linux® is the registered trademark of Linus Torvalds. All other trademarks belong to their respective owners. This book is part of the LinuxCommand.org project, a site for Linux education and advo- cacy devoted to helping users of legacy operating systems migrate into the future. You may contact the LinuxCommand.org project at http://linuxcommand.org. This book is also available in printed form, published by No Starch Press and may be purchased wherever fine books are sold. No Starch Press also offers this book in elec- tronic formats for most popular e-readers: http://nostarch.com/tlcl.htm Release History Version Date Description 13.07 July 6, 2013 Second Internet Edition. 09.12 December 14, 2009 First Internet Edition. 09.11 November 19, 2009 Fourth draft with almost all reviewer feedback incorporated and edited through chapter 37. 09.10 October 3, 2009 Third draft with revised table formatting, partial application of reviewers feedback and edited through chapter 18. 09.08 August 12, 2009 Second draft incorporating the first editing pass. 09.07 July 18, 2009 Completed first draft. Table of Contents Introduction....................................................................................................xvi
    [Show full text]