streammedia's People
streammedia's Issues
封装ts、flv时间戳问题
封装TS时间戳
取系统时间(单位ms)*90
TS码流分析工具
EasyICE下载地址 https://www.easyice.cn/archives/85
封装flv时间戳
需要单独计算(单位ms)
视频时间戳:
帧数 * (1000/帧率)
音频时间戳:
帧数 * (采样时间间隔)
采样时间间隔= 1000 * 每次采样字节数/采样率
例如:单声道、8k采样,每次采样80字节,则采样时间间隔=1000 * 80/8000=10ms
FLV码流分析工具
flvAnalyser下载地址 https://github.com/zymill/flvAnalyser
音频G711编解码
G711的内容是将14bit或者13bit采样的PCM音频数据编码成8bit的数据流,播放的时候将此8bit的数据还原成14bit或者13bit进行播放.不同于MPEG这种对整体或者一段音频数据进行考虑再进行编解码的做法,G711是波形编解码算法,就是一个sample对应一个编码.所以压缩比是固定的,为
8/14 = 57% (uLaw)或者
8/13 = 62% (aLaw).
因为主要用于语音音频,采样率一般使用8KHz,这样带宽为8bit乘以8KHz = 64Kbps.这个64Kbps也常常被称作"一路数字电话"作为非正式的带宽计算单位.
G711主要的两种版本称之为uLaw(u律,14bit版本)与ALaw(a律,13bit版本).
有人会问,直接将14bit和13bit的PCM采样进行移位,丢掉低位得到8bit结果,岂不是更简单.但是音频数据的特点不适合这样的线性编码,直接移位的结果会丢弃音频的主要变化的部分(低位部分)从而导致直接移位的结果是音频质量大大降低.不管是ALaw还是uLaw,其核心**是,音频的大多数变化发生在整个动态范围的低部分.而且人耳对音频幅度的感觉成对数关系.从这个角度来讲,说G711是前PC时代的MP3算法也有点道理.
ffmpeg库加载顺序
${PROJECT_SOURCE_DIR}/../sdk/ffmpeg/lib/libavformat.a
${PROJECT_SOURCE_DIR}/../sdk/ffmpeg/lib/libavcodec.a
${PROJECT_SOURCE_DIR}/../sdk/ffmpeg/lib/libavdevice.a
${PROJECT_SOURCE_DIR}/../sdk/ffmpeg/lib/libavfilter.a
${PROJECT_SOURCE_DIR}/../sdk/ffmpeg/lib/libpostproc.a
${PROJECT_SOURCE_DIR}/../sdk/ffmpeg/lib/libswresample.a
${PROJECT_SOURCE_DIR}/../sdk/ffmpeg/lib/libswscale.a
${PROJECT_SOURCE_DIR}/../sdk/ffmpeg/lib/libavutil.a
${PROJECT_SOURCE_DIR}/../sdk/x264/lib/libx264.a
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.