obs源码分析编译源码分析源码的第一步是编译源码,这样才能边调试边学习。obs studio支持cmake,在mac osx下可以生成Xcode的工程文件,这样方便调试。obs依赖的库有ffmpeg, qt5等,用brew可以很方便的安装。
1brew install qt5
需要注意的是用cmake生成工程文件前需要设置环境变量:
1export CMAKE_PREFIX_PATH=/usr/l
Continue reading
obs视频采集源码分析obs采用的plugin的方式来进行视频采集,下面以OSX下的视频采集插件为示例。
相关的文件:
plugins/av-capture.m
plugins/AVCaptureInputPort+PreMavericksCompat.h
libobs/obs.c
libobs/media-io/video-io.c
libobs/media-io/video-frame.c
Continue reading
DASH标准功能Multiple Audio Channels: 支持有多个语言的音频切换
Closed Captions/Subtitles: 使用webvtt来描述字幕。
Efficient AD Insertion
Fast Channel Switching: DASH的chunk为2-4秒,小的chunk可以方便做到不同频道间的快速切换,减少响应时间,而且有利于码率自适应的调整。但这个是
Continue reading
Live Streaming技术综述架构图
系统大致可以分解为如下几部分:
音视频的编码。
将编码后的(实时或VOD)数据给到Streaming Server,Server可以对数据进行DRM加密,转码等。
Streaming Server根据客户端的请求将数据转化为不同的格式,通过不同的协议分发到客户端。
可以参考这里的视频
下面根据数据流的不同阶段来进行分析。
技术分析音视频的编码和发布商
Continue reading
吉他和弦基础理论音符音乐有12个音符(Note),每个音符之间隔一个半音,比如B和C之间就隔一个半音(H),A和B之间隔一个全音(W, 即两个半音):
A
A♯/B♭
B
C
C♯/D♭
D
D♯/E♭
E
F
F♯/G♭
G
G♯/A♭
1
2
3
4
5
6
Continue reading