原创 ffmpeg解碼的軟解及硬解(cuda和qsv)使用方法
對ffmpeg不是很熟悉,在使用的過程中遇到了很多坑,總結下,避免以後再遇到類似情況 版本兼容問題: 本次使用的ffmpeg版本是4.2,解碼的調用方式爲: int32_t iRet = -1; // 最後一個包解碼完成後,需
原创 Linux下高併發socket最大連接數所受的各種限制
1、修改用戶進程可打開文件數限制 在Linux平臺上,無論編寫客戶端程序還是服務端程序,在進行高併發TCP連接處理時,最高的併發數量都要受到系統對用戶單一進程同時可打開文件數量的限制(這是因爲系統爲每個TCP連接都要創建一個socket句
原创 epoll用法說明,ET模式下的邊緣觸發處理同時多事件
epoll完整實例 #include <deque> #include <map> #include <vector> #include <pthread.h> #include <semaphore.h> #include <time
原创 Windows服務器高併發處理IOCP(完成端口)詳細說明
本系列裏完成端口的代碼在兩年前就已經寫好了,但是由於許久沒有寫東西了,不知該如何提筆,所以這篇文檔總是在醞釀之中……醞釀了兩年之後,終於決定開始動筆了,但願還不算晚….. 這篇文檔我非常詳細並且圖文並茂的介紹了關於
原创 epoll詳解
什麼是epoll epoll是什麼?按照man手冊的說法:是爲處理大批量句柄而作了改進的poll。當然,這不是2.6內核纔有的,它是在2.5.44內核中被引進的(epoll(4) is a new API introduced i
原创 IO多路複用之select總結
1、基本概念 IO多路複用是指內核一旦發現進程指定的一個或者多個IO條件準備讀取,它就通知該進程。IO多路複用適用如下場合: (1)當客戶處理多個描述字時(一般是交互式輸入和網絡套接口),必須使用I/O複用。 (2)當一個客
原创 linux鎖機制
在linux內核中,有很多同步機制。比較經典的有原子操作、spin_lock(忙等待的鎖)、mutex(互斥鎖)、semaphore(信號量)等。並且它們幾乎都有對應的rw_XXX(讀寫鎖),以便在能夠區分讀與寫的情況下,讓讀操作相互不互
原创 gethostbyname()-- 用域名或主機名獲取IP地址
gethostbyname() -- 用域名或主機名獲取IP地址 #include <netdb.h> #include <sys/socket.h> #include <unistd.h> #in
原创 Qt直接打開已知的URL,也可用於下載
QDesktopServices::openUrl(QUrl(QLatin1String("http://blog.const.net.cn")))
原创 常用類—— QLineEdit
構造 QLineEdit 類支持以下構造函數: [plain] view plaincopy QLineEdit (QWid
原创 QTableWidget詳解(樣式、右鍵菜單、表頭塌陷、多選等)
原文地址:QTableWidget詳解(樣式、右鍵菜單、表頭塌陷、多選等)作者:奮鬥ing丶孩子 在Qt的開發過程中,時常會用到表單(QTableWidget)這個控件,網上的資料不少,但是都是最基本的,有一些比較經常遇到的問題也
原创 Qt之QFileIconProvider(獲取文件圖標、類型)
Qt中獲取系統圖標、類型是通過QFileIconProvider來實現的,具體如下: 第一種方法是獲取已經存在本地的文件的圖標 第二種方法是根據文件名稱(不管本地是否存在該文件)獲取系統默認圖標 一、Qt獲取系統文件圖標 1、獲取文件
原创 Windows幾種sleep精度的測試,結果基於微秒
Windows幾種sleep精度的測試 在Windows環境下使用Sleep的時候,經常會遇到明明Sleep了1ms,結果被喚醒時所消耗的時間大於1ms, 對於那些精確度稍微高一點的Sleep控制時序,就不起作用了,衆所周知Windows
原创 OBS視頻數據輸出流程(模塊加載,編碼,推流)詳細說明
聲明:本文章內容僅代表個人觀點,不能保證完全的正確性,僅供參考! 先上個自己畫的圖,結合流程圖和文字解釋,理解起來會更快些 1、視頻輸出初始化 程序運行時,初始化OBS,視頻相關的初始化是再mainWindow中進行的 OBSAp
原创 OBS音頻數據混音、編碼、推流數據流程
聲明:文章內容僅代表個人觀點,不保證描述的準確性,僅供參考! 音頻的數據流程走向,有些描述不正確的,需要自己看代碼再理解理解了,先上個流程圖吧,湊合着看 文字描述 1、<audio-io.c> input_and_output (