ImpressumFrank Seitz Wassermühlenstr. 2 25436 Uetersen E-Mail: fsfseitz.de Tel.: +49-176-78243503 Alle Artikel Inhaltsverzeichnis Rechtliche Hinweise Code auf GitHub Code auf meta::cpan KategorienAbonnieren |
Samstag, 3. September 2016ffmpeg: Audio-Dateien konkatenierenMP3-Dateien können mit dem concat-Protokoll konkateniert werden, die Bitraten müssen nicht übereinstimmen: $ ffmpeg -i "concat:INPUT1.mp3|INPUT2.mp3|..." -c copy OUTPUT.mp3 LinksDonnerstag, 16. April 2015Audacity: YouTube-Sperre verhindernWer sichergehen will, dass der selbstgemachte Videoclip wegen der Hintergrundmusik von YouTube nicht gesperrt oder mit Werbung für die Musik versehen wird, kann versuchen, die Audio-Daten so zu verändern, dass die YouTube Content-Erkennung nicht anspricht. Ein Weg, dies zu erreichen, ist, die Tonhöhe des Audio-Materials zu verändern. Eine Änderung um ein, zwei oder mehr Halbtöne ist hierfür notwendig. Eventuell muss mit verschiedenen Werten experimentiert werden. Nachteile: Die Audio-Manipulation ist hörbar und sie hat Auswirkungen auf das Timing innerhalb des Clip, weswegen man die Änderung vorab machen und austesten sollte (s.u.). In audacity findet sich die Programmfunktion zum Ändern der Tonhöhe unter dem Menüpunkt Effect/Change Pitch. Ein positiver Wert im Eingabefeld Semitones hebt die Tonhöhe an, ein negativer Wert reduziert sie - jeweils um die angegebene Anzahl Halbtonschritte. Test Audio-DateiMit avconv (oder ffmpeg) lässt sich aus einem einzelnen Bild und der veränderten Audio-Datei ein Videoclip erzeugen, der testweise nach YouTube hochgeladen werden kann. $ avconv -loop 1 -i IMAGE -i AUDIO -t S ... VIDEO.mp4 -loop 1 : verwende die nachfolgende Bilddatei für jeden Frame -i IMAGE : eine beliebige Bilddatei, z.B. in der Größe 640x360 Pixel -i AUDIO : die veränderte Audio-Datei -t S : Länge des generierten Clip in Sekunden, z.B. 60 für eine Minute VIDEO.mp4 : generierter Test-Clip für YouTube Freitag, 9. Januar 2015libav/ffmpeg: Video-Seitenverhältnis ändernMitunter stößt man - insbesondere auf YouTube - auf Videos, die im falschen Seitenverhältnis produziert wurden. Dies macht sich dadurch bemerkbar, dass der Inhalt verzerrt, z.B. horizontal gestaucht ist (bei Seitenverhältnis 4:3 statt 16:9). Dies lässt sich mit avconv/ffmpeg korrigieren. Hierzu genügt es jedoch nicht, das Video mit -vf scale=WIDTH:HeiGHT zu reskalieren, da dies bei einem abweichenden WIDTH:HEIGHT-Verhältnis zu schwarzen Balken oben/unten oder rechts/links führt. Denn das ursprüngliche Seitenverhältnis des Video wird beibehalten und der durch die Skalierung entstehende Leerraum wird schwarz aufgefüllt. Dieser meist unerwünschte Effekt findet nicht statt, wenn zusätzlich das Seitenverhältnis (engl. aspect ratio) definiert wird. Die betreffende avconv/ffmpeg-Option lautet -aspect ASPECT. Kommandozeile: $ avconv -i INFILE -vf scale=WIDTH:HEIGHT -aspect ASPECT ... OUTFILE -vf scale=WIDTH:HEIGHT : Breite/Höhe des Video gemäß neuem Seitenverhältnis -aspect ASPECT : neues Seitenverhältnis, z.B. 16:9 oder 4:3 (s.u.) Doku zum Wert ASPECT auf der avconv(1) Manpage:
Sonntag, 7. Oktober 2012ffmpeg: Verfügbare Filter anzeigenDie in ffmpeg verfügbaren Filter werden bei Angabe der Option -filters angezeigt. Leider ist die Liste unsortiert, was sich durch folgende Kommandozeile beheben lässt: $ ffmpeg -filters 2>/dev/null | grep -v ^Filters: | sort ffmpeg: Video deinterlacenEin Video, das interlaced aufgezeichnet wurde, muss vor einer weiteren Verarbeitung deinterlaced werden. Der entsprechende Filter von ffmpeg heißt yadif (Yet Another DeInterlacing Filter). Anwendung: $ ffmpeg -i INFILE -vf yadif ... OUTFILE In älteren Versionen: $ ffmpeg -i INFILE -filter:v yadif ... OUTFILE Zwar besitzt ffmpeg die Option -deinterlace, diese soll laut Manpage jedoch nicht genutzt werden, da das Ergebnis von geringer Qualität sei. Dienstag, 17. Juli 2012Film mit kdenlive/MLT in Teilen rendernFertige Teile eines Filmprojekts können sukzessive gerendert und später mit cat zusammengefügt werden, wenn als Format MPEG-2 verwendet wird. Damit lässt sich das Neurendern des Films auf das Rendern des geänderten Teils verkürzen. Mit der Option Selected Zone des Render-Dialogs von kdenlive wird ein Ausschnitt des Films gerendert. Fertige Teile müssen nur einmal gerendert werden und können mit einem neuen Teil per $ cat CLIP1.mpg CLIP2.mpg ... >MOVIE.mpg zum vollständigen Film zusammengefügt werden. Dies geht wesentlich schneller als den gesamten Film zu rendern. Dieses Vorgehen setzt natürlich voraus, dass alle Clips mit den gleichen Einstellungen (Geometrie, Bitrate usw.) erstellt werden. Donnerstag, 10. Mai 2012Streamripper: Internet-Radio aufzeichnenStreamripper ist ein Kommandozeilenprogram, mit dem es möglich ist, SHOUTcast- und Icecast-Internetradiosendungen aufzuzeichnen. Das geht so: Rippe Stream URL, speichere die Dateien im aktuellen Verzeichnis und erzeuge einen Relay-Server auf Port 8000: $ streamripper URL -r Gib den Stream parallel über den von streamripper erzeugten Relay-Server wieder: $ cvlc -q http://localhost:8000 Beispiel: Speichere die Songs des Kanals SomaFM/Groove Salad im Unterverzeichnis groove-salad und überschreibe eine existierende Datei nur, wenn sie größer ist: $ streamripper http://somafm.com/groovesalad256.pls -r -d groove-salad -o larger Radio-Links
LinksFreitag, 29. April 2011ffmpeg: Lautstärke anheben oder verringernNeuere ffmpeg-VersionenDie Lautstärke kann per Audio-Filter geändert werden: $ ffmpeg ... -af volume=FACTOR ... FACTOR: 0 .. N (0.5 halbiert die Lautstärke, 2 verdoppelt sie) Ältere ffmpeg-VersionenIn älteren ffmpeg-Versionen kann die Lautstärke mit der Option -vol verändert werden. Diese Option ist auf der Manpage (Version 0.6.2) nicht dokumentiert. $ ffmpeg -i INPUT_FILE -vol N OUTPUT_FILE Der Lautstärke-Wert N ist eine Angabe in "Byte Percent", d.h. 256 = 100%. Mit dem Wert 512 wird die Lautstärke also verdoppelt und mit dem Wert 128 wird sie halbiert. Donnerstag, 28. April 2011Linksammlung Video und AudioVideo
AudioFreitag, 3. Dezember 2010DVD-Chapter rippenListe der verfügbaren Titel$ HandBrakeCLI --input=/dev/dvd --title=0 2>&1 | grep '\+' [...] + title 3: + vts 1, ttn 3, cells 0->1 (150271 blocks) + duration: 00:14:27 + size: 720x576, pixel aspect: 64/45, display aspect: 1.78, 25.000 fps + autocrop: 40/30/4/4 + chapters: + 1: cells 0->0, 150266 blocks, duration 00:14:27 + 2: cells 1->1, 5 blocks, duration 00:00:00 + audio tracks: + 1, Deutsch (AC3) (2.0 ch) (iso639-2: deu), 48000Hz, 224000bps + subtitle tracks: [...] Chapter rippen$ HandBrakeCLI --input=/dev/dvd --title=<n> --chapters=<k>[-<j>] \ --deinterlace --output=<name>.<ext> Weitere nützliche Optionen
LinksMontag, 1. November 2010FFmpeg OperationenFilm bei Wiedergabe zyklisch wiederholen$ ffplay INFILE -loop N Wiederholt den Film N mal, 0 = unendlich oft. Wichtig: die Option muss nach INFILE stehen. Film bei Wiedergabe skalieren$ ffplay INFILE -vf scale=WIDTH:HEIGHT Der Film wird in der Größe WIDTHxHIGH wiedergegeben. Film skalierenÄndere die Größe eines Films in WIDTHxHEIGHT: $ ffmpeg -i INFILE -s WIDTHxHEIGHT ... OUTFILE -s WIDTHxHEIGHT : die neue Breite und Höhe des Films Die Option -s ist nur sinnvoll, wenn das Seitenverhältnis gleich bleibt. Ansonsten wird das Bild verzerrt. Bei abweichendem Seitenverhältnis kann mit den Operationen pad oder crop gearbeitet werden (siehe pad und crop). Ausschnitt extrahieren$ ffmpeg -i INFILE -ss 0:0:12.200 -t 0:0:5 -codec copy OUTFILE -ss 0:0:12.200 : Start bei 12 Sekunden und 200 Millisekunden -t 0:0:5 : Länge 5 Sekunden (kann auch als -t 5 angegeben werden) -codec copy : Kopiere alle Streams ohne Reencoding. Es ist wichtig, dass der Zeit-Offset -ss 0:0:12.200 als Parameter der Ausgabedatei angegeben wird, und nicht als Parameter der Eingabedatei, da sonst Keyframe-Probleme auftreten können. Subtitle-Streams werden von -codec copy nicht kopiert (Bug?). Film mit Balken versehen (pad)INFILE sei ein 16:9-formatiger Film der Größe 640x360, der mit 60 Pixel hohen Balken oben und unten auf 4:3-Format gebracht werden soll. Kommando: $ ffmpeg -i INFILE -vf pad=640:480:0:60 ... OUTFILE pad : Operation: Auffüllen 640:480 : die Größe (Dimension) WIDTH:HEIGHT des Resultats (OUTFILE) 0:60 : der Offset X:Y des Films von der oberen linken Ecke des Resultats Bildausschnitt extrahieren (crop)Mit folgendem Kommando werden die Balken wieder entfernt. $ ffmpeg -i INFILE -vf crop=640:360:0:60 ... OUTFILE crop : Operation: Ausschneiden 640:360 : die Größe (Dimension) WIDTH:HEIGHT des Resultats 0:60 : der Offset X:Y des Ausschnitts von der oberen linken Ecke des Eingangsmaterials (INFILE) Audio nach MP3 wandeln$ ffmpeg -i INFILE -ab 128k -acodec libmp3lame -ac 2 ... OUTFILE -ab 128k : Audio-Bitrate in kb/s -acodec libmp3lame : MP3 Codec -ac 2 : Zwei Kanäle (stereo) Audio entfernen$ ffmpeg -i INFILE -an ... OUTFILE Bitrate, Framerate und Bildgröße eines HD-Films reduzieren$ ffmpeg -i INFILE -b 5000k -r 25 -s 1280x720 ... OUTFILE -b 5000k : Video-Bitrate auf 5000 kb/s reduzieren -r 25 : Frame-Rate auf 25 Bilder pro Sekunde reduzieren -s 1280x720 : Bildauflösung auf 1280x720 Pixel reduzieren Dienstag, 25. Mai 2010dvgrab: Video von miniDV-Camcorder lesenMit dvgrab wird ein Video von einem digitalen Camcorder über FireWire gelesen und in Form von einzelnen Clips (.dv-Dateien) auf die Platte geschrieben. Die von mir bevorzugt verwendete Kommandozeile lautet: $ dvgrab -autosplit -size 0 -timestamp clip- -autosplit : trenne den Video-Strom auf Clip-Grenzen -size 0 : erlaube, dass Clip-Dateien beliebig groß werden können -timestamp : füge den Timecode des ersten Frame zum Clip-Grundnamen hinzu clip- : Grundname der Clip-Dateien Die Clip-Dateien erhalten die Namen clip-YYYY.MM.DD_HH-MI-SS.dv. Pro Sekunde fallen 3.43 MB an Daten an, eine Stunde Videomaterial belegt 12.35 GB Plattenplatz. LinksMittwoch, 19. Mai 2010Medion Life S60003 MP3 Player unter Debian
Der Medion Life S60003 ist ein einfacher Player zum Abspielen von MP3- und WMA-Dateien. Zum Datenaustausch wird dieser auf einen freien USB-Port gesteckt. Der Player wechselt in den Zustand "USB Connected". Wird gerade ein Titel gespielt, muss die Wiedergabe erst angehalten werden. Zugriff auf das Dateisystem des PlayersDer Player wird von udev erkannt und vom System automatisch auf ein Verzeichnis unter /media gemountet. Der Vorgang wird in /var/log/messages protokolliert: usb 3-1: new high speed USB device using ehci_hcd and address 18 usb 3-1: New USB device found, idVendor=066f, idProduct=8588 usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=5 usb 3-1: Product: MD 83366 usb 3-1: Manufacturer: Medion usb 3-1: SerialNumber: 43F9000056B398A30002D8F515A958A3 usb 3-1: configuration #1 chosen from 1 choice scsi18 : SCSI emulation for USB Mass Storage devices scsi 18:0:0:0: Direct-Access Medion MD 83366 0100 PQ: 0 ANSI: 4 scsi 18:0:0:1: Direct-Access Medion MD 83366 0100 PQ: 0 ANSI: 4 sd 18:0:0:0: [sdc] 478976 4096-byte logical blocks: (1.96 GB/1.82 GiB) sd 18:0:0:0: [sdc] Write Protect is off sd 18:0:0:0: [sdc] 478976 4096-byte logical blocks: (1.96 GB/1.82 GiB) sd 18:0:0:1: [sdd] Attached SCSI removable disk sdc: sd 18:0:0:0: [sdc] 478976 4096-byte logical blocks: (1.96 GB/1.82 GiB) sd 18:0:0:0: [sdc] Attached SCSI removable disk Der Mountpoint lässt sich mit mount(1) herausfinden: $ mount ... /dev/sdc on /media/87C9-FFD0 type vfat (rw,nosuid,nodev,uhelper=udisks, uid=1000,gid=1000,shortname=mixed,dmask=0077,utf8=1,flush) Eigentlich ist der Flash-Speicher des Players nicht direkt mountbar. Vielmehr wird der Player als MTP-Gerät (http://de.wikipedia.org/wiki/Media_Transfer_Protocol) angesprochen. Der Eintrag in /lib/udev/rules.d/45-libmtp8.rules lautet: # Medion MD8333 ATTR{idVendor}=="066f", ATTR{idProduct}=="8588", SYMLINK+="libmtp-%k", MODE="660", GROUP="audio" Der Player kann, wenn obiges Setup stimmt, auch per Hand gemountet werden: # mount /dev/sdX /mnt X ist der Buchstabe des SCSI-Geräts ohne eine Partitionsnummer, hier: /dev/sdc. Ist unter System/Preferences/File Management/Media (Gnome) die Option "Browse Media when inserted" aktiviert, wird von Gnome der File Browser Nautilus auf dem Verzeichnis gestartet, wenn es automatisch gemountet wird. Aber ACHTUNG: Dies alles klappt nicht, wenn der Gnome Audio-Player Rhythmbox läuft! Dieser nimmt selbst mit dem Player via MTP Kontakt auf. Offenbar kann der Player nicht gleichzeitig gemountet sein, d.h. ein etwaiger Mount - egal ob automatisch oder manuell aufgebaut - wird sofort wieder abgebaut oder anderweitig gestört. Dateien übertragenGemountet kann der Player als Datenträger für beliebige Dateien und Verzeichnisstrukturen verwendet werden. Auch die Musiksammlung kann theoretisch mittels Dateisystem-Operationen auf dem Player verwaltet werden. Dies ist allerdings nicht praktikabel, da der Player die in den MP3-Dateien enthaltenen ID3-Tags nicht auswertet. Werden MP3-Dateien einfach nur kopiert, befinden sie sich anschließend zwar auf dem Player und können gespielt werden, aber der Player "weiß" nichts über ihren Inhalt und kann dem Benutzer die zur Unterscheidung wichtigen Informationen Titel, Künstler, Album, Jahr, Genre nicht präsentieren. Daher ist es besser, die Dateien mit Rhythmbox - oder einem anderen Programm, welches Musikdateien per MTP verwaltet - zu übertragen. Der Player erhält dann auch die Meta-Information zu den Dateien.
(Seite 1 von 1, insgesamt 13 Einträge)
|
Kalender
StatistikLetzter Artikel:
08.07.2024 21:11 157 Artikel insgesamt
Links
|