384 lines
		
	
	
		
			13 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			384 lines
		
	
	
		
			13 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
<!doctype html>
 | 
						|
<html lang="de">
 | 
						|
		<meta charset="utf-8">
 | 
						|
 | 
						|
		<title>Einführung in Linux</title>
 | 
						|
 | 
						|
		<meta name="description" content="YALC - Yet Another Linux Course ">
 | 
						|
		<meta name="author" content="Daniel Schubert">
 | 
						|
 | 
						|
		<meta name="apple-mobile-web-app-capable" content="yes">
 | 
						|
		<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
 | 
						|
 | 
						|
		<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
 | 
						|
 | 
						|
		<link rel="stylesheet" href="css/reveal.css">
 | 
						|
		<link rel="stylesheet" href="css/theme/league.css" id="theme">
 | 
						|
		
 | 
						|
		<link rel="icon" href="img/openlogo-nd-25.png" type="img/png">
 | 
						|
 | 
						|
		<!-- Theme used for syntax highlighting of code -->
 | 
						|
		<link rel="stylesheet" href="lib/css/zenburn.css">
 | 
						|
 | 
						|
		<!-- Printing and PDF exports -->
 | 
						|
		<script>
 | 
						|
			var link = document.createElement( 'link' );
 | 
						|
			link.rel = 'stylesheet';
 | 
						|
			link.type = 'text/css';
 | 
						|
			link.href = window.location.search.match( /print-pdf/gi ) ? 'css/print/pdf.css' : 'css/print/paper.css';
 | 
						|
			document.getElementsByTagName( 'head' )[0].appendChild( link );
 | 
						|
		</script>
 | 
						|
		<style type="text/css">
 | 
						|
			.reveal img{ max-height: 60vh}
 | 
						|
		</style>
 | 
						|
 | 
						|
	</head>
 | 
						|
 | 
						|
	<body>
 | 
						|
		<div class="reveal">
 | 
						|
			<!-- Any section element inside of this container is displayed as a slide -->
 | 
						|
			<div class="slides">
 | 
						|
 | 
						|
				<section data-transition="slide" data-background="#4d7e65" data-background-transition="zoom">
 | 
						|
					<h1>LINUX</h1>
 | 
						|
					<h3>Das universelle Betriebssystem</h3>
 | 
						|
					<p>Eine Einführung - Teil 16
 | 
						|
					<p> <small>Deutsche Angestellten Akademie</small> </p>
 | 
						|
					<aside class="notes">
 | 
						|
						Frage: Fragen zur letzten Stunde?
 | 
						|
					</aside>
 | 
						|
				</section>
 | 
						|
 | 
						|
				<section  data-transition="slide" data-background="#b5533c" data-background-transition="convex" ><h3  >Linux und Multimedia</h3></section>
 | 
						|
 | 
						|
				<section  data-transition="slide" data-background="img/trianglify.svg" data-background-transition="convex"> <h3 style="color: lightgrey; text-shadow: 1px 1px black">Bildbearbeitung</h3></section>
 | 
						|
 | 
						|
				<section>
 | 
						|
						<h5>the Gimp</h5>
 | 
						|
						<p>GNU Image Manipulation Programm</p>
 | 
						|
						<img src="img/2019-03-02-124423_1366x768_scrot.png">
 | 
						|
				</section>
 | 
						|
 | 
						|
				<section>
 | 
						|
						<h5>Darktable</h5>
 | 
						|
						<img src="img/2019-03-02-124938_1366x768_scrot.png">
 | 
						|
				</section>
 | 
						|
 | 
						|
				<section>
 | 
						|
						<h5>Inkscape</h5>
 | 
						|
						<p>Vektorbilder </p>
 | 
						|
						<img src="img/2019-03-02-125227_1366x768_scrot.png">
 | 
						|
				</section>				
 | 
						|
 | 
						|
        <section>
 | 
						|
          <p><a href="https://imagemagick.org/index.php" target="_blank">ImageMagick</a>
 | 
						|
          	<pre><code> sudo apt install imagemagick</code></pre>
 | 
						|
          <ul>
 | 
						|
            <li>convert / mogrify
 | 
						|
          </ul> 
 | 
						|
 | 
						|
        	<pre><code class="bash">convert bild.jpg out.gif </code></pre>
 | 
						|
          <ul>
 | 
						|
            <li>montage</li>
 | 
						|
          </ul> 
 | 
						|
          <pre><code>montage *.jpg out.jpg</code></pre>
 | 
						|
 | 
						|
          <ul>	
 | 
						|
            <li>import</li>
 | 
						|
          </ul> 
 | 
						|
          <pre><code>import screen.jpg</code></pre>
 | 
						|
        </section>
 | 
						|
 | 
						|
        <section>
 | 
						|
 | 
						|
            <pre><code class="bash" contenteditable>
 | 
						|
