用ffmpeg做demux,网上很多参考文章。对于网络流,avformt_find_stream_info()函数默认需要花费较长的时间进行流格式探测,
那么,如何减少探测时间内? 可以通过设置AVFotmatContext的probesize和max_analyze_duration属性进行调节:(如果设置探测时间过短会导致在探测某些cdn来的流的时候探测不到音频流)
………….
if (avformat_open_input(&(handle->pFormatContext), "", handle->pInputFormat, NULL) < ) {
av_free(handle->inputBuffer);
*errorCode = -;
return FALSE;
}
(handle->fpState)(handle, );
AVDictionary\* pOptions = NULL;
handle->pFormatContext->probesize = \*;
handle->pFormatContext->max\_analyze\_duration = \* AV\_TIME\_BASE;
if (avformat\_find\_stream\_info(handle->pFormatContext, &pOptions) < ) {
.........
return FALSE;
}
...............
备注:如果设置探测时间过短会导致在探测某些cdn来的流的时候探测不到音频流!
手机扫一扫
移动阅读更方便
你可能感兴趣的文章