原创 webrtc c++(三) peerConnection分析

peerconnection是webrtc面向外面的音視頻交互的統一接口,可以理解爲一個功能特別強大的socket接口,裏面保存了實時交互的所有信息,同時音視頻的轉發與接收也是通過peerconnection來完成 1 peerconne

原创 webrtc c++ (四)peerConnection creatrOffer分析

基於通過webrtc自帶的peerConnectionClient例子來分析,首先連接服務器,當有其他客戶端上線後會接收到通知,界面增加對方主機的名稱,雙擊後再主界面消息響應層會進入ConnectToPeer函數 //peerconne

原创 webrtc c++(二) webrtc音頻操作麥克風錄音與播放,聲音控制

由於新版本的webrtc工程太過於龐大,有一千讀個工程,對於理解源碼很不方便,所以以後都採用老版本的webrtc,以方便理解,這個版本有一百多個工程,相對於最新的工程要小很多 webrtc源碼  下載 鏈接: https://pan.ba

原创 webrtc c++ (一) 打開攝像頭設備並顯示

void rtcDevice::GetDeviceList() { //獲取到系統下所有的設備信息 std::unique_ptr<webrtc::VideoCaptureModule::DeviceInfo> inf

原创 萬能版本的ffmpeg

最近在搞屏幕錄製軟件,需要整合聲卡,麥克風音頻,還有屏幕畫面,本想直接用ffmpeg.exe直接跑進程,錄屏的進程發現經常退不出,在網上找了ffmpeg的源碼編譯完成後,直接把ffmpeg源碼拷貝進來,修改後,直接命令行參數傳進去,然後再

原创 webrtc c++ (零) webrtc vs2017最新源碼編譯

1 設置代理 對於google的一系列開源倉庫都在國外的服務器上面,所以需要設置代理; 我選擇的是ShadowSockes+Privoxy,配置方法如下: 1.1 shadowSockes的配置,略 1.2 Privoxy的配置     

原创 Qt Vs Tools無法打開Qt project的處理

最近不知道爲什麼Qt vsTools打開QT .pro文件總是崩潰,無法打開,想重裝,把原先的卸載掉後重裝,發現提示 “此擴展已安裝到所有適用的產品”,無法安裝,想到可能是之前的數據沒有卸載乾淨,導致重裝失敗,找到vs的插件安裝路徑 C:

原创 cmake學習二 同級目錄下多個文件生成exe

同級目錄,添加多個代碼源文件,比如同級目錄下main.cpp test.h test.cpp文件,如下圖 只需要修改#3指定生成的可執行程序與依賴程序  即可 #3指定生成的可執行程序與依賴程序 add_executable (test

原创 ffmpeg學習-0 音視頻基本概念

1 通常所說的音視頻文件其實是一個容器,這個容器你中包含了多路流,比如音頻流與視頻流,將音頻與視頻包裝在一起就成了多媒體文件 2每種流都是由不同的編碼器編碼的,比如視頻常用的有MP4編碼,mpeg4編碼 3從流中取出的數據稱爲包,一個包裏

原创 c++插件技術初步--動態創建對象

c++動態創建對象,思路:按照對象名稱來動態創建,將對象名稱與創建函數一起保存到map中,創建時通過map來查找返回; #pragma once #include "DynCreateBase.h" #include <iostream

原创 c++11實現線程池

共享隊列的實現 /*** *泛型的 *共享隊列 * */ #include <iostream> #include <mutex> #include <condition_variable> #include <list>

原创 Qt 圖片查看器 支持鼠標縮放大小 拖動位置等

由於工作需要需要編寫一個圖片查看器,需要支持鼠標滾動縮放大小,鼠標移動圖片位置等,由於無法上傳gif,截取的gif示例圖暫時不上傳了,講一下大概思路 1 鼠標點擊移動圖片     通過重寫鼠標點擊事件獲取到點位,在鼠標移動事件中進行mov

原创 Qt QDialog exec非模態設置方法

    QDialog dlg(this);                    //指定父窗口,可以讓你的任務欄不顯示標記,否則和QWidget效果一樣     dlg.setModal(false);     dlg.Show();

原创 cmake 學習教程(一) 最簡單的cmake工程

最簡單的cmake #1指定cmake的版本 cmake_minimum_required(VERSION 2.6) #2指定工程名稱 project(Test) #3指定生成的可執行程序與依賴程序 add_executable (tes

原创 vs2015下 cmake編譯 vlc-qt與使用

       最近使用vlc-qt做播放器,效果比較好,可以播放本地文件與rtmp流,特別rtmp流的播放,由於vlc庫的延遲,可能會有2s左右的延遲 1   vlc庫的下載,下載的vlc都不帶sdk目錄了,所以現在下來的安裝文件不能用來