原创 【FFmpeg】如何通過url的格式找到對應的協議,以rtmp爲例

1、簡述 在使用 avio_open 接口時,只要給形參 filename 傳入 url 格式的字符串就能找到對應的協議。這篇博客就是追蹤 avio_open 的調用關係,探明如何根據一個url字符串就能找到對應的協議。下面以rt

原创 【MySQL】縮略語PK NN UQ BIN UN ZF AI G、基本操作語句

一、縮略語 PK:primary key 主鍵 NN:not null 非空 UQ:unique 唯一索引 BIN:binary 二進制數據 UN:unsigned 無符號整數(非負數) ZF:zero fill 填充0 例如字段

原创 【視頻】視頻方面大神博客總結

1、雷霄驊博客 [總結]視音頻編解碼技術零基礎學習方法:雷神對音視頻技術的總結,包括:視頻播放器原理、流媒體協議、封裝格式、視頻編碼、音頻編碼、網絡視音頻平臺對比。首先對雷神的頂禮膜拜,學完這篇博客,就算跨入音視頻的門檻。 [總結

原创 【FFmpeg】FFmpeg中操作目錄、文件的接口

1、簡述 在學習FFmpeg源碼中的例子時,發現FFmpeg封裝了操作目錄和文件的接口。這篇博客把這些接口羅列出來,作爲筆記簡單記錄下。 2、接口列表 打開目錄,準備讀取目錄信息 int avio_open_dir(AVIODi

原创 【視頻】海康威視攝像頭RTSP協議格式

參考博客:使用rtsp協議訪問海康IP攝像頭 海康威視IP攝像頭rtsp協議地址如下: rtsp://[username]:[passwd]@[ip]:[port]/[codec]/[channel]/[subtype]/av_s

原创 【FFmpeg】如何通過字符串到對應的封裝器,以flv爲例

1、簡述 使用avformat_alloc_output_context2創建封裝器上下文AVFormatContext時,只需將封裝器的名字傳遞給形參format_name,就可以獲取對應的封裝器。這篇博客就是追尋avforma

原创 【FFmpeg】自定義回調函數處理AVIOContext中的數據

1、簡述 AVIOContext是FFmpeg管理輸入輸出數據的結構體,它的成員變量有指向數據的指針、大小以及處理數據的回調函數指針等等。如果使用avio_open或avio_open2來創建,它會根據指定的url協議,將協議處理

原创 【FFmpeg】截至ffmpeg4.2不推薦(Deprecate)繼續使用的接口,以及代替它的接口彙總

1、問題描述 使用ffmpeg庫寫程序,編譯時,經常報警告“xxx is deprecated” 查看源碼時,該接口或結構體字段被標記attribute_deprecated,表示它已經過時,不推薦使用。 如: attribute

原创 【MySQL】ubuntu16.04安裝mysql,然後源碼編譯Qt5.12.4版本的libqsqlmysql.so

一、Ubuntu16.04.5 安裝 MySQL 1、使用apt命令安裝 sudo apt install mysql-server 安裝過程會提示,推薦設置MySQL的root用戶密碼(注意:這裏root不是指ubuntu系統

原创 【Qt】報錯error: undefined reference to `vtable for的解決方法

1、問題描述 編譯Qt程序時,在某個類構造函數定義處報錯: error: undefined reference to `vtable for 2、原因分析 導致錯誤信息的原因是:子類沒有實現父類的純虛函數; 在Qt中,首先要想

原创 【經驗】如何查看gcc、g++不加-std時的默認版本

一、測試gcc 1、測試代碼:c.c #include <stdio.h> int main(void) { #ifdef __STDC_VERSION__ printf("__STDC_VERSION__ = %ld \n"

原创 【Qt】Qt編碼風格、命名約定

1、類名稱以大寫字母開頭、函數名稱以小寫字母開頭,並使用駝峯命名法;類名使用名詞或名詞短語、函數名使用動詞或者動詞短語; 2、常量應當大寫並且儘可能在類的作用域內創建成枚舉值,全局常量和宏通常是大寫; 3、布爾變量使用一個句子表示

原创 【Git】git clone時下載速度太慢的解決方法(親測有效)

1、參考博客 https://www.jianshu.com/p/3f6477049ece 2、原因 git clone特別慢是因爲github.global.ssl.fastly.net域名被限制了。 只要找到這個域名對應的i

原创 【經驗】對一個合格C++高級工程師(音視頻方向)的要求

1、C++高級工程師 經過查看招聘網站上對“C++高級工程師”這個職位的招聘要求,只總結了技術、能力要求,不涉及工作年限、學歷 具體要求如下: 精通C++面向對象程序設計; 熟悉設計模式; 敏捷開發經驗; 紮實數據結構及算法基礎;

原创 [Go]在vscode中添加對模板文件tmpl的html語法自動補全的支持

1、打開設置界面 依次點擊:“文件” --> “首選項” --> “設置” 2、打開文件配置 依次點擊:“文本編輯器” --> “文件” --> “在settings.json中編輯” 3、添加對tmpl後綴文件的html語法