1. 程式人生 > >ffmpeg拉流rtmp音訊實時資料有延時的解決方法

ffmpeg拉流rtmp音訊實時資料有延時的解決方法

在使用ffmpeg播放網路流中,在執行到avformat_stream_info函式會阻塞5秒左右,這樣造成播放等待時間過長,影響

使用者體驗,經試驗,修改函式裡面AVFormatContext引數,probesize和max_analyze_duration值大小

通過AVDictionary來改變AVFormatContext結構體裡引數。

AVDictionary * avdic = NULL;

av_dict_set(&avdic,"probesize","2048",0);

av_dict_set(&avdic,"max_analyze_duration","1000",0);

avforamt_open_input(&pFormatCtx,url, NULL, &avdic);

avformat_find_stream_info(pFormatCtx, NULL);

我的實際程式碼如下:

	AVDictionary* pOptions = NULL;
	pFormatCtx->probesize = 1 *1024;
	pFormatCtx->max_analyze_duration = 1 * AV_TIME_BASE;
	// Retrieve stream information
	if(avformat_find_stream_info(pFormatCtx,&pOptions)<0)
	{
		printf("Couldn't find stream information.\n");
		return -1;
	}
以下程式碼也是可以的:
	AVDictionary * avdic = NULL;
	av_dict_set(&avdic,"probesize","2048",0);
	av_dict_set(&avdic,"max_analyze_duration","10",0);

	avformat_open_input(&pFormatCtx,url, NULL, &avdic);
	avformat_find_stream_info(pFormatCtx, NULL);

這樣就不會有太大的延時問題,我設定了伺服器的緩衝大小等方式沒有用,通過上述方法就可以了。

相關推薦

ffmpegrtmp音訊實時資料解決方法

在使用ffmpeg播放網路流中,在執行到avformat_stream_info函式會阻塞5秒左右,這樣造成播放等待時間過長,影響 使用者體驗,經試驗,修改函式裡面AVFormatContext引數,probesize和max_analyze_duration值大小 通過AVDictionary來改變

做直播 , 準備的一些資料,親測有效

知識性的內容 相信大家在除錯播放器的時候,都有這樣的困惑,很難找到合適的公有測試源。 hls的地址,用vlc驗證通過。 1. RTMP協議直播源 香港衛視:rtmp://live.hkstv.hk.lxdns.com/live/hks  //

mysql從庫刷資料慢,的情況處理

在一次生產環境排查問題中,發現mysql的從庫延時很大。後來通過如下操作解決。 先看下伺服器的innodb_flush_log_at_trx_commit引數值,如果值為非2,將引數innodb_flush_log_at_trx_commit值設定為2 mysql> show va

html5 PHP 日期選擇框datetime-local取出資料T 的解決辦法

datetime-local日期選擇框取出資料有T 的解決辦法 $shijian=你取到的時間; $shijian=str_replace("T"," ",$shijian); 這樣就能把T去除掉了 聯絡可諮詢老螞蟻網路18107823062微信同好

DataPipeline丨構建實時資料整合平臺,在技術選型上的考量點

文 | 陳肅 DataPipeline  CTO 隨著企業應用複雜性的上升和微服務架構的流行,資料正變得越來越以應用為中心。   服務之間僅在必要時以介面或者訊息佇列方式進行資料互動,從而避免了構建單一資料庫叢集來支撐不斷增長的業務需要。以應用為中心的資料持久化架構,在帶來可伸縮性好

jsp頁面在 移動端 自適應,chrome瀏覽器沒問題,可是safari瀏覽器問題的解決方法

ref orm one 方法 viewport 轉載 min maximum 顯示 在網頁中設置的1px與物理像素中的1px不會相同,所以導致不同在不同手機上顯示結果都不相同,通過以下設置找到了適合當前網頁自適應不同手機、不同瀏覽器的辦法,代碼如下: “ <meta

html5 input輸入實時檢測以及優化

