
流媒体
UnkownState
专注软件开发,系统架构,软件服务。
展开
-
pcm混音
I am not sure weather I have fully understood your question or not, I persume that you are asking"How can we mix two or more audio stream", If this is the question then I am explaning below themix...原创 2019-11-08 15:32:19 · 584 阅读 · 0 评论 -
D3D surface渲染YUV问题
最近参考了雷神的d3d surface渲染YUV的代码,下面对几种YUV格式做总结,只有正确区分才能正常渲染图像。 在建立离屏表面的时候需要指定图像格式D3DFormat,这个指定后后面的拷贝数据给surface息息相关,搞错了不会渲染正常。 YUV主要有packet和Planar两种存储方式。I420(YUV420P) YYYYYYYYUUVV YV12(YUV420P) ...原创 2018-02-26 14:06:32 · 1167 阅读 · 0 评论 -
Understanding Rate Control Modes (x264, x265, vpx)
原文地址:http://slhck.info/video/2017/03/01/rate-control.htmlWhat is “rate control”? It’s what a video encoder does when it decides how many bits to spend for a given frame. The goal of (lossy) video转载 2018-01-29 13:41:33 · 359 阅读 · 0 评论 -
H.264协议:Annex B格式和AVCC格式
转自:http://blog.youkuaiyun.com/yingmuliuchuan/article/details/78743738本文需要读者对H.264流有一定的了解才可以理解2种格式差异。 首先要理解的是没有标准的H.264基本流格式。文档中的确包含了一个Annex,特别是描述了一种可能的格式Annex B格式,但是这个并不是一个必须要求的格式。标准文档中指定了视频怎转载 2018-01-29 09:25:32 · 7655 阅读 · 0 评论 -
ams录像实现
// main.asc// ========发布时录像=============application.onAppStart = function(){ trace("Application name: " + application.name); trace("Server: " + application.server原创 2018-01-04 15:42:27 · 427 阅读 · 0 评论 -
x265 命令行参数大全
除非一个参数被标记为 CLI ONLY,否则该参数也被x265_param_parse() 支持。CLI使用getopt 函数来解释命令行参数,长短版本的参数都可以使用,长参数在不引起歧义的情况下可以截断成短参数。API用户必须把完整的参数名传递给 x265_param_parse()。Preset和tune 有特殊的含义,API用户需要在调用x265_param_parse()设置其他参转载 2017-12-01 18:32:54 · 1709 阅读 · 0 评论 -
u3d native render
后面将会献上一篇unity下native code renderer实现实时render文章,请等待。。。原创 2016-06-21 16:38:15 · 784 阅读 · 0 评论 -
sws_scale YV12转RGB24图像倒转问题
使用ffmpeg解码H264视频数据后,如果需要把YV12转换为RGB264,一般使用sws_scale转换,但是转换出来的图像是倒置的。通过以下方法可以调整。mYuvPicture->data[0] += mYuvPicture->linesize[0] * (mCodecCtx->height - 1);mYuvPicture->linesize[0] *= -1;mYuv原创 2016-06-15 19:43:34 · 2410 阅读 · 1 评论 -
记win10下编译64位ffmpeg
需要使用windows 64位版的ffmpeg,所以搞了下编译环境,基本的操作如下:1.下载mingw64,这个可以编译windows系统下的64位和32位库,mingw只能编译32位的库。下载地址下载完成后可以直接安装到某个分区下,比如c:\mingw64。2.下载msys,下载地址下载完成后安装到c:\msys下。3.改C:\msys\1.0\etc目录下的fstab.sa原创 2016-05-31 00:36:43 · 5350 阅读 · 1 评论 -
Intel GPU及NVIDIA GPU对视频编解码支持情况
编解码可以软编实现(CPU),或者硬编(GPU),当然还可以使用专用的编解码卡(IC),他们各有优点,但是基于硬件的处理往往速度更快。但是也有人说软编有更大的可调节性。这里我们只记录硬编的硬件支持情况,尤其是软编效率没有上来的情况下这显得尤其重要。废话不多说,先上intel GPU QSV硬编解情况:摘自:https://en.wikipedia.org/wiki/Intel_Quick_Syn...原创 2018-02-06 10:40:35 · 25191 阅读 · 1 评论 -
iphone hevc视频硬解支持
原创 2018-02-28 17:32:05 · 1600 阅读 · 0 评论 -
YUV拼接
yuv的拼接和切割原理是很简单的,直接上图,这样非常直观。横向拼接:纵向拼接:以上是横向拼接,其他的也类似,切割自然也一样,对y、u、v各个分量做操作。水印的话就是直接覆盖x,y开始的区域(不透明),透明的水印需要orginal value+=watermarker value*transprent valueorginal value为原始值,watermar...原创 2018-03-21 19:19:34 · 2067 阅读 · 0 评论 -
YUV叠加
知道了YUV切割和合并的原理,叠加其实就是覆盖相应位置的数据,如果用或运算符就是混合,前面合并一篇有提及。下面还是使用I420数据,直接上代码。/** src1: background yuv* src2: source yuv* w1: src1 width* h1: src1 height* w2: src2 width* h2: src2 height* x,y: s...原创 2019-06-02 12:53:47 · 1269 阅读 · 0 评论 -
YUV切割
YUV分割原理是对Y、U、V三个分量分别处理。以下使用I420做例子列举出左右、上下、切块三种方式,原理都一样。不画图直接上代码。左右切割:void CutLR(const char* src1, int w, int h){ int w1 = w / 2, w2 = w - w1; int h1 = h, h2 = h; char* cut_L = new char[...原创 2019-06-02 12:41:47 · 798 阅读 · 0 评论 -
音视频同步阀值
做音视频同步的时候可能都会碰到一个问题,要达到理想的效果阀值到底设置多大,这是个经验值还是有数据依据,我想到很多人都有这个疑惑。最近看到一篇文章写到这个问题,而且据说是有RFC做背书的。文章中提出了一个阀值及几种情况下的效果。其中提到以下三点值得参考。1. 无法察觉:音频和视频的时间戳差值在:-100ms ~ +25ms 之间。2. 能够察觉:音频滞后了 100ms 以上,或者超前了 2...原创 2019-04-25 15:01:15 · 785 阅读 · 0 评论 -
SRT协议
https://en.wikipedia.org/wiki/Secure_Reliable_Transporthttps://github.com/Haivision/srt原创 2018-08-02 10:59:15 · 6454 阅读 · 0 评论 -
Flash html5 mse介绍
We’ve been hearing that Flash is dead since Apple introduced the iPad back in 2010. Yet it’s still the predominant technology used by premium websites, particularly those that are ad-supported. This i...原创 2018-08-02 10:51:19 · 332 阅读 · 0 评论 -
视频直播中抖动和延迟的区别
英文原文:https://www.callstats.io/2018/03/07/difference-between-jitter-and-latency/翻译:https://zhuanlan.zhihu.com/p/35256015原创 2018-07-11 22:36:38 · 820 阅读 · 0 评论 -
视频直播秒开背后的技术与优化经验
[摘要]在视频直播中,首屏打开速度直接关系到用户体验,而这背后蕴含着许多技术点与实践经验,其中Group of Picture(GoP)设置、缓存参数优化格外关键。本文根据迅达云SpeedyCloud工程副总裁李雨来在见云沙龙的分享整理而成。 在视频直播中,首屏打开速度直接关系到用户体验,而这背后蕴含着许多技术点与实践经验,其中Group of Picture(GoP)设置、缓存参数优化格外关键...转载 2018-07-11 22:34:45 · 485 阅读 · 0 评论 -
TS流PAT/PMT详解
http://www.cnblogs.com/shakin/p/3714848.htmlhttps://blog.youkuaiyun.com/kkdestiny/article/category/1553561 https://blog.youkuaiyun.com/cabbage2008/article/details/49871441https://en.wikipedia.org/wiki/Pac...原创 2018-07-16 17:26:42 · 921 阅读 · 0 评论 -
两个经典的RGB与YUV转换函数
转自:http://www.cnblogs.com/chuncn/archive/2009/03/31/1425638.html 目前研究视频解码及显示,用到这个。如有侵权将立即删除。#include "convert.h"// Conversion from RGB转载 2011-08-09 09:57:13 · 896 阅读 · 0 评论 -
各种RGB和YUV相互转换的代码
转自: http://www.cnblogs.com/chuncn/archive/2009/03/31/1425646.html 1、用查表的方法实现相互转换,代码可以参考“点对点视频会议程序VideoNet”2、用C语言定点乘加运算实现,代码参转载 2011-08-09 09:59:23 · 1087 阅读 · 1 评论 -
PSIA与ONVIF:如何评估两种视频监控标准
本文转自:http://www.rosoo.net/a/201108/14811.html 作者:Ajit Dubey 据IPVideoMarket.info网站称,IP网络视频监控产品的销量在2010至2012年间会增长两倍。另外据Frost & Sullivan 报转载 2011-09-08 10:17:02 · 2844 阅读 · 0 评论 -
ffmpeg编译选项汇总
编译禁用“jack” 和 “crystalhd” :--disable-crystalhd--disable-indev=jack===========================================================http://blog.chinaunix.net/uid-24868917-id-120539.html在控制转载 2015-01-30 17:57:18 · 10092 阅读 · 0 评论 -
iPhoneOS7.0.sdk ffmpeg 移植
转摘地址首先要安装gas-preprocessor1)到https://github.com/yuvi/gas-preprocessor下载gas-preprocessor安装包2)解压安装包3)复制gas-preprocessor.pl到/usr/local/bin下4)chmod 777 /usr/local/bin/gas-preprocessor.pl转载 2014-01-02 21:34:19 · 1636 阅读 · 0 评论 -
RTP打包发送H.264
原文地址:http://blog.youkuaiyun.com/wangjiannuaa/article/details/6694831[cpp] view plaincopyprint?#include #include #include #include #include #pragma comment(转载 2013-10-28 11:41:05 · 720 阅读 · 0 评论 -
ffmpeg函数介绍
地址:http://blog.youkuaiyun.com/balderfan/article/details/7459849本文对在使用ffmpeg进行音视频编解码时使用到的一些函数做一个简单介绍,我当前使用的ffmpeg版本为:0.8.5,因为本人发现在不同的版本中,有些函数名称会有点小改动,所以在此有必要说明下ffmpeg的版本号。ffmpeg本人也是刚接触,本文将采用累加的转载 2013-10-26 11:46:59 · 806 阅读 · 0 评论 -
视频码率,帧率和分辨率的联系与区别
原文地址视频码率,帧率和分辨率到底哪一个影响电影的清晰度码率:影响体积,与体积成正比:码率越大,体积越大;码率越小,体积越小。码率就是数据传输时单位时间传送的数据位数,一般我们用的单位是kbps即千位每秒。也就是取样率(并不等同与采样率,采样率的单位是Hz,表示每秒采样的次数),单位时间内取样率越大,精度就越高,处理出来的文件就越接近原始文件,但是文转载 2013-08-01 13:48:54 · 991 阅读 · 0 评论 -
bit rate / frame rate /sample rate等等
原文地址码率:Bit Rate,指视频或音频文件在单位时间内使用的数据流量,该参数的单位通常是Kbps,也就是千比特每秒。通常2000kbps~3000kbps就已经足以将画质效果表现到极致了。码率参数与视频文件最终体积大小有直接性的关系。 (编码码率---软件) 混合码率:Overall Bit Rate,指视频文件中视频和音频混合后的整体平均码率。一般描述一个视频文件的码率都是指转载 2013-01-11 09:27:52 · 1664 阅读 · 0 评论 -
常见音视频格式大全
转自:http://blog.youkuaiyun.com/vblittleboyContents[hide]1 MPEG 系列1.1 MPEG-11.2 MPEG-21.3 MPEG-41.4 MPEG-4 AVC1.5 MPEG Audio Layer 1/21.6 MPEG Audio Layer 31.7 MPEG-2 AAC1.8 MPEG转载 2011-11-02 09:17:12 · 1343 阅读 · 0 评论 -
DirectShow组件原理分析及应用 .
本文转自:http://blog.youkuaiyun.com/szu030606/article/details/5938007 1 DirectX简介 DirectX是Microsoft公司为游戏和其他高性能多媒体应用所提供的一套底层应用程序编程接口。这些接口包括对转载 2011-09-08 10:27:10 · 688 阅读 · 0 评论 -
YUV数据样本
这里面很多yuv样本,qcif, cif,720等。记下以后可以使用。http://media.xiph.org/video/derf/原创 2015-03-13 11:53:44 · 692 阅读 · 0 评论 -
P2P Libjingle介绍
地址:http://www.cppblog.com/peakflys/category/20361.html原创 2015-07-17 10:18:08 · 943 阅读 · 0 评论 -
rtmp推送h264及aac
近日实现了rtmp协议推送H264帧及aac,准备找个时间详细描述一下实现过程及注意点。原创 2015-12-04 10:53:52 · 824 阅读 · 0 评论 -
YUV的图像格式
YUV格式 为了方便后面叙述,图片的大小定义为:w * h,宽高分别为w和h 一、YUV420格式先Y,后V,中间是U。其中的Y是w * h,U和V是w/2 * (h/2)如果w = 4,h = 2,则:yyyyyyyyuuvv内存则是:yyyyyyyyuuvv需要占用的内存:w * h * 3 / 2采样规律是:每个像素点都采样Y,寄数行采样1转载 2014-07-03 19:09:45 · 702 阅读 · 0 评论 -
ffmpeg编译shell
转载地址#!/bin/bashROOT_PATH=`pwd`/`dirname "$0"`LIB_PATH=$ROOT_PATH/ffmpeg_buildif [ ! -s $ROOT_PATH/ffmpeg/libswscale ] ; thenln -sf ../libswscale/ $ROOT_PATH/ffmpeg/libswscalefi转载 2014-12-04 11:16:46 · 792 阅读 · 0 评论 -
ffmpeg编译 for ios
最近在为ios做ffmpeg64位库,自己写了个mak效果不是很理想,这其中在网上翻阅了很多资料,下面记下这些我认为很有意义的部分。由此可以类推到win32,android的ffmpeg库生成。1.https://github.com/kewlbear/FFmpeg-iOS-build-script这个估计是韩国人写得,是我找的几个中非常好得,自动化程度很高,一键搞定,避免了自原创 2015-01-30 10:28:30 · 3379 阅读 · 2 评论 -
AAC编码规格
AAC(Advanced Audio Coding) 编码9种规格:MPEG-2 AAC LC低复杂度规格(Low Complexity)MPEG-2 AAC Main主规格MPEG-2 AAC SSR可变采样率规格(Scaleable Sample Rate)MPEG-4 AAC LC低复杂度规格(Low Complexity)MPEG-4 AAC Main主规格MPEG-4 AAC S原创 2015-04-10 09:51:41 · 1058 阅读 · 0 评论 -
yuv420存储为JPG
最近在做yuv存储为Jpg,这个涉及到jpg的编码压缩,是非常耗性能的,我们目前多用于手机上,在IOS上是通过将yuv 420转为rgb565->rgb8888然后通过oc提供的函数存储为jpg,整个比较繁琐,具体没有去关注性能,一直这么用着。android上面我们是直接转rgb存储为bmp,图片较大。所以想搞成统一的,网上都说libjpeg-turbo性能高于libjpeg,他们的网站也是这原创 2015-05-09 17:45:32 · 9124 阅读 · 2 评论 -
windows下编译ffmpeg
最近在想编译windows上使用的ffmpeg,但是又不想使用ffmpeg官方上的现成,网上说没有导入库lib,具体我也没有去看。下面说说我在编译中遇到的问题。总结网上一般的步骤是这样的:1.你要去管网下载一份ffmpeg最新的代码。2.官网下载安装minGW。安装后注意将x:\MinGW,x:\MinGW\msys\1.0\bin加入系统环境变量中。3.官网下载yasm,原创 2015-07-31 15:53:54 · 1437 阅读 · 0 评论