Wenn Sie einen einzelnen I-Frame entfernen mögen, müssen Sie den Bitstrom zu einem Anhang B Format extrahieren (zB ffmpeg -i input.mp4 -c:v copy -an output.h264
, und dann den Bytes finden, die die NAL - Einheit darstellen (n) mit dem Rahmen (s) Sie entfernen möchten. Entfernen diese Bytes bis zum nächsten Startcode, und speichern Sie den Stream.
Sie können das Video auch zusammenfügen, indem Sie die -frames:v
Option zum Extrahieren der ersten n Frames verwenden:
ffmpeg -i input.h264 -c: v kopiert -frames: v n output.h264
Anschließend können Sie mit dem -ss
Parameter zu der Position wechseln, an der Sie erneut beginnen möchten, und von dort auf dieselbe Weise ausschneiden. Sie können die Position ermitteln, indem Sie die Framerate mit n + 1 multiplizieren .
Es gibt keinen einfacheren Weg, den ich kenne, wenn Sie nicht neu codieren möchten.