Saya perlu tahu setelah berapa banyak frame video bagian audio dimulai untuk file mpeg. Jadi misalnya, pertama ada 5 frame video dan setelah itu ada 10 sampel audio. Ini akan diulang untuk seluruh file.
Extra: Apakah ada cara untuk mengatur informasi ini di ffmpeg?
Sunting: informasi lebih lanjut
Saya memiliki aliran video dalam format RGBA. Frame ini ditulis ke encoder.
Saya juga memiliki aliran audio dalam format s16le yang ingin saya beri makan ke encoder.
Jika saya menggunakan aliran video dalam format RGBA dan menambahkan file .wav biasa ke dalamnya sebagai audio semuanya berfungsi dengan baik. Namun, saya perlu menambahkan aliran audio saya sendiri. Ketika saya mencoba melakukan ini, saya tidak mendapatkan audio dan videonya rusak. Ini meluncur dari kanan ke kiri dan dari atas ke bawah. Bagian bingkai yang jatuh ditampilkan di sisi lain (misalnya, bingkai 20px ke kanan, 20px yang jatuh diberikan di sisi kiri).
Saya pikir saya harus menemukan urutan mana yang harus saya tulis stream audio saya ke encoder. Bagian ini dari perintah konsol mengatur audio saya:
-f s16le -ac 1 -i -
Ketika saya mencobanya dengan file .wav biasa saya baru saja menulis
-i file_name.wav
Saya harap ini membuatnya sedikit lebih jelas.
EDIT LEBIH LANJUT:
Saya saat ini menulis 18 frame ke encoder dan setelah itu saya menulis sampel audio 18 frame ke encoder. Ini berulang. Jika saya pergi ke frekuensi yang lebih rendah dari ini saya mendapatkan flash hijau di video
PERINTAH FFMPEG:
ffmpeg -r 24 -pix_fmt rgba -s 1280x720 -f rawvideo -y -i - -f s16le -ac 1 -i - -vf vflip -vcodec mpeg1video -qscale 4 -bufsize 500KB -maxrate 5000KB OUTPUT_FILE
fwrite()
untuk menulis audio dan video