My task, when encoding raw audio data, is to limit the recording when the set maximum file size is reached. To determine the current duration of an audio file, I use data from packet:
// Calculating the current value of the time duration of the media file.
packet.duration = av_rescale_q(packet.duration, p_iStream->time_base, p_oStream->time_base);
m_duration += packet.duration;
But when calculating the file size in this way, it does not work:
// Calculating the current value of the media file size.
m_fileSize += packet.buf->size;
How do I determine the file size in real time? I can't use other classes to work with the file. This file is already opened by ffmpeg, and it cannot be opened from the outside.
question from:
https://stackoverflow.com/questions/65918834/set-the-file-size-limit-using-the-ffmpeg-api 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…