在FFmpeg库中,很多函数没有直接的参数可以设置超时。
那么有哪些函数可以通过设置 AVFormatContext 的 interrupt_callback 来实现超时控制?
avformat_open_input
: 打开输入文件或流。这个函数会阻塞,尤其是在网络流的情况下,可能会因为等待服务器响应而长时间阻塞。avformat_find_stream_info
: 读取流信息。这个函数会尝试读取更多的数据来获得流的详细信息,如果数据源响应缓慢,也会阻塞。av_read_frame
: 读取数据包。这个函数会读取下一帧的数据包,如果数据源响应缓慢或者网络连接不稳定,也会阻塞。avio_read
: 从输入缓冲区读取数据,这个函数也会阻塞。avio_open
: 打开文件或网络资源以进行读取或写入的函数。av_seek_frame
或avformat_seek_file
用于在媒体流中进行跳转操作avformat_close_input
用于关闭输入媒体文件或流。