Misc (multimedia): Difference between revisions
(→ffmpeg) |
m (→ffmpeg) |
||
(24 intermediate revisions by the same user not shown) | |||
Line 6: | Line 6: | ||
jmtpfs /mnt |
jmtpfs /mnt |
||
und von dort kopieren |
und von dort kopieren |
||
Anmerkung: Sollte unter KDE folgender Fehler auftreten |
|||
<pre> |
|||
Listing raw device(s) |
|||
Device 0 (VID=...) is a Samsung Galaxy models (MTP). |
|||
Found 1 device(s): |
|||
Samsung: Galaxy models (MTP) (...) @ bus 1, dev 10 |
|||
Attempting to connect device(s) |
|||
libusb_claim_interface() reports device is busy, likely in use by GVFS or KDE MTP device handling already |
|||
LIBMTP PANIC: Unable to initialize device |
|||
Unable to open raw device 0 |
|||
</pre> |
|||
Kann man folgendes versuchen: |
|||
<pre> |
|||
killall kiod5 |
|||
</pre> |
|||
bzw. |
|||
<pre> |
|||
killall gvfs-udisk2 |
|||
</pre> |
|||
unter xfce. |
|||
Leider ist es unter xfce offenbar nicht mehr möglich mit o.g. Tools ein Smartphone zu mounten. Eine andere Möglichkeit ist der Android Debugger '''adb'''.<br> |
|||
Installieren und sich den Inhalt der Speicherkarte ansehen: |
|||
<pre> |
|||
sudo apt install adb |
|||
adb devices |
|||
</pre> |
|||
(Es sollte mindestens ein Device angezeigt werden) |
|||
<pre> |
|||
adb shell |
|||
ls /sdcard/DCIM |
|||
strg+d |
|||
</pre> |
|||
Außerdem muss man an seinem Android Gerät noch ein paar Einstellungen vornehmen: |
|||
* Developer Mode einschalten (7x auf die Serial tippen) |
|||
* USB Debugging einschalten (unter den Developer Options) |
|||
* Nach dem Einstecken des USB-Kabels Data Transfer wählen (anstatt nur Aufladen) |
|||
Eine ausführliche Anleitung für diese Schritte gibt es hier:<br> |
|||
https://droidwin.com/fix-adb-device-not-found-error/ |
|||
Mit |
|||
<pre> |
|||
adb pull <source> <destination> |
|||
</pre> |
|||
lassen sich die Dateien nun herunterziehen. |
|||
Man kann der adb Shell auch Argumente mitgeben z.B. |
|||
<pre> |
|||
adb shell ls /sdcard/DCIM/Camera |
|||
</pre> |
|||
=== Annotations === |
|||
* Unter xfce4 kann man Fotos am besten mit jmtpfs herunterladen. Davor muss man konkurierende Prozesse mit Zugriff auf die Kamera in einer Endlosschleife abschießen |
|||
<pre> |
|||
while sleep 0.1; do pkill kiod5; pkill gvfs-udisks2; done |
|||
</pre> |
|||
und in einer anderen Shell das Device mounten: |
|||
<pre> |
|||
mkdir /tmp/cam |
|||
jmtpfs /tmp/cam |
|||
Device 0 (VID=18d1 and PID=4ee2) is a Google Inc Nexus/Pixel (MTP+ADB). |
|||
Android device detected, assigning default bug flags |
|||
ls /tmp/cam/Interner\ gemeinsamer\ Speicher/DCIM/ |
|||
Camera PeakLens |
|||
</pre> |
|||
* Unter kde kann man sich mir dem adb (s.o.) behelfen, indem man kiod+gvfs in einer Endlosschleife abschießt (s.o.): |
|||
<pre> |
|||
while sleep 0.1; do pkill kiod5; pkill gvfs-udisks2; done |
|||
</pre> |
|||
* Zu viele Fotos auf einmal herunterladen, bricht irgendwann ab. Hier ein paar Commands, wie man eine Auswahl heruntergeladen bekommt (e.g. Jan. 2024): |
|||
<pre> |
|||
adb shell ls /sdcard/DCIM/Camera|grep IMG_2024 >/tmp/img.txt |
|||
for IMG in $(grep 202401 /tmp/img.txt) ; do adb pull /sdcard/DCIM/Camera/$IMG CAM/; done |
|||
</pre> |
|||
== Bootbaren USB-Stick erstellen == |
== Bootbaren USB-Stick erstellen == |
||
Line 13: | Line 93: | ||
Ein ISO-Image lässt sich sehr einfach mit dem Tool '''xorrisofs''' erstellen. |
Ein ISO-Image lässt sich sehr einfach mit dem Tool '''xorrisofs''' erstellen. |
||
<br>Zunächst muss dieses installiert werden |
<br>Zunächst muss dieses installiert werden |
||
$ sudo apt install xorriso |
|||
<console> |
|||
##i## $ sudo apt install xorriso |
|||
</console> |
|||
Das Erzeugen des ISO geht dann wie folgt: |
Das Erzeugen des ISO geht dann wie folgt: |
||
$ xorrisofs -r -J -o ./windows10.iso ./ISO |
|||
<console> |
|||
##i## $ xorrisofs -r -J -o ./windows10.iso ./ISO |
|||
</console> |
|||
Das ISO-Image kann man dann mit "dd" auf den USB-Stick kopiert werden. Je nachdem, um welches Device es sich handelt, kann das dann so aussehen: |
Das ISO-Image kann man dann mit "dd" auf den USB-Stick kopiert werden. Je nachdem, um welches Device es sich handelt, kann das dann so aussehen: |
||
# dd if=windows.iso of=/dev/sde |
|||
<console> |
|||
##i## # dd if=windows.iso of=/dev/sde |
|||
</console> |
|||
Achtung: '''Keine''' Partition erstellen/angeben ! |
Achtung: '''Keine''' Partition erstellen/angeben ! |
||
==Tracks aus Musik-CD extrahieren== |
==Tracks aus Musik-CD extrahieren== |
||
<console> |
|||
$ icedax -D <devicename> -t 1 song1.wav |
|||
</console> |
|||
also z.B. |
also z.B. |
||
$ icedax -D /dev/cdrom -t 2 song2.wav |
|||
<console> |
|||
$ icedax -D /dev/cdrom0 -t 3+4 mixed.wav |
|||
</console> |
|||
<console> |
|||
##i## $ icedax -D /dev/cdrom0 -t 3+4 mixed.wav |
|||
</console> |
|||
(macht aus Nr. 3 u. 4 eine große Datei) |
(macht aus Nr. 3 u. 4 eine große Datei) |
||
Line 59: | Line 129: | ||
Eine sehr schöne Übersicht über DVDs allg. und unter Linux gibt es hier<br> |
Eine sehr schöne Übersicht über DVDs allg. und unter Linux gibt es hier<br> |
||
http://www.rakekniven.de/linux/k-base/dvd-brennen.php |
http://www.rakekniven.de/linux/k-base/dvd-brennen.php |
||
== Von DVD extrahieren == |
|||
Als brauchbar für die Erstellung eines mp4 von DVD hat sich im Test handbrake herausgestellt. Lässt sich als Paket installieren. Nur der Sound kommt etwas leise. Dieser lässt sich mit [[#ffmpeg|ffmpeg]] aufbessern (s.u.). |
|||
== Monitor kalibrieren == |
== Monitor kalibrieren == |
||
Sehr empfehlenswert ist das Tool DisplayCAL [https://displaycal.net/], das gängige Kalibrierungsgeräte wie z.B. Spyder, unterstützt. |
Sehr empfehlenswert ist das Tool DisplayCAL [https://displaycal.net/], das gängige Kalibrierungsgeräte wie z.B. Spyder, unterstützt.<br> |
||
Verwendete Hardware:<br> |
|||
[https://www.dpreview.com/articles/3856869836/spyder3 Spyder 3] |
|||
Hier gibt es eine umfassende Anleitung: |
Hier gibt es eine umfassende Anleitung: |
||
Line 68: | Line 143: | ||
https://www.reallinuxuser.com/how-to-color-calibrate-your-monitor-in-linux/ |
https://www.reallinuxuser.com/how-to-color-calibrate-your-monitor-in-linux/ |
||
=== Anmerkung === |
|||
Protipp: |
|||
Die Originalversion benutzt Python2 und wird daher auf den gängigen Linux-Distributionen nicht mehr unterstützt. Es gibt aber ein Nachfolgeprojekt: https://github.com/eoyilmaz/displaycal-py3 |
|||
und darauf basierend ein Debianpaket: |
|||
$ sudo apt install displaycal |
|||
Unten genanntes wurde mit der alten Version und python2 getestet. |
|||
=== Protipp === |
|||
* Wer keine guten/farbstichige Ergebnisse erzielt, kann als Whitepoint 5300K versuchen. |
* Wer keine guten/farbstichige Ergebnisse erzielt, kann als Whitepoint 5300K versuchen. |
||
Line 76: | Line 159: | ||
* Am Ende wird ein '''Profil''' (.icc Datei) erzeugt. Laden lässt sich dieses mit xcalib: |
* Am Ende wird ein '''Profil''' (.icc Datei) erzeugt. Laden lässt sich dieses mit xcalib: |
||
$ xcalib <profilname> |
|||
<console> |
|||
##i##$ xcalib <profilname> |
|||
</console> |
|||
(und ein bisschen Theorie zu den konfigurierbaren Parametern: |
(und ein bisschen Theorie zu den konfigurierbaren Parametern: |
||
Line 85: | Line 166: | ||
== ffmpeg == |
== ffmpeg == |
||
'''Das''' Tool zum Filme (und Sound) bearbeiten. Hier ein paar Beispiele |
'''Das''' Tool zum Filme (und Sound) bearbeiten. Hier ein paar Beispiele: |
||
* Sound entfernen: |
|||
$ ffmpeg -i MVI_1747.MOV -vcodec copy -an MVI_1747_mute.MOV |
|||
* Bild um 180° drehen: |
* Bild um 180° drehen: |
||
$ ffmpeg -i input.mp4 -vf "transpose=2,transpose=2" output.mp4 |
$ ffmpeg -i input.mp4 -vf "transpose=2,transpose=2" output.mp4 |
||
* Sound entfernen: |
|||
$ ffmpeg -i MVI_1747.MOV -vcodec copy -an MVI_1747_mute.MOV |
|||
* Sound extrahieren (als mp3 abspeichern): |
* Sound extrahieren (als mp3 abspeichern): |
||
# ffmpeg -i MVI_1751.MOV MVI_1751.mp3 |
# ffmpeg -i MVI_1751.MOV MVI_1751.mp3 |
||
* Lautstärke verändern (z.B. 1.5fach) |
* Lautstärke verändern (z.B. 1.5fach) |
||
# ffmpeg -i input.wav -af "volume=1.5" output.wav |
# ffmpeg -i input.wav -af "volume=1.5" output.wav |
||
* 2 Sounddateien mergen: |
* 2 Sounddateien mergen: |
||
# ffmpeg -i "concat:MVI_1751.mp3|MVI_1753.mp3" -c copy MVI_1752.mp3 |
# ffmpeg -i "concat:MVI_1751.mp3|MVI_1753.mp3" -c copy MVI_1752.mp3 |
||
Line 102: | Line 185: | ||
* 2 Videodateien mergen |
* 2 Videodateien mergen |
||
Falls auf Grund unterschiedlicher Codierung sich das obige Beispiel nicht aus Videos übertragen lässt: |
Falls auf Grund unterschiedlicher Codierung sich das obige Beispiel nicht aus Videos übertragen lässt: |
||
$ |
$ ffmpeg -ifile1.mp4 -i file2.mp4 -filter_complex "[0:v][0:a][1:v][1:a] concat=n=2:v=1:a=1 [outv] [outa]" -map "[outv]" -map "[outa]" out.mp4 |
||
(Erklärung hier: https://blog.feurious.com/concatenate-videos-together-using-ffmpeg ) |
|||
Beispiel für das Zusammenmergen von 3 Videos incl. Sound: |
|||
$ ffmpeg -i VID_20241225_part1.mp4 -i VID_20241225_part2.mp4 -i VID_20241225_142603~2.mp4 -filter_complex "[0:v:0][0:a:0][1:v:0][1:a:0][2:v:0][2:a:0] concat=n=3 :v=1:a=1[outv][outa]" -map "[outv]" -map "[outa]" output.mp4 |
|||
Beispiel für das Zusammenmergen von 4 Videos zu 1 großen: |
|||
$ ffmpeg -i part1.mp4 -i part2.mp4 -i MVI_0309.MP4 -i MVI_0310.MP4 -filter_complex "[0:v:0][0:a:0][1:v:0][1:a:0][2:v:0][2:a:0][3:v:0][3:a:0]concat=n=4:v=1:a=1[outv][outa]" -map "[outv]" -map "[outa]" bigmovie.mp4 |
|||
Alternative:<br> |
|||
Datei erstellen mit dem Inhalt der Videodateien: |
|||
cat > myfile.txt<<EOF |
|||
file 'MVI_1547.mp4' |
|||
file 'MVI_1610.mp4' |
|||
EOF |
|||
$ ffmpeg -f concat -i myfile.txt -c copy output.mp4 |
|||
Sollte das Video nicht sauber durchlaufen, mit avidemux öffnen und die Schnittstelle rausschneiden. |
|||
(wer noch immer nicht genug hat: https://trac.ffmpeg.org/wiki/Concatenate ) |
|||
* Ab Position n den Rest abschneiden: |
* Ab Position n den Rest abschneiden: |
||
Line 135: | Line 236: | ||
-filter_complex "[0:v:0] [0:a:0] [1:v:0] [1:a:0] concat=n=2:v=1:a=1 [v] [a]" \ |
-filter_complex "[0:v:0] [0:a:0] [1:v:0] [1:a:0] concat=n=2:v=1:a=1 [v] [a]" \ |
||
-map "[v]" -map "[a]" $RESULT |
-map "[v]" -map "[a]" $RESULT |
||
* Zeitraffer/Zeitlupe |
|||
https://medium.com/@sekhar.rahul/creating-a-time-lapse-video-on-the-command-line-with-ffmpeg-1a7566caf877 |
|||
* Untertitel zufügen |
* Untertitel zufügen |
||
Line 141: | Line 246: | ||
$ ffmpeg -i subtitles.srt subtitles.ass |
$ ffmpeg -i subtitles.srt subtitles.ass |
||
[[Subtitles_example.srt | Hier]] gibt es ein Beispiel für ein .srt file im Format |
|||
<fortlaufende nr.> |
|||
<time range HH:MM:SS,mmm --> HH:MM:SS,mmm> |
|||
<text> |
|||
Video mit Untertiteln erzeugen: |
Video mit Untertiteln erzeugen: |
||
Line 154: | Line 264: | ||
$ arecord -f S16_LE -r 3000 | aplay -vvv |
$ arecord -f S16_LE -r 3000 | aplay -vvv |
||
== avidemux == |
|||
Nettes Videoschnitttool. Leider nicht mehr als Debianpaket verfügbar. Kann aber hier heruntergeladen werden:<br> |
|||
https://www.fosshub.com/Avidemux.html |
|||
Am besten das Appimage herunterladen und verlinken z.B. |
|||
# ln -s /usr/local/bin/3rdparty/avidemux_2.8.1.appImage /usr/local/bin/avidemux |
|||
== Bildbetrachter == |
|||
=== irfanview === |
|||
https://www.irfanview.net/faq.htm |
|||
Gibt es generisch nur für Windows. Lässt sich aber auf (mindestens) 2 Arten auch für Linux installieren: |
|||
==== 1. Snap ==== |
|||
https://snapcraft.io/install/irfanview/debian |
|||
$ sudo apt install snapd |
|||
$ sudo snap install irfanview |
|||
$ type -a irfanview |
|||
<i>irfanview is /snap/bin/irfanview</i> |
|||
==== 2. Wine ==== |
|||
Unbedingt darauf achten, die 64bit-Version herunterzuladen! |
|||
$ wine iview460_x64_setup.exe |
|||
Danach kommt ein Windows-Installer-Fenster. |
|||
$ type -a irfanview |
|||
<i>irfanview is aliased to `wine /home/kathrin/.wine/drive_c/Program\ Files/IrfanView/i_view64.exe'</i> |
|||
=== gwenview === |
|||
Hat ein paar nette Eigenschaften, z.B. mehrere Bilder gleichzeitig anzeigen lassen zum Vergleich. Kommt mit KDE oder als gleichnamiges Paket. |
|||
== .wav Dateien mit xine abspielen == |
== .wav Dateien mit xine abspielen == |
||
Line 159: | Line 300: | ||
* libxine2-misc-plugins installieren |
* libxine2-misc-plugins installieren |
||
* w64codecs installieren |
|||
==Image::Magick== |
==Image::Magick== |
Latest revision as of 20:56, 5 March 2025
Fotos vom Smartphone übertragen
- Geht schnell und stressfrei mit jmtpfs. Dieses lässt sich als Paket installieren.
- Das Smartphone an den Micro-USB-Port anschließen und die Art der Datenübertragung wählen:
"Daten übertragen (mtp)"
- Daten z.B. nach /mnt mounten:
jmtpfs /mnt
und von dort kopieren
Anmerkung: Sollte unter KDE folgender Fehler auftreten
Listing raw device(s) Device 0 (VID=...) is a Samsung Galaxy models (MTP). Found 1 device(s): Samsung: Galaxy models (MTP) (...) @ bus 1, dev 10 Attempting to connect device(s) libusb_claim_interface() reports device is busy, likely in use by GVFS or KDE MTP device handling already LIBMTP PANIC: Unable to initialize device Unable to open raw device 0
Kann man folgendes versuchen:
killall kiod5
bzw.
killall gvfs-udisk2
unter xfce.
Leider ist es unter xfce offenbar nicht mehr möglich mit o.g. Tools ein Smartphone zu mounten. Eine andere Möglichkeit ist der Android Debugger adb.
Installieren und sich den Inhalt der Speicherkarte ansehen:
sudo apt install adb adb devices
(Es sollte mindestens ein Device angezeigt werden)
adb shell ls /sdcard/DCIM strg+d
Außerdem muss man an seinem Android Gerät noch ein paar Einstellungen vornehmen:
- Developer Mode einschalten (7x auf die Serial tippen)
- USB Debugging einschalten (unter den Developer Options)
- Nach dem Einstecken des USB-Kabels Data Transfer wählen (anstatt nur Aufladen)
Eine ausführliche Anleitung für diese Schritte gibt es hier:
https://droidwin.com/fix-adb-device-not-found-error/
Mit
adb pull <source> <destination>
lassen sich die Dateien nun herunterziehen.
Man kann der adb Shell auch Argumente mitgeben z.B.
adb shell ls /sdcard/DCIM/Camera
Annotations
- Unter xfce4 kann man Fotos am besten mit jmtpfs herunterladen. Davor muss man konkurierende Prozesse mit Zugriff auf die Kamera in einer Endlosschleife abschießen
while sleep 0.1; do pkill kiod5; pkill gvfs-udisks2; done
und in einer anderen Shell das Device mounten:
mkdir /tmp/cam jmtpfs /tmp/cam Device 0 (VID=18d1 and PID=4ee2) is a Google Inc Nexus/Pixel (MTP+ADB). Android device detected, assigning default bug flags ls /tmp/cam/Interner\ gemeinsamer\ Speicher/DCIM/ Camera PeakLens
- Unter kde kann man sich mir dem adb (s.o.) behelfen, indem man kiod+gvfs in einer Endlosschleife abschießt (s.o.):
while sleep 0.1; do pkill kiod5; pkill gvfs-udisks2; done
- Zu viele Fotos auf einmal herunterladen, bricht irgendwann ab. Hier ein paar Commands, wie man eine Auswahl heruntergeladen bekommt (e.g. Jan. 2024):
adb shell ls /sdcard/DCIM/Camera|grep IMG_2024 >/tmp/img.txt for IMG in $(grep 202401 /tmp/img.txt) ; do adb pull /sdcard/DCIM/Camera/$IMG CAM/; done
Bootbaren USB-Stick erstellen
Voraussetzung: Ein Ordner namens ISO, in dem sich bootbare Dateien (z.B. für ein Windows-Image) befinden
Ein ISO-Image lässt sich sehr einfach mit dem Tool xorrisofs erstellen.
Zunächst muss dieses installiert werden
$ sudo apt install xorriso
Das Erzeugen des ISO geht dann wie folgt:
$ xorrisofs -r -J -o ./windows10.iso ./ISO
Das ISO-Image kann man dann mit "dd" auf den USB-Stick kopiert werden. Je nachdem, um welches Device es sich handelt, kann das dann so aussehen:
# dd if=windows.iso of=/dev/sde
Achtung: Keine Partition erstellen/angeben !
Tracks aus Musik-CD extrahieren
$ icedax -D <devicename> -t 1 song1.wav
also z.B.
$ icedax -D /dev/cdrom -t 2 song2.wav $ icedax -D /dev/cdrom0 -t 3+4 mixed.wav
(macht aus Nr. 3 u. 4 eine große Datei)
Wer lieber mp3s hat, kann cdda2mp3 verwenden.
Musik-CD brennen
Für eine Musik-CD wird KEIN Isoimge erzeugt!
Stattdessen alle wav-Dateien in einem Ordner speichen, dort hineinwechseln und
ausführen:
# cdrecord -dao *.wav
cdrecord wird in neueren Debian-Releases durch wodim ersetzt. Beispiel:
$ /usr/bin/wodim -v gracetime=2 dev=/dev/sr0 speed=4 -sao driveropts=burnfree -data
DVD brennen
# growisofs -R -J -Z /dev/dvd /path/to/file-or-directory
wobei -R=Rockridge, -J=Joliet und -Z=device (kann von System zu System variieren). Wer sich nicht sicher ist, kann mit -dry-run den Brennvorgang erstmal simulieren.
Eine sehr schöne Übersicht über DVDs allg. und unter Linux gibt es hier
http://www.rakekniven.de/linux/k-base/dvd-brennen.php
Von DVD extrahieren
Als brauchbar für die Erstellung eines mp4 von DVD hat sich im Test handbrake herausgestellt. Lässt sich als Paket installieren. Nur der Sound kommt etwas leise. Dieser lässt sich mit ffmpeg aufbessern (s.u.).
Monitor kalibrieren
Sehr empfehlenswert ist das Tool DisplayCAL [1], das gängige Kalibrierungsgeräte wie z.B. Spyder, unterstützt.
Verwendete Hardware:
Spyder 3
Hier gibt es eine umfassende Anleitung:
https://www.reallinuxuser.com/how-to-color-calibrate-your-monitor-in-linux/
Anmerkung
Die Originalversion benutzt Python2 und wird daher auf den gängigen Linux-Distributionen nicht mehr unterstützt. Es gibt aber ein Nachfolgeprojekt: https://github.com/eoyilmaz/displaycal-py3 und darauf basierend ein Debianpaket:
$ sudo apt install displaycal
Unten genanntes wurde mit der alten Version und python2 getestet.
Protipp
- Wer keine guten/farbstichige Ergebnisse erzielt, kann als Whitepoint 5300K versuchen.
- Am Ende wird ein Profil (.icc Datei) erzeugt. Laden lässt sich dieses mit xcalib:
$ xcalib <profilname>
(und ein bisschen Theorie zu den konfigurierbaren Parametern:
https://displaycal.net/#colorimeter-corrections )
ffmpeg
Das Tool zum Filme (und Sound) bearbeiten. Hier ein paar Beispiele:
- Bild um 180° drehen:
$ ffmpeg -i input.mp4 -vf "transpose=2,transpose=2" output.mp4
- Sound entfernen:
$ ffmpeg -i MVI_1747.MOV -vcodec copy -an MVI_1747_mute.MOV
- Sound extrahieren (als mp3 abspeichern):
# ffmpeg -i MVI_1751.MOV MVI_1751.mp3
- Lautstärke verändern (z.B. 1.5fach)
# ffmpeg -i input.wav -af "volume=1.5" output.wav
- 2 Sounddateien mergen:
# ffmpeg -i "concat:MVI_1751.mp3|MVI_1753.mp3" -c copy MVI_1752.mp3
(Bei größeren Dateimengen ist sox eine gute Alternative:
# sox file1.wav file2.wav ... filen.wav newfile.wav
)
- 2 Videodateien mergen
Falls auf Grund unterschiedlicher Codierung sich das obige Beispiel nicht aus Videos übertragen lässt:
$ ffmpeg -ifile1.mp4 -i file2.mp4 -filter_complex "[0:v][0:a][1:v][1:a] concat=n=2:v=1:a=1 [outv] [outa]" -map "[outv]" -map "[outa]" out.mp4
Beispiel für das Zusammenmergen von 3 Videos incl. Sound:
$ ffmpeg -i VID_20241225_part1.mp4 -i VID_20241225_part2.mp4 -i VID_20241225_142603~2.mp4 -filter_complex "[0:v:0][0:a:0][1:v:0][1:a:0][2:v:0][2:a:0] concat=n=3 :v=1:a=1[outv][outa]" -map "[outv]" -map "[outa]" output.mp4
Beispiel für das Zusammenmergen von 4 Videos zu 1 großen:
$ ffmpeg -i part1.mp4 -i part2.mp4 -i MVI_0309.MP4 -i MVI_0310.MP4 -filter_complex "[0:v:0][0:a:0][1:v:0][1:a:0][2:v:0][2:a:0][3:v:0][3:a:0]concat=n=4:v=1:a=1[outv][outa]" -map "[outv]" -map "[outa]" bigmovie.mp4
Alternative:
Datei erstellen mit dem Inhalt der Videodateien:
cat > myfile.txt<<EOF file 'MVI_1547.mp4' file 'MVI_1610.mp4' EOF
$ ffmpeg -f concat -i myfile.txt -c copy output.mp4
Sollte das Video nicht sauber durchlaufen, mit avidemux öffnen und die Schnittstelle rausschneiden.
(wer noch immer nicht genug hat: https://trac.ffmpeg.org/wiki/Concatenate )
- Ab Position n den Rest abschneiden:
# ffmpeg -i MVI_1752.mp3 -to 00:00:27 MVI_1752_short.mp3
- Ausschnitt rausschneiden und gleichzeitig als mp3 abspeichern
# ffmpeg -i Buena_Vista_Social_Club.mp4 -ss 00:04:16 -to 00:09:16 bvsc2.mp3
- Audio zu Video zufügen:
# ffmpeg -i MVI_1747_mute.MOV -i MVI_1752a.mp3 -codec copy -shortest MVI_1747_sound.MOV
- Film um 180° drehen:
# ffmpeg -i input.mp4 -vf "transpose=2,transpose=2" output.mp4
- Beispiel für 2 Videodateien zusammenmergen:
#!/bin/bash F1=MVI_1869.MOV F2=MVI_1870.MOV RESULT=MVI_1871.mp4 # sound #ffmpeg -i $F1 intermediate.mp3 #ffmpeg -i $F2 intermediate.mp3 # movie ohne sound # ffmpeg -i $F1 -c copy -bsf:v h264_mp4toannexb -f mpegts intermediate1.ts # ffmpeg -i $F2 -c copy -bsf:v h264_mp4toannexb -f mpegts intermediate2.ts # ffmpeg -f mpegts -i "concat:intermediate1.ts|intermediate2.ts" -c copy -bsf:a aac_adtstoasc $RESULT # rm intermediate{1,2}.ts # movie mit Sound ffmpeg -i $F1 -i $F2 \ -filter_complex "[0:v:0] [0:a:0] [1:v:0] [1:a:0] concat=n=2:v=1:a=1 [v] [a]" \ -map "[v]" -map "[a]" $RESULT
- Zeitraffer/Zeitlupe
- Untertitel zufügen
Wenn die Untertitel als srt Datei vorliegen , muss man sie erst ins ass Format umwandeln:
$ ffmpeg -i subtitles.srt subtitles.ass
Hier gibt es ein Beispiel für ein .srt file im Format
<fortlaufende nr.>
Video mit Untertiteln erzeugen:
$ ffmpeg -i input.mp4 -vf ass=subtitles.ass output.mp4
Wer immer noch nicht genug hat:
https://img.ly/blog/ultimate-guide-to-ffmpeg/
Soundtest mit arecord
Manchmal ist es hilfreich, Headset und Lautsprecher zu testen. So geht das:
$ arecord -f S16_LE -r 3000 | aplay -vvv
avidemux
Nettes Videoschnitttool. Leider nicht mehr als Debianpaket verfügbar. Kann aber hier heruntergeladen werden:
https://www.fosshub.com/Avidemux.html
Am besten das Appimage herunterladen und verlinken z.B.
# ln -s /usr/local/bin/3rdparty/avidemux_2.8.1.appImage /usr/local/bin/avidemux
Bildbetrachter
irfanview
https://www.irfanview.net/faq.htm
Gibt es generisch nur für Windows. Lässt sich aber auf (mindestens) 2 Arten auch für Linux installieren:
1. Snap
https://snapcraft.io/install/irfanview/debian
$ sudo apt install snapd $ sudo snap install irfanview $ type -a irfanview
irfanview is /snap/bin/irfanview
2. Wine
Unbedingt darauf achten, die 64bit-Version herunterzuladen!
$ wine iview460_x64_setup.exe
Danach kommt ein Windows-Installer-Fenster.
$ type -a irfanview
irfanview is aliased to `wine /home/kathrin/.wine/drive_c/Program\ Files/IrfanView/i_view64.exe'
gwenview
Hat ein paar nette Eigenschaften, z.B. mehrere Bilder gleichzeitig anzeigen lassen zum Vergleich. Kommt mit KDE oder als gleichnamiges Paket.
.wav Dateien mit xine abspielen
Wenn eine Fehlermeldung missing plugin kommt...
- libxine2-misc-plugins installieren
Image::Magick
Perlmodul, mit dem man Massenbearbeitung von Bildern (verkleinern, vergrößern,
...) durchführen kann.
Beispielscript resizeXpercent.pl:
Alle Bilder eines bestimmten Ordners werden um X Prozent verkleinert und in
einen anderen Ordner gespeichert.
Image Magick mit jpeg-Support benutzen
libjpeg-dev installieren