Konsep yang Anda butuhkan untuk menghasilkan banyak output dari satu input dengan ffmpeg ditunjukkan dengan sangat jelas (setidaknya bagi saya itu) di https://trac.ffmpeg.org/wiki/Creating%20multiple%20outputs
pada dasarnya, ffmpeg -i someinput [output_options] someoutput1 [output2_options] someoutput2
adalah polanya. Sepertinya Anda sudah tahu cara menggunakan rtsp sebagai input dan Anda tahu cara menghasilkan output tunggal dengan bitrate yang diberikan. Anda juga dapat mengulangi seluruh blok output (semuanya setelah string input rtsp Anda), dan setiap kali ubah resolusi Anda dengan -s
dan bitrate Anda (Anda menggunakan -crf sehingga Anda ingin menguranginya untuk res yang lebih tinggi / kualitas yang lebih tinggi dan meningkatkan itu untuk res rendah, kualitas lebih rendah).
Secara pribadi, saya akan menggunakan crf untuk renditions HLS dan dengan libx265, aturan yang saya gunakan adalah frame_width * frame_height * frame_rate * 0.1
untuk mendapatkan bitrate "ideal" untuk ukuran frame yang diberikan. Anda harus membalik persamaan jika Anda ingin memilih bitrate yang akan ditargetkan, lalu cari frameize dari itu. Nilai ".1" bisa lebih tinggi, tetapi Anda tidak akan melihat banyak manfaat secara umum (konten yang lebih kompleks akan lebih baik menggunakan nilai yang lebih tinggi) dan saya jarang pergi di bawah 0,07.