class 好用 執行函數 change time 鍵盤輸入 新的 更改 頻率 有個項目是,這麽個情況,輸入框,實時監測輸入,觸發請求。 第一想法是input 上的onchange()方法,試了一下,不好用,是值等更改確認了,才會觸發,不即時。 上網查了一下, $("#

Vue使用jQuery ajax載入資料頁面無顯示解決方法

無資料程式碼為  <script> new Vue({ el:"#demo", data:{list:find()} }) function find(){ var ss; $.ajax(

Oracle資料庫資料顯示亂碼問題解決方法

一、問題描述:       在將其它資料庫的資料匯出檔案匯入本地新建資料庫時,所匯入的資料全部是亂碼,一般表現為資料表中列的值類似於"?????",即內容大部分為?的表現形式。初步判斷是因為Oracle客戶端與資料庫編碼不一致所導致。亂碼問題在各類技

資料傾斜及其高效解決方法

資料傾斜是大資料領域繞不開的攔路虎,當你所需處理的資料量到達了上億甚至是千億條的時候,資料傾斜將是橫在你面前一道巨大的坎。很可能有幾周甚至幾月都要頭疼於資料傾斜導致的各類詭異的問題。 資料傾斜是指:mapreduce程式執行時,reduce節點大部分執行完畢,但是有一個或者幾個reduce

git提交程式碼遇到程式碼庫更新以及本地更新的解決方法

在多人協作開發時,經常碰到同事把最新修改推送到遠端庫,你在本地也做了修改,這個時候無論是執行git pull還是執行git push都會提示錯誤,我的解決方式如下: 先隱藏掉本地的修改,然後執行git pull從程式碼塊拉取最新程式碼,具體步驟如下: 1.輸入 git s

github取程式碼時候出現 Permission denied (publickey).的解決方法

首先執行命令: ssh-keygen -t rsa -C "你的本地git拉取程式碼的賬號" 輸入命令後會出現型別這樣的句子 記住這三個句子不需要填入東西 直接一直回車下去 然後就會出現下面這個情況: 這時候,我們要找到一個叫id_rsa.pub的檔案,那麼

android 網路請求url中特殊字元解決方法

經常在get網路請求中有特殊字元,系統編碼 自動轉譯這些特殊字元有些字元在URL中具有特殊含義,基本編碼規則如下:特殊含義 十六進位制值1.+ 表示空格(在 URL 中不能使用空格) %202./ 分隔目錄和子目錄 %2F3.? 分隔實際的 URL 和引數 %3F4.% 指定

選單被表單擋住的幾種解決方法

當層遇到下拉框時總是擋不了select框?其實這是IE的BUG,其它的瀏覽器沒有這個問題,對於這個問題論壇裡不少提出,在這裡提供我的幾種方法,各有各的好處,有錯,有好的意見者提出,謝謝.1.最直接的方法:隱藏下拉框.下面提供的是一個比較通用的一組函式:test.htm<

ecshop session表被攻擊 每分鐘資料劇增 臨時的解決方法

找到/includes/cls_session.php的130行左右的insert_session()函式,修改為: function insert_session() { if($this->db->getOne("SELECT count

ztree通過ajax載入json資料中文亂碼的解決方法:springmvc配置

一、問題描述 使用zTree的非同步重新整理父級選單時,伺服器返回中文亂碼,但專案中使用了SpringMvc,已經對中文亂碼處理,為什麼還會出現呢? 此處為的非同步請求的配置: Java程式碼   async: {       enable: true,  

ECshop匯入淘寶資料包亂碼問題解決方法

ECshop在匯入淘寶資料包的時候出現數據亂碼。 測試版本 ecshop2.73 利用淘寶助手匯出一個數據包(.csv),不要一次全部商品匯出,最好是將資料包控制在1M左右,因為ecshop對上傳檔案有限制。 1、用編輯器開啟檔案goods_batch.php,檔案在admin資料夾下,找到 $d

文字分類問題中資料不均衡的解決方法的探索

資料傾斜是資料探勘中的一個常見問題,它嚴重影響的資料分析的最終結果,在分類問題中其影響更是巨大的,例如在之前的文字分類專案中就遇到類別文字集合嚴重不均衡的問題,本文主要結合專案實驗,介紹一下遇到資料不均衡問題時的常見解決方法。 資料傾斜的解決方法 1.過取樣和欠

opencv圖片旋轉後圖片無法填滿視窗黑邊解決方法

cv::Mat cutImg; int dw = g_rect.Width(), dh = g_rect.Height(); int imgw = rotateImg.cols, imgh = rotateImg.rows; if (imgw >= dw && imgh >= d

關於curl返回資料亂碼的問題解決方法

今天需要爬某個網站的資料,chrome開啟開發者工具順利的找到API,然後拿出curl大法,走起! 首先,模擬登入,順利的拿到資料,但是返回的資料讓我懵逼了。 在瀏覽器開發者工具看到的是正常的資料,但是我curl出來的是一堆亂碼,“度”他娘很久都沒找到答案,最後“谷”他哥第