The Debian User Group in Vienna

Text archives Help


Re: [Debienna] output vom einen Befehl in den nächsten Befehl weiterreichen


Chronological Thread 
  • From: David Schmitt <david AT black.co.at>
  • To: debienna AT lists.debienna.at
  • Subject: Re: [Debienna] output vom einen Befehl in den nächsten Befehl weiterreichen
  • Date: Sun, 4 Jul 2021 21:49:25 +0100
  • Authentication-results: mail.cosmopool.net; dkim=pass reason="2048-bit key; insecure key" header.d=black-co-at.20150623.gappssmtp.com header.i=@black-co-at.20150623.gappssmtp.com header.b=vQdNzbti; dkim-adsp=none (insecure policy); dkim-atps=neutral



On Sun, 4 Jul 2021 at 21:04, Adi Marvillo <adi5 AT gmx.at> wrote:
Hallo alle!
ich merke gerade, dass es doch einiges an Vorwissen braucht um den
output des ersten Befehls an den zweiten Befehl weiterzugeben. Hier die
zwei befehle, die ich zusammenhängen möchte
1) ffmpeg -i Top_Gun_1986.mkv -map_chapters -1 TempFile.mkv
2)| mkvmerge -o TopGun.mkv --generate-chapters interval:360s TempFile.mkv
Der Output aus 1), der ins TempFile geschrieben wird, soll gleich an den
mkvmerge-Befehl in 2) weitergeleitet werden. Evtl weiß jemand von euch
wie man das macht oder kann mir ein paar Tips geben, was ich
recherchieren muss, um zu verstehen was hier passiert oder warum
folgender Befehl nicht geht?
>>> ffmpeg -i Top_Gun_1986.mkv -map_chapters -1 | mkvmerge -o TopGun.mkv
--generate-chapters interval:360s

das weiterreichen von output durch pipes | passiert nur wenn der erste befehl auf stdout schreibt und der zweite befehl von stdin liest. stdout und stdin werden von einigen Befehlen automatisch verwendet (zB grep) andere brauchen das explizit angesagt. Zb diese Antwort zeigt wie man das ffmpeg erklärt: https://superuser.com/a/520952/2272 (verwendet das minus-zeichen (-) als output filename, eine übliche Konvention.)

die manpage von mkvmerge zeigt keine möglichkeiten das direkt auf der Kommandozeile zu machen - vermutlich weil die Autoren erwarten dass mehrere Dateien angegeben werden, was dann mit stdin keinen Sinn macht. In solchen fällen kann man /dev/stdin als dateiname angeben. Dabei muss man nur aufpassen, dass das Programm kein Eingaben abfragt, da könnte es durcheinanderkommen.

Viel Glück!

David

Danke und Lg Adi



Archive powered by MHonArc 2.6.18.

Top of page