# komprimiert ein jpg ohne sichtbare Qualitätsverluste
 | 
						|
# ( zb für Webseiten Deployment )
 | 
						|
convert -strip -interlace Plane -sampling-factor 4:2:0 \
 | 
						|
	-quality 85% quelle.jpg result.jpg
 | 
						|
 | 
						|
# das selbe, aber rekursiv und destruktiv
 | 
						|
find . -name "*.jpg" -exec mogrify -strip -interlace Plane \
 | 
						|
	-sampling-factor 4:2:0 -quality 85% {} \;
 | 
						|
 | 
						|
# Bild beschneiden und zentrieren
 | 
						|
convert input.jpg -crop '1900x1400+0+0'\
 | 
						|
	-gravity Center output.jpg
 | 
						|
          </code></pre>
 | 
						|
        </section>
 | 
						|
 | 
						|
        <section>
 | 
						|
        	<pre style="width: 80vw; font-size: .5em"><code class="bash">convert -size 320x90 canvas:none -stroke snow4 -size 1x90 -tile gradient:white-snow4 \
 | 
						|
  -draw 'roundrectangle 16, 5, 304, 85 20,40' +tile -fill snow \
 | 
						|
  -draw 'roundrectangle 264, 5, 304, 85  20,40' -tile gradient:chartreuse-green \
 | 
						|
  -draw 'roundrectangle 16,  5, 180, 85  20,40' -tile gradient:chartreuse1-chartreuse3 \
 | 
						|
  -draw 'roundrectangle 140, 5, 180, 85  20,40' +tile -fill none \
 | 
						|
  -draw 'roundrectangle 264, 5, 304, 85 20,40' -strokewidth 2 \
 | 
						|
  -draw 'roundrectangle 16, 5, 304, 85 20,40' \( +clone -background snow4 \
 | 
						|
  -shadow 80x3+3+3 \) +swap -background none -layers merge \( +size -pointsize 90 \
 | 
						|
  -strokewidth 1 -fill red label:'50 %' -trim +repage \( +clone -background firebrick3 \
 | 
						|
  -shadow 80x3+3+3 \) +swap -background none -layers merge \) -insert 0 -gravity center \
 | 
						|
  -append -background white -gravity center -extent 320x200 cylinder_shaded.png</code></pre>
 | 
						|
        </section>
 | 
						|
 | 
						|
        <section>Ein Bild verschlüsseln
 | 
						|
        	<pre><code class="bash">convert rose.jpg -encipher passphrase.txt rose.png</code></pre>
 | 
						|
        	<pre><code class="bash"># ein anders Bild als Passwort
 | 
						|
convert rose.jpg -encipher smiley.gif rose.png</code></pre>
 | 
						|
 | 
						|
        	<pre><code class="bash"># entschlüsseln
 | 
						|
