原创 從WebRTC SDP實現源碼中尋找video codec的來源

近期因爲需要修改一下WebRTC源碼裏的sdp信息,主要是音頻和視頻部分,所以看了一下native部分的實現,這裏簡單記錄一下分析過程,主要是根據sdp字符串查找video codec的來源。注意本文基於Windows平臺的Web

原创 WebRTC 移動端的視頻畫面旋轉問題

最近遇到一個比較有意思的問題,這裏記錄一下,免得日後忘記細節。 事情的起因是因爲我們的技術團隊做了一個合流的功能,就是把來自各種設備的多個視頻流進行解碼、按照一定佈局(可以簡單理解爲畫中畫)重新構造新的視頻幀數據再編碼,最後轉推C

原创 關於H.264 profile-level-id

我們在WebRTC開發中,如果採用的是H.264來作爲視頻流編碼類型,就會面臨一個問題,那就是編碼端和解碼端需要進行協商各自的編解碼能力。例如,如果編碼端使用了高級別的profile和level,或使用瞭解碼器不支持的編碼特性,那

原创 Windows下調試Chromium及WebRTC源碼的一些心得

這裏記錄一些關於在Windows上調試CEF/Chromium/WebRTC源碼的一些心得體會,也是怕時間久了就忘記了其中一些細節。 因爲經常有需要對CEF以及WebRTC的源碼進行分析和修改,所以修改後如何調試就成了首要解決的問題。CE

原创 爲 CEF/Chromium 添加 x264 編碼器

文章目錄前言類改造可能遇到的問題Simulcast兩個QP閾值的含義動態碼率/幀率反饋每一幀的QP非常重要RTPFragmentationHeader是個什麼玩意兒H264編碼數據的排列格式要求Streams with pred_

原创 QNAP(威聯通)每天自動通過郵件上報外網IP

寫一篇和視頻無關的文章。 這個月初從京東購買了一臺QNAP 威聯通 TS-453Bmini NAS主機,同時配了希捷酷狼NAS硬盤。因爲是第一次用NAS,買回來的週末沒幹別的,就鼓搗NAS了。功能上面倒是還好,最主要的問題是我家是

原创 “奇怪的”WebRTC audio/video 丟包率

前一段時間在給公司產品的弱網提示功能提供數據支撐的時候,是根據WebRTC拋來上的StatsReport中的packetsLost、packetsSent/packetsReceived作爲計算的數據來源進行的。採用的丟包率算法是: (

原创 讓CEF支持HEVC(H.265)視頻播放

HEVC(H.265)有高昂的版權費用這個是衆所周知的,所以現在絕大多數瀏覽器默認都不具備HEVC解碼能力,這一點可以通過caniuse.com看到: 可以看到,基本上只有Apple是HEVC的主要支持者。Google Chro

原创 CEF 3 Windows/macOS 帶 ffmpeg (支持H.264, MP4, MP3等)下載地址大全

這裏記錄一下我編譯的CEF 3 Windows/macOS 帶ffmpeg支持的版本,爲了省事,直接上傳到了CSDN下載頻道。其實我是想免積分提供的,但是上傳頁面的下載積分不能選0,最小也是1。注:2019年2月份開始,我發現上傳資源不能

原创 flv.js直播拉流場景下的技術優化

文章目錄前言問題編譯問題延時大,並且會隨着播放時間累積放大直播視頻畫面可能會卡停、黑屏Chromium Console中經常有各種報錯拉取不規範的http-flv,在某些瀏覽器上視頻畫面只能顯示一小部分拉流過程中瀏覽器內存佔用太大

原创 Android : WebRTC中設置 Video Stabilization 遇到的一個兼容性問題

最近我們公司的產品,在一款Android平板上遇到一個奇怪的問題,現象是本地視頻預覽畫面顯示是黑屏,監聽VideoFrame無輸出。下面我來描述一下這個故事。 在WebRTC Android SDK源碼的Camera2Sessio

原创 WebRTC Developer Tool Landscape

Tsahi Levent-Levi是testRTC的CEO,多年以來一直作爲工程師、經理、市場以及CTO等角色活躍在實時通訊領域內。作爲一名作者,他還撰寫了大量與WebRTC和實時通訊有關的文章。他的網站是:https://bloggee

原创 調試CEF與WebRTC的一些心得

這裏記錄一些關於在Windows上調試CEF/Chromium/WebRTC源碼的一些心得體會,也是怕時間久了就忘記了其中一些細節。 因爲經常有需要對CEF以及WebRTC的源碼進行分析和修改,所以修改後如何調試就成了首要解決的問題。CE

原创 爲CEF 3增加應用程序共享功能

以前如果想在Chrome中使用JS進行全屏幕/應用程序共享(navigator.getDisplayMedia 或 navigator.mediaDevices.getUserMedia),需要額外安裝一個插件。 好消息是從Chr

原创 視頻分辨率的“別名”

作爲一個音視頻工作者,視頻的分辨率經常會掛在嘴邊,大多數人都喜歡直接使用具體的寬高來描述,比如640x480,320x240……也有的人喜歡說 480p、720p、1080p……等等。這其實是個人習慣,怎麼叫順嘴就行。 其實,大多數視頻分