Jak nagrać strumień video w formacie m3u8 z konwersją do mp4?

@MatX1, jeszcze jedno, ostatnie już pytanie. Nagrałem 2 godzinne pliki z tą samą wartością parametrów ‘preset’ i ‘crf’. Otrzymałem jednak 2 pliki o różnym bitrate, a co za tym idzie - różnej wielkości. Czy jest jakiś sposób na ustawienie stałej wartości bitrate dla pliku docelowego?

Jak rozumiem zawartość pliku źródłowego nie była identyczna w obu przypadkach?
Crf ustawia stałą jakość dla całego video, więc dobiera bitrate tak, aby był odpowiednio wykorzystywany tam, gdzie jest potrzebny.

Tak, zamiast -crf ustawiasz:

-b:v 1M -minrate 1M -maxrate 1M -bufsize 2M

gdzie -b:v, -minrate i -maxrate to wybrany bitrate, a bifsize to dwukrotność bitrate’u.

Zdecydowanie nie polecam tego używać.
Stały bitrate to zazwyczaj strata miejsca i brak wpływu na docelową jakość.
W porównaniu do dobrze dobranego crf efekty mogą być kiepskie.

Tego trybu używa się wyłączenie w transmitowaniu treści na żywo, gdzie trzeba unikać skoków w przepływności strumienia.

@MatX1, dziękuję za wszystkie wyjaśnienia i cierpliwość!

@MatX1, właśnie przed chwilą doświadczyłem problemu, o którym wspomniałeś. Nagrywanie padło pół godziny przed planowanym zakończeniem.
Czy mógłbyś mi wobec tego napisać, jak powinno wyglądać poprawne polecenie nagrywania do pliku .ts?
Z uwzględnieniem rozdzielczości 480p i czasu nagrywania.

Wystarczy, że zmienisz rozszerzenie pliku docelowego z „.mp4” na „.ts”.

@MatX1, działa idealnie. Powiedz mi tylko, jak sprawić, by w przypadku, gdyby zadanie crona się wysypało, zapobiec wiszeniu procesu? Dziś miałem taki przypadek, że nagrywanie pliku mp4 się wysypało pół godziny przed końcem i proces nagrywania zajmował pamięć jeszcze w momencie, gdy nagrywanie pliku powinno się już skończyć.