原创 這可能是國內Qt/C++界最受歡迎開源項目之一/5.8Kstar/持續迭代更新

一、前言 本項目大概在2020年開始的,大概在2022年重寫了一遍,主要是分門別類存放。本項目主要是QWidget編寫的一些開源的demo,支持Qt4、Qt5、Qt6,支持任意系統,預計會有100多個,一直持續更新完善,代碼簡潔易懂註釋詳細

原创 Qt/C++通用跨平臺Onvif工具/支持海康大華宇視華爲天地偉業等/雲臺控制/預置位管理/工程調試利器

一、前言 在安防視頻監控行業,Onvif作爲國際標準,幾乎主要的廠商都支持,不僅包含了國內的廠商,也包括主要的國際廠商,由於有了這個標準的存在,使得不同設備不同安防平臺之間,能夠接入各個廠家的硬件設備,互通有無,你中有我我中有你,實現良性競

原创 Qt/C++監控推流設備推流/延遲極低/實時性極高/rtsp/rtmp推流/hls/flv/webrtc拉流/調整分辨率降低帶寬

一、前言 算下來這個推流的項目作品寫了有四年多了,最初第一個版本只有文件點播的功能,用的純QTcpSocket通信實現,屬於比較簡單的功能。由於文件點播只支持文件形式的推流,不支持網絡流或者本地設備採集,所以迫切需要打破這個瓶頸,而後加入核

原创 Qt/C++音視頻開發67-保存裸流加入sps/pps信息/支持264/265裸流/轉碼保存/拉流推流

一、前言 音視頻組件除了支持保存MP4文件外,同時還支持保存裸流即264/265文件,以及解碼後最原始的yuv文件。在實際使用過程中,會發現部分視頻文件保存的裸流文件,並不能直接用播放器播放,查閱資料得知原來是缺少sps/pps信息,監控行

原创 Qt/C++音視頻開發66-音頻變速不變調/重採樣/提高音量/變速變調/倍速播放/sonic庫使用

一、前言 之前在做倍速這個功能的時候,發現快速播放會有滴滴滴的破音出現,正常1倍速沒有這個問題,儘管這個破音間隔很短,要放大音量才能聽到,但是總歸是不完美的,後面發現,通過修改qaudiooutput的採樣率,可以規避這個問題,破音不在出現

原创 Qt/C++音視頻開發64-共享解碼線程/重複利用解碼/極低CPU佔用/畫面同步/進度同步

一、前言 共享解碼線程主要是爲了降低CPU佔用,重複利用解碼,畢竟在一個監控系統中,很可能打開了同一個地址,需要在多個不同的窗口中播放,形成多屏渲染的效果,做到真正的完全的畫面同步,在主解碼線程中切換了播放進度,所有關聯的同一個解碼線程的播

原创 Qt編寫手機端視頻播放器/推流工具/Onvif工具

一、視頻播放器 同時支持多種解碼內核,包括qmedia內核(Qt4/Qt5/Qt6)、ffmpeg內核(ffmpeg2/ffmpeg3/ffmpeg4/ffmpeg5/ffmpeg6)、vlc內核(vlc2/vlc3)、mpv內核(mpv

原创 Qt編寫linux系統onvif工具(支持預覽/雲臺/預置位/錄像等)

一、功能特點 廣播搜索設備,支持IPC和NVR,依次返回。 可選擇不同的網卡IP進行對應網段設備的搜索。 依次獲取Onvif地址、Media地址、Profile文件、Rtsp地址。 可對指定的Profile獲取視頻流Rtsp地址,比如主碼

原创 Qt採集本地攝像頭推流成rtsp/rtmp(可網頁播放/支持嵌入式linux)

一、功能特點 支持各種本地視頻文件和網絡視頻文件。 支持各種網絡視頻流,網絡攝像頭,協議包括rtsp、rtmp、http。 支持將本地攝像頭設備推流,可指定分辨率和幀率等。 支持將本地桌面推流,可指定屏幕區域和幀率等。 自動啓動流媒體服務

原创 Qt/C++自定義界面大全/20套精美皮膚/26套精美UI界面/一鍵換膚/自定義顏色/各種導航界面

一、前言 這個系列對應自定義控件大全,一個專注於控件的編寫,一個專注於UI界面的編寫,程序員有兩大軟肋,一個是忌諱別人說自己的程序很爛很多bug,一個就是不擅長UI,基本上配色就直接rgb,對於第一點,只要放鬆心態,直面自己的不足,不斷改進

原创 Qt/C++中英輸入法/嵌入式輸入法/小數字面板/簡繁切換/特殊字符/支持Qt456

一、前言 在嵌入式板子上由於沒有系統層面的輸入法支持,所以都繞不開一個問題,那就是在需要輸入的UI軟件中,必須提供一個輸入法來進行輸入,大概從Qt5.7開始官方提供了輸入法的源碼,作爲插件的形式加入到Qt中,這裏需要特別提示的是,該源碼是g

原创 Qt/C++編寫視頻監控系統83-自定義懸浮條信息

一、前言 一般視頻控件上會給出個懸浮條,這個懸浮條用於顯示分辨率或者一些用戶期望看到的信息,一般常用的信息除了分辨率以外,還有幀率、封裝格式、視頻解碼器名稱、音頻解碼器名稱、實時碼率等,由於實際的場景不一樣,用戶希望能過自定義勾選開啓哪些信

原创 Qt/C++音視頻開發63-設置視頻旋轉角度/支持0-90-180-270度旋轉/自定義旋轉角度

一、前言 設置旋轉角度,相對來說是一個比較小衆的需求,如果視頻本身帶了旋轉角度,則解碼播放的時候本身就會旋轉到對應的角度顯示,比如手機上拍攝的視頻一般是旋轉了90度的,如果該視頻文件放到電腦上打開,一些早期的播放器可能播放的時候是躺着的,因

原创 Qt/C++攝像頭採集/二維碼解析/同時採集多路/圖片傳輸/分辨率幀率可調/自動重連

一、前言 本地攝像頭的採集可以有多種方式,一般本地攝像頭會通過USB的方式連接,在嵌入式上可能大部分是CMOS之類的軟帶的接口,這些都統稱本地攝像頭,和網絡攝像頭最大區別就是一個是通過網絡來通信,一個是直接本地通信。本地攝像機的採集可以用q

原创 Qt/C++編寫視頻監控系統82-自定義音柱顯示

一、前言 通過音柱控件實時展示當前播放的聲音產生的振幅的大小,得益於音頻播放組件內置了音頻振幅的計算,可以動態開啓和關閉,開啓後會對發送過來的要播放的聲音數據,進行運算得到當前這個音頻數據的振幅,類似於分貝,分貝越大,聽到的聲音越大,振幅越