convert rose.png -decipher smiley.gif rose.jpg</code></pre>
 | 
						|
 | 
						|
					<a href="https://imagemagick.org/Usage/transform/#encipher">ImageMagick Hilfe Seite</a>
 | 
						|
        </section>
 | 
						|
 | 
						|
        <section>
 | 
						|
        	<span style="color: orange">Aufgabe:</span>
 | 
						|
        	<ul>
 | 
						|
        		<li>Bereitet <a href="https://www.schubertdaniel.de/linuxkurs/bilder.zip">diese Bilder</a> vor für eine Bildergallerie. </li>
 | 
						|
        		<li>Die Bilder sollen nicht grösser als 1200x800px sein.</li>
 | 
						|
        		<li>Die Bilder sollen nicht beschnitten werden.</li>
 | 
						|
        		<li>Die Metadaten sollen entfernt werden.</li>
 | 
						|
        		<li>Veröffentlicht die Bilder in einer Gallerie auf eurer Wordpress Seite.</li>
 | 
						|
        	</ul>
 | 
						|
 | 
						|
        	Hinweis:
 | 
						|
        	<pre><code>convert input.jpg -resize '1200x800' output.jpg</code></pre>
 | 
						|
        </section>
 | 
						|
 | 
						|
				<section>
 | 
						|
        	screenshots mit scrot
 | 
						|
        	<pre><code class="bash">~$ scrot -d 5 '%Y-%m-%d_$wx$h.png'</code></pre>
 | 
						|
        </section>
 | 
						|
        
 | 
						|
        <section  data-transition="slide" data-background="img/trianglify.svg" data-background-transition="convex"> <h3 style="color: lightgrey; text-shadow: 1px 1px black">Video Editing / Transkodierung</h3></section>
 | 
						|
 | 
						|
        <section>
 | 
						|
          <h4>Einfacher Videoschnitt</h4>
 | 
						|
          <ul>
 | 
						|
            <li class="fragment">OpenShot
 | 
						|
            	<div><img src="img/openshot-screen.jpg"></div></li>
 | 
						|
            <li class="fragment">Pitivi</li>
 | 
						|
            <li class="fragment">KDEnlive</li>
 | 
						|
          </ul>  
 | 
						|
         </section>
 | 
						|
         <section> 
 | 
						|
          <h4 class="fragment">Anspruchsvoller Videoschnitt</h4>
 | 
						|
          <ul>  
 | 
						|
            <li class="fragment">Blender - eigentl. 3D-Rendering <ul><li><a href="https://www.youtube.com/watch?v=YE7VzlLtp-4">Big Buck Bunny bei YouTube</a></li>
 | 
						|
            	<li><a href="https://www.blenderguru.com/articles/27-inspiring-blender-animations-that-will-make-your-jaw-drop">Blender Videos</a></li></ul>
 | 
						|
            <li class="fragment">Lightworks</li>
 | 
						|
          </ul>
 | 
						|
        </section>
 | 
						|
 | 
						|
        <section>
 | 
						|
        	<h3>Ausflug</h3>
 | 
						|
        	Video Container
 | 
						|
        </section>
 | 
						|
 | 
						|
        <section>
 | 
						|
        	Ein Video Container beinhält
 | 
						|
        	<ul>
 | 
						|
        		<li class="fragment ">Eine Videospur</li>
 | 
						|
        		<li class="fragment ">eine oder mehrere Audiospuren</li>
 | 
						|
        		<li class="fragment ">Untertitel</li>
 | 
						|
        		
 | 
						|
        	</ul>
 | 
						|
        </section>
 | 
						|
 | 
						|
        <section>
 | 
						|
        	Die Videospur ist meist kodiert mit 
 | 
						|
        	<ul>
 | 
						|
        		<li class="fragment ">mpeg-1</li>
 | 
						|
        		<li class="fragment ">mpeg-4</li>
 | 
						|
        		<li class="fragment ">mpeg4-part10: h264 / h265</li>
 | 
						|
        		<li class="fragment ">vp8 / vp9 </li>
 | 
						|
        		<li class="fragment ">theora</li>
 | 
						|
        	</ul>
 | 
						|
        </section>
 | 
						|
 | 
						|
        <section>
 | 
						|
        	Die Audiospur ist meist kodiert mit
 | 
						|
        	<p>
 | 
						|
        	<ul>
 | 
						|
        		<li class="fragment ">mp3</li>
 | 
						|
        		<li class="fragment ">aac</li>
 | 
						|
        		<li class="fragment ">ogg vorbis</li>
 | 
						|
        		<li class="fragment ">opus</li>
 | 
						|
        	</ul>
 | 
						|
        </section>
 | 
						|
 | 
						|
        <section>
 | 
						|
        	Zusammengesetzt ergeben sich Container
 | 
						|
        	<ul>
 | 
						|
        		<li class="fragment ">mp4 : h264 + mp3 ( <a href="https://de.wikipedia.org/wiki/MP4">Wikipedia</a> )</li>
 | 
						|
        		<li class="fragment ">webm : vp9 + opus ( <a href="https://de.wikipedia.org/wiki/WebM">Wikipedia</a> )</li>
 | 
						|
        		<li class="fragment ">ogv : theora + ogg ( <a href="https://de.wikipedia.org/wiki/Ogg">Wikipedia</a> )</li>
 | 
						|
        		<li class="fragment ">mehr <a href="https://de.wikipedia.org/wiki/Containerformat">Wikipedia</a></li>
 | 
						|
        	</ul>
 | 
						|
        </section>
 | 
						|
        <section>
 | 
						|
          <h4>ffmpeg</h4>
 | 
						|
          <h5>Das Schweizer Taschenmesser der Audio / Video Konvertierung</h5>
 | 
						|
 | 
						|
          <pre><code class="bash"># einfache Transkodierung
 | 
						|
