2017-06-18 4 views
0

Ich habe viel gesucht aber nicht gefunden was ich nedd. Ich verwende diesen Befehl ein:ffmpeg genaue Anfangs- und Endzeiten

ffmpeg -ss <start> -i <SrcFile> -t <duration> -c copy <DstFile> 

einen Teil des Videos zu kopieren, aber die Ausgabedatei Zeit und Dauer unterscheiden kann als „Start“ und „Dauer“ angegeben starten. Ich verstehe, dass ffmpeg sucht die nächste Keyframe und dass präzise Suche nach einem Zeitstempel ist nicht möglich, es sei denn, das Video neu zu kodieren (Ich habe versucht, aber die Ausgabe Videoverluste Qualität!). Es ist mir wichtig, den genauen Anfangs- und Endzeitstempel zu kennen, den ffmpeg verwendet, um die Ausgabe zu erzeugen, weil ich diese Informationen verwende, um das Untertitel-Timing anzupassen. Gibt es eine Möglichkeit, ffmpeg Bericht Start Timestamp und Ende Timestamp zu machen? Oder sonst: Gibt es eine Möglichkeit, die vorherigen und nächsten Keyframes für bestimmte Timestamps zu kennen, damit ich die Videoschnittmarkierungen in meinem Projekt an die nächstgelegenen Keyframes anpassen kann?
Danke.

Update: - Ist es möglich, auf den zweiten Keyframe und auf den Keyframe vor dem letzten zu suchen? - Wie lang ist das Zeitintervall zwischen zwei Keyframes?

Antwort

0

können Sie

laufen
ffmpeg -start_at_zero -copyts -ss <start> -t <duration> -i <SrcFile> -c copy <DstFile> 

Dann überprüfen

ffprobe Dstfile 

Die Startzeit wird der Startzeitstempel von der Quelle sein. Startzeit + Dauer gibt Ihnen die Endzeit. Sobald Sie diese Informationen haben, führen

ffmpeg -i Dstfile -c copy FinalFile 

eine Datei mit Startzeit haben 0.

+0

Tanks sehr, Mulvya. Es funktionierte. Also, wenn ich fragen darf: 1- warum ffmpeg diese Info nicht direkt auf die Standardausgabe ausgibt? .. Es wird uns Ärger und Zeit ersparen! 2- das Ausgangsvideo von diesem Schritt: ffmpeg -i Dstfile -c Kopie FinalFile dauert etwa 10 Sekunden, um in MPC-HC zu spielen, während die temporäre Datei schnell beginnt und perfekt funktioniert. Warum ist das, und wozu braucht man das letzte Kommando? –

+0

3- Ich habe immer noch ein Problem: Manchmal sucht ffmpeg nach dem vorherigen Keyframe, also könnte das Video einige unerwünschte Sekunden vom Original-Video enthalten! .. Jetzt kenne ich die Offset-Zeit des Temp-Ausgangsvideos, also möchte ich das beheben im finalen Ausgabevideo durch Suchen des nächsten Keyframes (dh des zweiten Keyframes in der tmpfile). Ist das möglich? Danke nochmal. –

+0

- Ist es möglich, nach dem zweiten und vor dem letzten Keyframe zu suchen? - Wie lang ist das Zeitintervall zwischen zwei Keyframes? –

Verwandte Themen