This commit is contained in:
Daniel Schubert 2019-03-04 13:24:35 +01:00
parent 25301425b5
commit 7fec0fecd7
13 changed files with 202 additions and 31 deletions

2
.gitignore vendored
View File

@ -1,2 +1,4 @@
node_modules/
bower_components/
*.m4v
*.wav

192
16.html
View File

@ -71,12 +71,27 @@
</section>
<section>
<p><a href="https://imagemagick.org/index.php">ImageMagick</a>
<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"> sudo apt install imagemagick
<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 \
@ -89,22 +104,7 @@ find . -name "*.jpg" -exec mogrify -strip -interlace Plane \
# Bild beschneiden und zentrieren
convert input.jpg -crop '1900x1400+0+0'\
-gravity Center output.jpg
</code></pre></li>
</section>
<section>
<pre><code class="bash">convert bild.jpg -background black -vignette 5x65000 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>
@ -141,6 +141,9 @@ convert rose.png -decipher smiley.gif rose.jpg</code></pre>
<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>
@ -153,17 +156,67 @@ convert rose.png -decipher smiley.gif rose.jpg</code></pre>
<section>
<h4>Einfacher Videoschnitt</h4>
<ul>
<li class="fragment">OpenShot</li>
<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 <br><a href="https://peach.blender.org/download/">Big Buck Bunny</a></li>
<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>
@ -177,7 +230,28 @@ ffmpeg -i snatch_1.vob -f avi -c:v mpeg4 -b:v 800k \
# 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
-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>
@ -188,21 +262,55 @@ ffmpeg -i infile.avi -vf scale=1200:800 -b:v 600k \
</ul>
</section>
<section data-transition="slide" data-background="img/trianglify.svg" data-background-transition="convex"> <h3 style="color: lightgrey; text-shadow: 1px 1px black">Audio Production</h3></section>
<section>
<span style="color: orange">Aufgabe:</span>
<ul>
<li class="fragment ">ardour</li>
<li class="fragment ">calf</li>
<li class="fragment ">guitarix</li>
<li class="fragment ">jack</li>
<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>
Ubuntustudio
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>
@ -210,9 +318,35 @@ ffmpeg -i infile.avi -vf scale=1200:800 -b:v 600k \
<li class="fragment">VLC</li>
<li class="fragment">Mplayer</li>
<li class="fragment">Rhythmbox</li>
<li class="fragment"></li>
<li class="fragment">VLC</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>

View File

@ -0,0 +1,6 @@
#!/bin/bash
ffmpeg -t 5 -i infile out-def.mp4
ffmpeg -t 5 -i infile out-def.webm
ffmpeg -t 5 -i infile out-def.ogv

View File

@ -0,0 +1,6 @@
#!/bin/bash
# 5 sec langes Video
ffmpeg -t 5 -i infile -b:v 600k -b:a 128k -c:v libx264 out.mp4
ffmpeg -t 5 -i infile -b:v 600k -b:a 128k out.webm
ffmpeg -t 5 -i infile -codec:v libtheora -qscale:v 5 -codec:a libvorbis -qscale:a 5 out.ogv

View File

@ -0,0 +1,20 @@
#!/usr/bin/env ruby
def convert(file,filebase)
#`ffmpeg -i '#{file}' -ab 192k '#{filebase}'.mp3`
`lame -q 0 -b 192 '#{file}' '#{filebase}'.mp3`
end
dir = Dir.new(".")
while file = dir.read do
reg = /(m4a|ogg|wav)/i
puts reg
if file.match(reg)
filebase = File.basename(file, "." + file.match(reg).to_s)
convert(file, filebase)
else
puts "Keine passende Datei gefunden: m4a, ogg, wav. "
end
end

BIN
beispiele/16/wav-file.zip Normal file

Binary file not shown.

BIN
img/Jaromir-Chalabala1.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 432 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

BIN
img/ardour.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 166 KiB

BIN
img/audacity.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

BIN
img/guitarix.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 119 KiB

BIN
img/openshot-screen.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

View File

@ -219,6 +219,9 @@
<div class="content">
<ul>
<li><a href="https://imagemagick.org/index.php" target="_blank">ImageMagick</a></li>
<li><a href="http://ubuntustudio.org" target="_blank">UbuntuStudio</a></li>
<li><a href="https://deb-multimedia.org" target="_blank">https://deb-multimedia.org</a></li>
<li><a href="http://kxstudio.linuxaudio.org/index.php" target="_blank">KX Studio</a></li>
</ul>
</div>
</div>