ffmpeg -i videoi.avi video.mpg
 | 
						|
 | 
						|
# DVD Rip
 | 
						|
ffmpeg -i snatch_1.vob -f avi -c:v mpeg4 -b:v 800k \ 
 | 
						|
       -g 300 -bf 2 -c:a libmp3lame -b:a 128k snatch.mpg
 | 
						|
 | 
						|
# h264 kodiertes mp4 zur Darstellung im Browser
 | 
						|
ffmpeg -i infile.avi -vf scale=1200:800  -b:v 600k \ 
 | 
						|
	-b:a 128k -c:v libx264 -preset medium outfile.mp4 
 | 
						|
 | 
						|
# mp3 aus wav 
 | 
						|
ffmpeg -i infile.wav -b:a 192k outfile.mp3
 | 
						|
 | 
						|
          </code></pre>
 | 
						|
        </section>
 | 
						|
 | 
						|
        <section>
 | 
						|
        	<pre><code class="bash" contenteditable> 
 | 
						|
# produziert 3 Videos; benötigt für Webseiten
 | 
						|
# damit alle Browser d. Video abspielen
 | 
						|
 | 
						|
# video: h264; audio: aac ( default )
 | 
						|
ffmpeg  -i infile -b:v 600k -b:a 128k -c:v libx264 out.mp4
 | 
						|
 | 
						|
# video: vp9; audio: opus ( default )
 | 
						|
ffmpeg  -i infile -b:v 600k -b:a 128k out.webm
 | 
						|
 | 
						|
# video: theora; audio: ogg vorbis
 | 
						|
ffmpeg -i infile -codec:v libtheora -qscale:v 7 \ 
 | 
						|
	-codec:a libvorbis -qscale:a 5 out.ogv
 | 
						|
					</code></pre>
 | 
						|
        </section>
 | 
						|
 | 
						|
        <section>
 | 
						|
        	<ul>
 | 
						|
        		<li>Handbrake</li>
 | 
						|
        		<li>libdvdcss</li>
 | 
						|
        	</ul>
 | 
						|
        </section>
 | 
						|
 | 
						|
        <section>
 | 
						|
        	<span style="color: orange">Aufgabe:</span>
 | 
						|
        	<ul>
 | 
						|
        		<li>installiert ffmpeg</li>
 | 
						|
        		<li>erstellt aus <a href="/beispiele/16/infile.m4v">DIESEM</a> Video einen 10sec langen mp4 Video-Snippet.</li>
 | 
						|
        		<li>erstellt aus <a href="/beispiele/16/wav-file.zip">DIESEM</a> Wav ein MP3 mit 192kB Bitrate.</li>
 | 
						|
        		<li>erstellt aus der Wav-Datei eine flac Datei.</li>
 | 
						|
        		<li>vergleicht die Grössen.</li>
 | 
						|
        		<li>Warum ist es nicht sinnvoll aus einem mp3 ein wav zu machen?</li>
 | 
						|
        	</ul>
 | 
						|
 | 
						|
        		Hinweis:
 | 
						|
        	<pre><code class="bash" contenteditable># 10sec langes video:
 | 
						|
