
Ich verwende eine 10-Bit-Version von ffmpeg/x265, um den folgenden Befehl auszuführen, mit dem ich ein x265/10-Bit-Eingangsvideo dekodiere, es in ein anderes Befehlszeilentool weiterleite und die Ausgabe erneut in eine neue ffmpeg-Instanz weiterleite, wo ich es erneut kodieren und mit einer Fragmentdauer von 3 Sekunden fragmentieren möchte. Beachten Sie, dass dieselbe Zeile wie erwartet mit der x264/8-Bit-Kodierung funktioniert hat.
ffmpeg-hi10-heaac -y -an -i "./HEVC.mp4" -s 3840x2160 -f rawvideo - | myCLI | ffmpeg-hi10-heaac -y -f rawvideo -pix_fmt yuv420p10le -s 3840x2160 -r 23.976 -i - -c:v libx265 -b:v 5000K -g 24 -keyint_min 24 -sc_threshold 0 -map 0:v -f stream_segment -segment_time 3 -segment_list manifest.m3u8 -segment_list_type m3u8 output.%05d.ts
Das Problem ist, dass:
- Manifest sagt, dass die Fragmentdauer etwa 10 Sekunden beträgt
- und es stimmt, dass jedes .ts am Ausgang etwa 10 Sekunden lang ist.
Ich würde gerne wissen, ob es sich um ein bekanntes Problem handelt, ob es eine Problemumgehung gibt oder ob es an der von mir verwendeten Option oder einer Kombination dieser Optionen liegt.
Danke.
Antwort1
Sie müssen auch die GOP-Größe festlegen. -g [fps * Segmentzeit]