Frage mal doof, geht das nicht auch einfach mit cat?
Nein. MP4/mov hat einen Index der üblicherweise am Ende der Datei steht. Prinzipiell darf der auch in der Mitte stehen sodass auf mov optimierte Tools da Zeug anhängen können. Real schneiden die meisten Leute in ts oder anderen Übergangsformaten und erstellen dann eine mp4 aus dem Ergebnis.
Das ist eben nicht nur ein Kommando (für meine Anforderung). Bei dir liegen die Inputfiles getrennt vor. Bei mir kommen beide Teile aus ein und demselben Inputfile. Ich hatte eine Lösung gesucht, die mir die Zwischenspeicherung in die beiden Teile (zusätzliche Kommandos) erspart.
Ich verstehe nicht ganz genau was du mit dem -t 9:07machen willst. Ich nehme mal an du willst 21:10-22:48 und 22:51-28:20
Dämliche Anforderungen bekommen dämliche Antworten:
Code: Alles auswählen
echo H4sIAAAAAAACA4XOQQrCMBCF4X1O8UQQXaRpQoUQQfAoJjg2SJrQSRfeXqu4yMrt8H+P2W6Uj5PyVx7FnHBZmMM4xVq7VAaRHhQpQ9VUlF+IusoQRKnc7pCxvbcUO7HHr2SG0U73kDXDGDfYVRv7CSVhrd4LMiDk8oTEqaHGHfWXWmf6P/SAc/OXeAFCCOha4gAAAA== | base64 -d | gunzip | bash
Das selbe in lesbar (aber nicht mehr einem Kommando):
Code: Alles auswählen
#!/bin/bash
rm Ausschnitt.mp4
mkfifo /tmp/buff.ts
ffmpeg -i /tmp/buff.ts Ausschnitt.mp4 &
(
ffmpeg -ss 21:10 -to 22:48 -i 28.mp4 -f mpegts -c copy -
ffmpeg -ss 22:51 -to 28:20 -i 28.mp4 -f mpegts -c copy -
) > /tmp/buff.ts
Am Ende sind solche Anforderungen der Grund, warum ffmpeg eigentlich eine Library ist mit der man Programme schreiben kann.