原创 如何設計一款優秀的短視頻 SDK

2017 年,短視頻成爲了內容創業的新風口,各種短視頻 App 如雨後春筍般先後上線,隨着互聯網內容消費升級,視頻越來越像文字、圖片一樣,成爲每一個 App 不可或缺的一部分。爲了能夠更好地聚焦於業務,早日完成短視頻 APP 的上線,越來越

原创 直播疑難雜症排查 — 序

在七牛做直播 SDK 一年多了,幫助客戶解決過各種形形色色的問題,如直播卡頓、馬賽克、花屏、黑屏、雜音、音畫不同步等等等等,這其中,有一些是網絡原因,有一些是客戶的使用姿勢問題,有一些是參數配置錯誤,當然,也有一些是 SDK 本身的問題。總

原创 直播疑難雜症排查(3)— 首開慢

本文是 《直播疑難雜症排查》系列的第三篇文章,我們來看看直播過程中,最重要的一個性能指標:首開。1. 首開慢的表現點擊播放後,需要好幾秒才能顯示播放畫面。2. 常見首開慢問題排查2.1 點擊播放後才從服務器取播放地址播放視頻,第一件事就是要

原创 直播疑難雜症排查(10)— 直播功耗高

本文爲 《直播疑難雜症排查系列的》第十篇文章,我們重點看看直播功耗高的問題。1.  問題現象直播過程中手機發熱嚴重,耗電快。2. 問題排查導致手機功耗高,發熱嚴重的根本因素,無外乎就是一點:CPU/GPU 佔用率高,所以,我們首先要分析下,

原创 直播疑難雜症排查(2) — 播放卡頓

本文是 《直播疑難雜症排查》系列的第二篇文章,我們主要分析下如何排查播放卡頓問題。1. 播放卡頓的表現播放卡頓的表現總結下來包括但不限於以下這些:- 頻繁出現緩衝- 播放不夠流暢,畫面一卡一卡的2. 常見播放卡頓問題排查從代碼層面來看,什麼

原创 直播疑難雜症排查(6)— 馬賽克嚴重

本文是 《直播疑難雜症排查》系列的第六篇文章,我們重點來看看直播中常見的馬賽克問題。1. 馬賽克問題的表現馬賽克主要是指畫面中出現多處類似小方塊的圖像,導致畫面的局部或者整體看不清楚的情況。2. 馬賽克嚴重的問題排查2.1 視頻編碼參數配置

原创 直播疑難雜症排查(9)— 拖動不準

本文爲 《直播疑難雜症排查》系列的第九篇文章,我們重點看看播放視頻時拖動不準的問題。1. 問題現象播放過程中,拖動進度條後,實際播放的位置跟鬆開拖動時的位置相差很遠。2. 問題排查由於直播流是實時產生和傳輸的,是不能拖動的,因此該問題主要出

原创 FFMPEG Tips (5) 如何利用 AVDictionary 配置參數

本文是我的 FFMPEG Tips 系列的第五篇文章,準備介紹下 ffmpeg 提供的一個非常好用的健值對工具:AVDictionary,特別是對於沒有 map 容器的 c 代碼,可以充分利用它來配置和定義播放器的參數,ffmpeg 本身也

原创 FFMPEG Tips (3) 如何讀取每一幀的信息

本文是我的《FFMPEG Tips》系列的第三篇文章,上篇文章 介紹瞭如何提取整個音視頻碼流的媒體信息,包括:封裝格式、編碼格式、視頻的分辨率、幀率、碼率、音頻的採樣率、位寬、通道數等等,而本文則關注得更細一點,看看如何利用 ffmpeg

原创 FFMPEG Tips (4) 如何中斷阻塞的網絡線程

本文是我的《FFMPEG Tips》系列的第四篇文章,前面的文章有提到如何提取碼流信息、如何讀每一幀的數據,這些都是離不開網絡操作,例如:使用 ffmpeg 讀取一個碼流,常規的代碼流程示例如下:AVFormatContext *ic =