Ich nehme Video mit FFmpeg auf und ich möchte die Bildrate, mit der es geschrieben wird, um wenigstens im rechten Baseballstadion zu sein. Im Moment nehme ich die Bildrate, die meine Eingabe beansprucht, und benutze diese, um die Bildrate (time_base) für meinen Videoausgangsstrom festzulegen. Dies unterscheidet sich jedoch manchmal stark von der tatsächlichen Bildrate, die ich erhalte (ich habe einen Stream gesehen, der 50 fps beansprucht, aber mit 9 fps veröffentlicht).Aufnahme von Video mit unbekannter Bildrate mit FFmpeg
Was ich tun möchte, ist einen verstrichenen Timer zu verwenden und die Frames zu zählen, die ich aufnehme, um die tatsächliche Bildrate zu berechnen, die ich aufgenommen habe, als ich mit der Aufnahme fertig bin. Ich würde jedoch scheinen, dass die Bildrate in meinem AVStream eingestellt ist, wird in avcodec_open2 verwendet, bevor ich irgendwelche Frames schreibe. Wenn ich es später setze (zB während ich Frames schreibe), während ffplay es abspielen kann (beschweren, dass die Zeitinkrement-Bits 6, nicht 4 sind), können andere Video-Player nicht. Gibt es eine Möglichkeit, die Bildrate für die gesamte Datei nach die Frames zu schreiben? Wenn nicht, gibt es eine Möglichkeit, den Bildern selbst eine Art Zeitstempel oder Bildrate zu geben, während ich aufnehme, was zu einer gültigen Aufnahmedatei führt?
hi, ich werde mehr suchen, wollte aber nur nach avconv fragen. Ich habe es nach einer schnellen Google-Suche gefunden. Es sieht so aus, als könnte es die Bildrate einer Datei ändern. vielleicht könnten Sie die Datei mit einer beliebigen Bildrate schreiben und dann, nachdem Sie die tatsächliche Rate erkannt haben, das Schreiben beenden und avconv mit der neuen Rate ausführen? nur ein Gedanke, keine echte Antwort;) wird aber weiter schauen. Gib mir Bescheid. – nephi12
avconv ist der binäre Name für das libav-Projekt. (http://superuser.com/questions/507386/why-would-i-choose-libav-over-ffmpeg-or-is-there-even-a-difference) hat eine ziemlich gute Zusammenfassung aller Namen, die hatten Ich bin seit geraumer Zeit verwirrt. Alles, was Avconv macht, sollte mit den Bibliotheken, die es benutzt, möglich sein. – Chris