![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
流媒体
oneboyishappy
这个作者很懒,什么都没留下…
展开
-
ultraedit复制16进制
选中之后右键,有一个16进制选择视图(v),就可以到指定的文档里copy了原创 2012-05-18 10:31:27 · 2769 阅读 · 0 评论 -
vc下配置sdl
2.2:获得VC下的SDL开发库。(Development Libraries) 你可以在SDL的官方主页找到下载。http://www.libsdl.org/download-1.2.php 目前的VC版本,你会发现……找不到VC9的版本。无所谓了,SDL-devel-1.2.13-VC8.zip (Visual C++ 2005 Service Pack转载 2012-05-19 20:54:39 · 2092 阅读 · 0 评论 -
视频文件的容器格式和编码格式
人们设定了不同的视频文件格式来把视频和音频放在一个文件中,以方便同时回放,实际上都是一个容器里面 包裹着不同的轨道。容器是用来区分不同文件的数据类型的,而编码格式则由音视频的压缩算法决定,我们一般所说的文件格式或者是后缀名指的就是文件的容器。对于一种容器,可以包含不同编码格式的一种视频和音频。文件格式(容器): AVI (*.avi) 其含义是Audio Video Interact转载 2012-05-19 15:51:37 · 912 阅读 · 0 评论 -
音视频同步问题
音视频同步问题 音视频流里都包含了播放速率的信息,音频使用采样率来表示,而视频则采用f/s来表示,但是我们却不能简单地用这两个数据来对音视频进行同步,我们需要使用DTS(解码时间戳)和PTS(播放时间戳)这两个数据;我们知道影视数据在存储时,会存在多种帧形式,例如MPEG中就采用了I,B和P,由于B帧的存在使得PTS和DTS存在不同(原因见附录),如图1所示为一个简单的例子;当然真转载 2012-06-10 21:03:57 · 1104 阅读 · 0 评论 -
VC制作bmp图片
也是网上下的一个代码,我测试了一下,ok的,现贴出来一方面为了保存,也是方便网友们找到的概率。 #include #include #include void CreateBmp24(unsigned int width, unsigned int height);int main(int argc, char **argv){ int width;转载 2012-05-24 10:04:00 · 2223 阅读 · 0 评论 -
pcm与a-law音频头互换
/******************************************************************** function: g.711 decoder and encoder ********************************************************************///hyy add 2010.4.9转载 2012-06-14 10:11:28 · 4323 阅读 · 0 评论 -
AVI文件格式解析2
AVI文件格式 2011-09-04 09:51:06| 分类:H264 | 标签: |字号大中小 订阅AVI格式是音频视频交错(Audio Video Interleaved)的英文缩写,它是Microsoft公司开发的一种符合RIFF文件规范的数字音频与视频文件格式,原先用于Microsoft Video for Windows (简称VFW)环境,现转载 2012-06-19 22:26:56 · 3558 阅读 · 0 评论 -
AVI文件格式解析1
AVI(Audio Video Interleaved的缩写)是一种RIFF(Resource Interchange File Format的缩写)文件格式,多用于音视频捕捉、编辑、回放等应用程序中。通常情况下,一个AVI文件可以包含多个不同类型的媒体流(典型的情况下有一个音频流和一个视频流),不过含有单一音频流或单一视频流的AVI文件也是合法的。AVI可以算是Windows操作系统上最基本的、转载 2012-06-19 21:15:41 · 1108 阅读 · 0 评论 -
broken ffmpeg default settings detected" and "use an encoding preset (vpre)"
在编码H264码流时,遇到这样的错误:broken ffmpeg default settings detecteduse an encoding preset (vpre)后来网上百度了原因,才知道,在x264 source file encoder/encoder.c 中:/* Detect default ffmpeg settings and terminate with原创 2012-06-20 16:04:26 · 7285 阅读 · 1 评论 -
undefined reference to `img_convert’的解决方法
ffmpeg4.0以上版本找不到img_convert,查了一下原因,才知道换成了sws_scale,所以原来的img_convert((AVPicture *)pFrameRGB, PIX_FMT_BGR24, (AVPicture*)pFrame,pCodecCtx->pix_fmt, pCodecCtx->width, pCodecCtx->height); 应该改成:s原创 2012-07-05 10:52:16 · 2538 阅读 · 0 评论 -
live555学习4(转)
十一 h264 RTP传输详解(3)书接上回:H264FUAFragmenter又对数据做了什么呢?[cpp] view plaincopyprint?void H264FUAFragmenter::doGetNextFrame() { if (fNumValidDataBytes == 1) { // We have n转载 2012-12-28 17:40:14 · 2553 阅读 · 0 评论 -
live555学习1(转)
摘自:http://blog.csdn.net/nkmnkm/article/details/6906055(对live555感兴趣的friends可以加群:3744371)一直想研究live555,没有时间,终于因为项目的原因可以深入无间地研究一下了.所以在此著文以记之.一 如何编译live555利用mingw环境很容易:在live555文件夹下,genMakefiles转载 2012-12-28 17:25:15 · 2723 阅读 · 0 评论 -
live555学习3(转)
九 h264 RTP传输详解(1)前几章对Server端的介绍中有个比较重要的问题没有仔细探究:如何打开文件并获得其SDP信息。我们就从这里入手吧。当RTSPServer收到对某个媒体的DESCRIBE请求时,它会找到对应的ServerMediaSession,调用ServerMediaSession::generateSDPDescription()。generateSD转载 2012-12-28 19:20:10 · 1126 阅读 · 0 评论 -
live_media_代码阅读笔记
DynamicRTSPServer::creatnew(): 1。调用继承自RTPSever::setUpOurSocket: 1。调用 GroupsockHelper 的 setupStreamSocket创建一个socket连接,并绑定, 2。设置socket的发送缓存大小, 3。调用listen开始监听端口,设置同时最大能处理转载 2012-12-30 10:06:26 · 690 阅读 · 0 评论 -
wireshark Lua
抓取一个包含H.264 Payload RTP包的SIP会话或RTSP会话后,用Wireshark的Play功能只能播放声音,不能播放视频。把RTP payload直接导出成文件后也是不能直接播放的,因为H.264 over RTP封包是符合RFC3984规范的,必须按照该规范把H.264数据取出来后,组成NALU,放到avi/mp4或裸码流文件等容器里后才能播放。 本人写了一个wir转载 2013-10-22 22:55:17 · 1902 阅读 · 1 评论 -
客户端代码接不到IPNC码流,recvfrom()返回值总为-1?
遇到这个问题,可能很多人第一反应可能是socket通信机制出了问题,我也那么想的,可是老查不出原因。。。后来把电源拔了重插后,wistreamer没起来,于是我进到/opt/ipnc中,中终端输入:./wistreamer $这样就接到码流了,呵呵。。。原创 2012-06-02 11:47:36 · 1628 阅读 · 0 评论 -
关于MPEG4 码流(mpeg4 raw data)的格式分析
MPEG4码流开头往往如下: 00 00 01 B0 F5 00 00 01 B5 09 00 00 01 00 00 00 01 20 08 86 84 00 3F 18 58 21 20 A3 1F 00 00 01 B2 58 76 69 44 30 30 36 32 00 00 01 B6 其格式为: MP4V转载 2012-05-31 20:11:45 · 1200 阅读 · 0 评论 -
关于RTP时间戳及多媒体通信同步的问题
多媒体通信同步方法,主要有时间戳同步法、同步标记法、多路复用同步法三种。下面主要讨论时间戳同步法,特别是RTP时间戳同步。内容包括RTP媒体间同步的实现,为什么需要RTCP的NTP时间来实现媒体间同步?没有RTCP,能实现RTP媒体间的同步吗?DirectShow时间戳和RTP时间戳的区别,MPEG2-TS流的时间戳等。本文只简单讨论时间戳同步的原理,不涉及具体的实现方法,如音频帧和视频帧时间戳的转载 2012-04-25 16:15:24 · 807 阅读 · 0 评论 -
把网页上的网关改了,流就消失了?
把网页上的网关改了,wis-streamer就消失了? 原因:网关改了,DNS识别不了,便变为默认值0.0.0.0 解决方法:进入网页,把网关、DNS改回同一网段,重启终端便o了原创 2011-10-19 19:26:47 · 654 阅读 · 0 评论 -
网页上设置时间时,若与计算机同步,则画面消失,而只会出现时间,原因?
网页上设置时间时,若与计算机同步,则画面消失,而只会出现时间,原因? 因为文件系统内的时间是有限的,所以必须改回2002年以前。原创 2011-11-08 12:32:30 · 537 阅读 · 0 评论 -
怎么判断一帧的开始
一帧可能有几个SLICE的!你要把所有的SLICE定位出来,然后再找到每个SLICE的起始宏块的地址,地址为0的话就是一帧开始了! 的确,除去sps和pps,单纯从0x0000000101和0x0000000105来看,直接是看不出帧的边界的,只是一个个的slice的边界罢了,但是一个slice的起始宏块的地址是0,则代表该slice是一帧的第一个slice,故也就是一帧的开始了。 当原创 2011-11-08 16:29:36 · 1361 阅读 · 0 评论 -
AVC/H.264 Profile
AVC/H.264 Profile AVC/H.264定义了4种不同的Profile(类):Baseline(基线类), Main(主要类), Extended(扩展类)和High Profile(高端类)(它们各自下分成许多个层):- Baseline Profile 提供I/P帧,仅支持progressive(逐行扫描)和CAVLC - Extended Profile转载 2011-12-12 16:26:50 · 1014 阅读 · 0 评论 -
live555+ffmpeg如何提取关键帧(IPB帧)
摘自:http://blog.csdn.net/linzhiji/article/details/5393647live555+ffmpeg如何提取关键帧(I帧,P帧,B帧)开发流媒体播放器的时候,特别是在windows mobile,symbian(S60)平台开发时,很可能遇到需要自己开发播放器的情况。S60平台提供了CVideoPlayUtility接口可以实现流媒体播放器,但转载 2011-12-12 16:57:58 · 3487 阅读 · 0 评论 -
JM86、X264、T264、FFMPEG编解码器评测
关于三种profile的解释从应用角度看,H.264有三个层次,分为主要用于电视会议等通信的基本层次,面向高画质用途和录像的主层次以及面向内容配送的扩展层次。各层次的清晰度和编码速度取值不同。基本层次(baseline profile)的主要技术为图像只含有I帧,P帧,支持帧内和帧间编码,系统内有环路滤波,1/4帧间预测,4:2:0 YUV格式输入,基于VLC的纠错编码(CAVLC),弹性转载 2011-12-13 14:23:08 · 1930 阅读 · 0 评论 -
P,B,I三种帧介绍
P,B,I三种帧介绍在针对连续动态图像编码时,将连续若干幅图像分成P,B,I三种类型,P帧由在它前面的P帧或者I帧预测而来,它比较与它前面的P帧或者I帧之间的相同信息或数据,也即考虑运动的特性进行帧间压缩。P帧法是根据本帧与相邻的前一帧(I帧或P帧)的不同点来压缩本帧数据。采取P帧和I帧联合压缩的方法可达到更高的压缩且无明显的压缩痕迹。在H.264编码中,I帧是内部编码转载 2011-12-12 16:48:19 · 4473 阅读 · 1 评论 -
逐行扫描(Progressive scanning),隔行扫描(interlace scanning),场
“场”的详细分析对于初学DVD制作的人来说,“场”是一个很重要的概念。只有认识了它才能做好DVD,消除制作完后在电视上看时出现的闪、抖等问题。我将坛上大家的讨论整理一下发上来,希望对初学者有所帮助。一、首先了解帧率与场频的来历发明电视之前已经有了电影,电影的帧率为24格画面/秒。为了提高电视的流畅,不象电影那么闪烁,电视提高到60个画面/秒钟(NTSC),但由于电视带宽的问转载 2011-12-16 11:12:24 · 4969 阅读 · 2 评论 -
判断H264码流的关键帧
关键帧就是I frame: 最简单的办法是找0x65或0x25(I frame启始位),或者去找0x67或0x27(SPS)和0x68或0x28(PPS)后面的完整包。SPS和PPS后面必然跟着I frame。原创 2012-02-15 15:56:10 · 9637 阅读 · 3 评论 -
vc6.0设置SDL
搞了两天,终于把SDL配置成功了,这效率也太低了,可能是开始方法不对吧。。。对了,在下载SDl包时,若是在vc6.0下测试,最好下载SDL-1.2.14版本,然后照着下面的步骤就OK了。。。 1.解压SDL的Development Libraries 压缩包,将解压后的lib文件夹里的SDL.lib SDLmain.lib拷贝到VC6.0安装目录的lib文件夹下面.PS:SDL开发原创 2012-03-26 15:41:44 · 2521 阅读 · 0 评论 -
帧,片,NALU
http://blog.csdn.net/zhymxt/article/details/6654891图像、帧、片、NALU 是学习 H.264的人常常感到困惑的一些概念,我在这里对自己的理解做一些阐述,欢迎大家讨论:H.264 是一次概念的革新,它打破常规,完全没有 I 帧、P帧、B 帧的概念,也没有 IDR帧的概念。对于 H.264中出现的一些概念从大到小排序依次是:序列、图像转载 2012-03-10 21:06:41 · 1593 阅读 · 0 评论 -
YUV格式详细解释与FFMPEG的关系
YUV主要的采样格式 主要的采样格式有YCbCr 4:2:0、YCbCr 4:2:2、YCbCr 4:1:1和 YCbCr 4:4:4。其中YCbCr 4:1:1 比较常用,其含义为:每个点保存一个 8bit 的亮度值(也就是Y值), 每 2x2 个点保存一个 Cr 和Cb 值, 图像在肉眼中的感觉不会起太大的变化。所以, 原来用 RGB(R,G,B 都是 8bit unsigned)转载 2012-03-29 17:09:14 · 772 阅读 · 0 评论 -
在windows下编译FFMPEG-最新2009版本
.首先还是要先安装MSYS(注意,要先安装MSYS,后安装MINGW)到http://sourceforge.net/projects/mingw/files/这里下载一个最新版的exe文件就可以了,以前的可能要自己去下载一些乱七八糟的不知道是什么的,现在只需要到 MSYS base System 文件夹下下载一个最新的exe安装文件,这个是minimum的安装文件。我下载的是MSYS-1转载 2012-03-29 15:31:47 · 1112 阅读 · 0 评论 -
做一个自己的sleep(),减少延时误差
void MySleep(int interval){HANDLE evt;evt = CreateEvent(NULL, TRUE, FALSE, NULL);WaitForSingleObject(evt, interval);CloseHandle(evt);}原创 2012-03-29 15:37:44 · 1116 阅读 · 0 评论 -
PCM文件简介
Monday, 02 June 2008 16:37 非洲饿鱼 PCM文件:模拟音频信号经模数转换(A/D变换)直接形成的二进制序列,该文件没有附加的文件头和文件结束标志。Windows的Convert工具可以把PCM音频格式的文件转换成Microsoft的WAV格式的文件。脉冲编码调制PCM文件格式简介将音频数字化,其实就是将声音数字化。最常见的方式是透过脉冲编码调制PC转载 2012-04-03 10:38:08 · 3023 阅读 · 1 评论 -
h264和mpeg4的起始码
1. H.264起始码在网络传输h264数据时,一个UDP包就是一个NALU,解码器可以很方便的检测出NAL分界和解码。但是如果编码数据存储为一个文件,原来的解码器将无法从数据流中分别出每个NAL的起始位置和终止位置,为此h.264用起始码来解决这一问题。H.264编码时,在每个NAL前添加起始码 0x000001,解码器在码流中检测到起始码,当前NAL结束。为了防止NAL内部出现0x00转载 2012-04-07 09:31:46 · 1265 阅读 · 0 评论 -
G711和h264的同步
G.711的帧长为10ms,位速率为64kbps,也即是8kBps,即1s传输8000个字节,RTP打包时 ,对于音频包,每个包封装1000个字节,即0x03f4,所以1s内会发送8个这样的音频包,由于音频的始终频率为8000Hz,所以每两个音频包间的时间戳差为1000Hz;而视频包时钟频率为90000Hz,1秒钟25帧图像,所以每两帧的时间戳差为3600Hz.原创 2012-04-25 15:55:23 · 2643 阅读 · 0 评论 -
FLV文件格式官方规范详解
FLV文件主要由两部分组成:header和body。1.headerheader部分记录了flv的类型、版本等信息,是flv的开头,一般都差不多,占9bytes。具体格式如下:文件类型 3 bytes “FLV” 版本 1 byte 一般为0x01 流信息 1 byte 倒数第一位是1表示有视频,倒数第三位是1表示有音频,倒数第二、四位必须为...转载 2017-03-14 11:31:13 · 1802 阅读 · 0 评论