Ich versuche, eine MP4-Datei in Segmente aufzuteilen, und jedes Segment sollte mit nahezu null A/V-Punkten beginnen. Ich kodiere die MP4-Datei außerdem für verschiedene Bitraten neu. Dies ist der Befehl, den ich verwendet habe:
ffmpeg -i "input.mp4" -c:a libfdk_aac -b:a 128k -c:v libx264 -x264-params "keyint=24:min-keyint=24:scenecut=0:force-cfr=1:nal-hrd=cbr" -b:v 10000k -minrate 10000k -maxrate 10000k -f segment -segment_time 1 -reset_timestamps 1 "output-%01d.mp4"
Die ersten Audiopunkte scheinen für einige Segmente negativ zu sein, was bei der Wiedergabe im Web zu A/V-Synchronisationsproblemen führt. Ich habe Setpts/Asetpts-Filter ausprobiert, aber ohne Erfolg.
In Bezug auf das modifizierte GOP beträgt die MP4-Eingabe 24 fps, sodass jedes Segment 1 s lang ist. Wie kann ich das Problem mit den negativen Punkten lösen?
Antwort1
Fügen Sie -segment_format_options avoid_negative_ts=make_zero
es Ihrem Befehl hinzu.