您好,登錄后才能下訂單哦!
簡介
AVDictionary是FFmpeg的鍵值對存儲工具,FFmpeg經常使用AVDictionary設置/讀取內部參數
使用
avformat_open_input和avformat_find_stream_info函數都提供了AVDictionary參數,該參數可以在打開碼流之前指定各種參數,比如:探測碼流格式的時間,最大延時,超時時間,以及支持的協議的白名單等等
代碼
AVInputFormat pInputFormat = NULL;
AVFormatContext pFormatContext = avformat_alloc_context();
AVDictionary *pOptions = NULL;
av_dict_set(&pOptions, "probesize", "4096", 0);
av_dict_set(&pOptions, "max_delay", "100", 0);//指定最大延時100毫秒
if (avformat_open_input(&pFormatContext, "", pInputFormat, &pOptions) < 0)
類似的也可以通過指定pFormatContext的參數來指定探測數據格式的數據大小和最大的延時
pFormatContext->probesize = 4 *1024;
pFormatContext->max_delay = 100;
問題
實際上通過設置探測碼流格式的時間以及碼流數據的大小,一定程度上,減少了探測的時間,但是也會導致探測碼流格式失敗,因此這種方式僅用于碼流格式不明確的時候,要求點播延時不苛刻的情況下
通過設置了AVDictionary的max_delay參數值無效,并且pFormatContext->max_delay也設置無效
參考
http://blog.csdn.net/encoder1234/article/details/54582676
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。