ffmpeg -t 10 -i .....  </code></pre>
 | 
						|
        </section>
 | 
						|
 | 
						|
        <section  data-transition="slide" data-background="img/Jaromir-Chalabala1.jpg" data-background-transition="convex"> <h3 style="color: lightgrey; text-shadow: 1px 1px black">Audio Production</h3></section>
 | 
						|
        <section>
 | 
						|
        	Audio unter Linux ist .... interessant.
 | 
						|
        	<p>Meist Kombination aus Pulseaudio / ALSA
 | 
						|
        	<p>PulseAudio -> Middleware
 | 
						|
        	<p>ALSA -> Treiber
 | 
						|
        	<p>Für Echtzeit-Audio-Verarbeitung ( möglichst geringe Latenzen ) muss die Kombination Jack / ALsa konfiguriert werden
 | 
						|
 | 
						|
        	<aside class="notes">alsamixer</aside>
 | 
						|
        </section>
 | 
						|
 | 
						|
 | 
						|
        <section>Audacity
 | 
						|
        	<div><img src="img/audacity.png"></div></section>
 | 
						|
 | 
						|
        <section>
 | 
						|
        	Ardour - Professionelles Recording
 | 
						|
        	<div><img src="img/ardour.jpg"></div>
 | 
						|
				</section>
 | 
						|
 | 
						|
				<section>
 | 
						|
						Guitarix - Virtueller Gitarrenamp
 | 
						|
						<div><img src="img/guitarix.jpg"></div>
 | 
						|
				</section>						
 | 
						|
 | 
						|
				<section>
 | 
						|
					<p><a href="http://kxstudio.linuxaudio.org/index.php">Plugins und andere Tools</a>
 | 
						|
				</section>
 | 
						|
 | 
						|
				<section>
 | 
						|
						Jack
 | 
						|
						<div><img src="img/QjackctlConnectionsForm.png"></div>
 | 
						|
        </section>
 | 
						|
 | 
						|
        <section>
 | 
						|
          <h4>Abspielprgramme</h4>
 | 
						|
          <ul>
 | 
						|
            <li class="fragment">VLC</li>
 | 
						|
            <li class="fragment">Mplayer</li>
 | 
						|
            <li class="fragment">Rhythmbox</li>
 | 
						|
            <li class="fragment">mocp</li>
 | 
						|
          </ul>
 | 
						|
        </section>
 | 
						|
 | 
						|
        <section>
 | 
						|
        	<h4>Multimedia Distributionen</h4>
 | 
						|
        	<ul>
 | 
						|
        		<li><a href="http://www.bandshed.net/avlinux/">avlinux</a></li>
 | 
						|
        		<li><a href="http://ubuntustudio.org">UbuntuStudio</a></li>
 | 
						|
        	</ul>
 | 
						|
        </section>
 | 
						|
 | 
						|
        <section>
 | 
						|
        	<h4>Gaming</h4>
 | 
						|
        	<ul>
 | 
						|
        		<li class="fragment ">Steam</li>
 | 
						|
        		<li class="fragment ">GOG</li>
 | 
						|
        		<li class="fragment ">viele Open Source Spiele
 | 
						|
        				<ul>
 | 
						|
        					<li>Sauerbraten</li>
 | 
						|
        					<li>Assault Cube</li>
 | 
						|
        					<li>Zero-K</li>
 | 
						|
        					<li>0 A.D.</li>
 | 
						|
        					<li>Flightgear</li>
 | 
						|
        				</ul>
 | 
						|
        		</li>
 | 
						|
        	</ul>
 | 
						|
 | 
						|
 | 
						|
        </section>
 | 
						|
			</div>
 | 
						|
		</div>
 | 
						|
 | 
						|
		<script src="lib/js/head.min.js"></script>
 | 
						|
		<script src="js/reveal.js"></script>
 | 
						|
 | 
						|
		<script>
 | 
						|
 | 
						|
			// More info https://github.com/hakimel/reveal.js#configuration
 | 
						|
			Reveal.initialize({
 | 
						|
				controls: true,
 | 
						|
				progress: true,
 | 
						|
				history: true,
 | 
						|
				center: true,
 | 
						|
 | 
						|
				transition: 'slide', // none/fade/slide/convex/concave/zoom
 | 
						|
 | 
						|
				// More info https://github.com/hakimel/reveal.js#dependencies
 | 
						|
				dependencies: [
 | 
						|
					{ src: 'lib/js/classList.js', condition: function() { return !document.body.classList; } },
 | 
						|
					{ src: 'plugin/markdown/marked.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
 | 
						|
					{ src: 'plugin/markdown/markdown.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
 | 
						|
					{ src: 'plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } },
 | 
						|
					{ src: 'plugin/search/search.js', async: true },
 | 
						|
					{ src: 'plugin/zoom-js/zoom.js', async: true },
 | 
						|
					{ src: 'plugin/notes/notes.js', async: true }
 | 
						|
				]
 | 
						|
			});
 | 
						|
 | 
						|
		</script>
 | 
						|
 | 
						|
	</body>
 | 
						|
</html>
 |