
流媒体
文章平均质量分 77
maikforever
码工,曾就值搜狐,360,acer 等公司
展开
-
留下记忆 2011 年,搜狐做的搜狐视频安卓播放器引擎。
负责搜狐视频移动客户端播放引擎开发。 创建搜狐安卓移动客户端引擎从外包到有的过程, 实现了基于 ffmpeg 的播控底层和 JAVA 端的显示层的代码从 0 框架设计到开发上线。 支持公司片源播放m3u8,ts,hls等播放需求, 支持网络播放和本地点播需求。 高效率跨平台设计,目前是适配安卓,适配支持 windows 等其它平台。 支持 armv7, armvfp,arm原创 2014-05-27 11:38:28 · 1918 阅读 · 6 评论 -
C++实现RTMP协议发送H.264编码及AAC编码的音视频,摄像头直播
RTMP(Real Time Messaging Protocol)是专门用来传输音视频数据的流媒体协议,最初由Macromedia 公司创建,后来归Adobe公司所有,是一种私有协议,主要用来联系Flash Player和RtmpServer,如FMS, Red5, crtmpserver等。RTMP协议可用于实现直播、点播应用,通过FMLE(Flash Media Live Encoder转载 2014-01-21 10:34:46 · 1254 阅读 · 0 评论 -
FLV容器分析1
借用了FlvParse这个工具和UI,结合官方文档分析出来的。此工具挺好,就是不开源,而且对于Metadata Tag的数据也没有精确显示到每一个byte。实际使用当中还出现字段没有完全显示之类的。其中遇到了和作者的一些分歧。所以写下我自己的总结,下面是这个工具的cnblog:http://www.cnblogs.com/xxcainiao/archive/2010/01/转载 2014-01-20 10:53:26 · 1203 阅读 · 0 评论 -
用开源nginx-rtmp-module搭建flash直播环境
用开源nginx-rtmp-module搭建flash直播环境 2012-10-16 12:05:00| 分类: ffmpeg|字号 订阅1、将nginx和nginx-rtmp-module的源码包解压PS:nginx-rtmp-module网址https://github.com/arut/nginx-rtmp-module转载 2013-09-22 11:15:50 · 1179 阅读 · 0 评论 -
流媒体:搭建HTTP Live Streaming直播系统
本文转载自:http://blog.youkuaiyun.com/nmgfrank/article/details/6955105 最近,需要将苹果的HTTP Live Streaming系统搭建起来。完全没有头绪,故第一步就是学习。一、学习资料官网资料1. http://developer.apple.com/resources/http-str转载 2012-09-02 10:11:57 · 1813 阅读 · 0 评论 -
FFMPEG解码H264拼帧简解
H264的I帧通常 0x00 0x00 0x00 0x01 0x67 开始,到下一个帧头开始之前是完整一帧.可放入FFMPEG的AVPacket中处理无论是文件流还是网络流,思路是将接收到的数据放入缓冲区,同时开启一个待拼帧的缓冲区1024*1024大小(我的是高清1920*1080,足够)一、寻I帧头//判断H264的I帧数据。返回I帧在本缓冲位置,或-1未找到int _转载 2012-06-18 15:12:47 · 2450 阅读 · 0 评论 -
FLV音频帧信息
#include iostream>#include fstream>using namespace std;typedef struct _FLVHead{ unsigned char flv[3]; unsigned char version; unsigned char FlagsVideo:1; unsigned char Fla转载 2012-05-16 09:51:05 · 1239 阅读 · 0 评论 -
如何计算 一个音视频文件 (.ts)文件 (包含pcr信息). 播放所使用的带宽
以下是计算一个音视频文件,播放所需要带宽的程序:public int getBitrate(String path) { File f = new File(path); if (f.exists()) { int mpegPackets = 0; int getpcr = 0;转载 2012-04-18 14:35:49 · 1097 阅读 · 0 评论 -
擅自使用 livepolyii_jni 的框架却没有付费的形为。【livepolyii】
如果不能**的话,那我没有什么可以说的了(http://blog.youkuaiyun.com/leizuishuai201314/article/details/7387924谈了许久的客户,关键我能**,我tmd的想……)哥们儿,免费为你们也加了几次班了。也冒充过你们公司技术打电话谈合作。又不是你的公司,何必做这种事情。(直通车 http://blog.cs原创 2012-04-01 14:49:06 · 1202 阅读 · 0 评论 -
苹果http视频点播技术
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://rainbird.blog.51cto.com/211214/507958 在写一个基于iphone的应用,主要是用来播放视频的.但是提交给苹果审核的时候却遭到百般刁难.尤其是关于在3G网络上播放视频流的限制: 9.4 Video str转载 2012-04-01 14:17:19 · 942 阅读 · 2 评论 -
DSS转发live555提供的数据
1.DSS的reflect功能 Darwin可以接收RTP数据,进行转发,这个功能官方文档描述为"reflect "。 使用VLC很容易演示这个功能,命令:[plain] view plaincopyprint?vlc -vvv test.mp4 --sout "#dst=rtp{dst=127.0.0.1,port-audio=转载 2012-03-28 20:38:47 · 1119 阅读 · 0 评论 -
苹果http视频点播技术
在写一个基于iphone的应用,主要是用来播放视频的.但是提交给苹果审核的时候却遭到百般刁难.尤其是关于在3G网络上播放视频流的限制:9.4 Video streaming content over a cellular network longer than 10 minutes must use HTTP Live and include a baseline 64 kbps audi转载 2012-03-25 05:50:02 · 904 阅读 · 0 评论 -
vlc没有收到pps和sps
问题 packetizer_h264 packetizer warning: waiting for SPS/PPS是因为解码器只是在第一次执行编码的时候,才编码出 SPS、PPS、和I_Frame; h264 packetizer has set so, that it sends sps/pps only first keyframe, I'm trying to figure转载 2012-03-25 05:46:20 · 2777 阅读 · 0 评论 -
RTP传输H264时的sps和pps的获取
使用RTSP传输H264的时候,需要用到sdp协议描述,其中有两项:Sequence Parameter Sets (SPS) 和Picture Parameter Set (PPS)需要用到,那么这两项从哪里获取呢?答案是从H264码流中获取.在H264码流中,都是以"0x00 0x00 0x01"或者"0x00 0x00 0x00 0x01"为开始码的,找到开始码之后,使用开始码之后的转载 2012-03-25 05:45:18 · 1403 阅读 · 0 评论 -
live555组播H264及sps和pps的问题
出现异常数据0的原因是 传入videoSink->startPlaying() 的 FramedSource 错误 。 原来用 VideoOpenFileSource , 实际是 H264VideoStreamFramer 。关于pps 和 sps有两种方法传给播放器一、发送SDP方式。参数 sprop-parameter-sets 就是 pps sps 的base转载 2012-03-25 05:43:45 · 2522 阅读 · 1 评论 -
H.264 RTP PAYLOAD 格式
H.264 视频 RTP 负载格式1. 网络抽象层单元类型 (NALU)NALU 头由一个字节组成, 它的语法如下: +---------------+ |0|1|2|3|4|5|6|7| +-+-+-+-+-+-+-+-+ |F|NRI| Type | +---------------+F:转载 2012-03-25 05:42:48 · 669 阅读 · 0 评论 -
H264通过RTMP发布 V2.0 (Red5 Wowza 测试通过)
直接上代码 [cpp] view plaincopy// demo.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include extern "C" { #include "../../common/common.h" #include "..转载 2012-03-25 03:31:26 · 1675 阅读 · 0 评论 -
庆祝一下,Android视频采集+H264编码成功
编码器使用的是x264的开源库, 很容易看懂的简单的封装了一个JNI库 编码库在BBS里 优快云的资源太难用了http://www.eoeandroid.com/forum.php?mod=viewthread&tid=52739&extra= x264的编译放方法 export ARM_ROOT=$ANDROID_转载 2012-03-23 11:30:25 · 1549 阅读 · 0 评论 -
Android视频采集+H264编码
编码器使用的是x264的开源库,很容易看懂的简单的封装了一个JNI库编码库在BBS里 优快云的资源太难用了http://www.eoeandroid.com/viewthread.php?tid=48668&fromuid=110389x264的编译放方法export ARM_ROOT=$ANDROID_NDK_ROOTexport ARM_INC转载 2012-03-23 11:21:39 · 1101 阅读 · 0 评论 -
基于live555的流媒体代理转发服务器
对于并发量并不大而且对性能要求不是很高的流媒体服务器,live555还是很好的选择,下面说一下我所实现的流媒体代理服务器(目前只能实现对H264单视频的转发)代理转发主要分为对RTSP的转发与对RTP/RTCP的转发,尽量做到不破坏原有程序框架,所以还是要将整个代理过程融合于ServerMediaSubsession、Source、Sink的循环中,按照流程,RTSP OPTIONS不需要转载 2012-03-23 10:30:20 · 3135 阅读 · 5 评论 -
手机视频监控系统
手机视频监控系统是通过用户的手机随时随地来观看远程监控点的视频。那么手机视频监控是如何实现的呢?整套系统是基于互联网而运行的,通过在某个地方安置的监控摄像机拍摄,并将拍摄的视频画面经过视频服务器压缩处理后上传到互联网中,通过网络传输到监控中心的视频监控服务器,然后使用手机上网的方式,登陆到视频监控服务器然后获得监控资源列表,然后可以选择监控的视频。当用户进入到监控画面是还能简单的控制远端的云台,保转载 2012-03-14 16:20:57 · 2196 阅读 · 0 评论 -
搭建HTTP Live Streaming直播系统
最近,需要将苹果的HTTP Live Streaming系统搭建起来。完全没有头绪,故第一步就是学习。一、学习资料官网资料1. http://developer.apple.com/resources/http-streaming/具体的搭建方案 使用segmenter将现成的视频文件分割,并生成列表文件。1. http://blo转载 2012-03-05 11:24:25 · 1176 阅读 · 0 评论 -
VLC 命令行控制参数--转载
VLC 命令行控制参数2009-09-22 22:14 VLC播放器可以通过命令行方式启动,并通过参数控制各项设置。这项功能在windows环境下听起来好像没什么意思。确实,如果你只是使用VLC做为普通播放器确实没什么意义,但是如果你使用VLC做二次开发就很有意义了?什么没懂?看后面的文档,没准我会说的... 使用VLC.exe -h转载 2012-03-04 19:19:41 · 2375 阅读 · 0 评论 -
最简单的DDRAW C代码实现(只支持YUV420数据)
#include #include #pragma comment(lib, "dxguid.lib")IDirectDraw7 *pIDirectDraw7;IDirectDrawSurface7 *pIDirectDrawSurface7Primary;IDirectDrawSurface7 *pIDirectDrawSurface7OffScreen;DD转载 2012-03-01 20:39:05 · 899 阅读 · 0 评论 -
HTTP 媒体流架构
HTTP Live媒体流允许您通过普通的Web服务器将实时的或者预先录制的视频和音频发送到运行iOS 3.0及以上版本的设备或者安装了QuickTime X及以后版本的桌面计算机上,并支持加密和用户验证。概述HTTP Live媒体流由三部分组成:服务器组件,分发组件和客户端。服务器组件负责将输入的媒体流进行数字编码,并且以适合发布的格式进行封装,然后准备发布。分转载 2012-02-28 13:55:04 · 1121 阅读 · 0 评论 -
IDR(刷新帧)与I帧的一些知识点
IDR帧属于I帧,但是I帧不一定是IDR帧。解码器收到IDR帧时,将驱动器参数块(DPB)清空。而I帧不会。(我自己理解为即把参考帧列表刷新从新更新,就是不再参考idr前面的帧)由此可见,在编码器端,每发一个IDR,就相应地发一个nal。当然在现在的编码中,为了取得更高的图像质量,在一个视频文件中有好多个IDR帧,这些IDR帧把视频文件分成了片,但是每片中第一个帧是IDR,而且仅此一个例如:存转载 2012-02-28 10:17:44 · 1308 阅读 · 0 评论 -
基于mplayer的开发(PART II && III)
PART IIhttp://www.codeproject.com/KB/audio-video/mplayer_AudioDecoder.aspx最新在www.codeproject.com发布的。本文介绍了在Windows下,通过MinGW将mplayer编译为一个单独的DLL库,并导出相应的函数。在VC++中创建工程,通过Win32 API加载DLL中导出的函数,转载 2012-02-28 09:59:44 · 740 阅读 · 0 评论 -
某省交通厅高速公路巡逻监控方案(组图)
随着信息可视化技术(Visualization)、互联网络技术(Internet)以及多媒体技术(Multimedia)的不断发展,以及与地理信息技术相关的信息处理技术在各行各业更多应用,可以为巡警、消防、犯罪分析领域提供一系列解决方案,使公安系统信息处理方法、手段得以革新和普及。全球定位技术结合地理信息系统经过十余年的发展形成的一个全系列的信息可视化的管理系统,在110、119、犯罪分析、安全防转载 2012-02-20 12:01:00 · 5151 阅读 · 0 评论 -
安防监控系统 硬盘录像机如何计算硬盘容量
各种分辨率下采用什么样的码流可以获得较好的图像质量 DS-8000HC嵌入式网络硬盘录像机支持多种分辨率,我们一般使用CIF、DCIF、D1三种。在不同的视频分辨率下,我们建议用户采用如下码流设置方式 CIF:512Kbps,在变码率设置下图像质量选择“较好”或“次好” DCIF:768Kbps,在变码率设置下图像质量选择“较好”或“次好” D1:2转载 2012-02-20 10:58:53 · 2910 阅读 · 0 评论 -
SUSE11下编译Subversion客户端
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://jeremiah.blog.51cto.com/539865/347284 工作需要在SLES11下面编译svn的客户端,支持svn://,http://,https://。编译的有点小郁闷,最终还是通过了。过程记录在此。 1. apr-1.4.2转载 2012-02-10 17:38:43 · 1066 阅读 · 0 评论 -
移动视频监控
对于市场上的视频监控系统,大家都有一定的了解,就是视频采集,经过无线/有线发送到服务或代理,客户从服务或代理上得到视频/音频流。不复杂。 对于不远的将来,3G,4G的到来,对移动的业务有一个推动,监控自然有了称动的一个特性,废话少说,先说说一般常用的架构。客户端采集->通过无线数据网->服务器->移动客户端(手机)取得视频流, 可行性:技术环节纵观: 采集端:转载 2011-12-21 11:16:10 · 1199 阅读 · 0 评论 -
H264 mpeg2,4 frame
一般在开头有一个单元分隔符NAL,两个单元分隔符之间的数据包就是一帧图像。就是00 00 01 09,这个09就是单元分隔符的标志。不过协议并没有说NAL流必须如此组织,可能还有其它的组织形式。我手头的H264文件都是这样组织的。 H264的字节流确实没有帧的概念.具体原因请仔细研读协议. 这个要看你怎么理解了。和MPEG2、MPEG4相比,H.264字节流中帧的形式发生了变化。以转载 2011-12-13 10:31:43 · 707 阅读 · 0 评论 -
C# 视频监控系列 序 [完]
前言 对于视频监控系统大家应该是不陌生的,实施的路况信息、地铁、银行柜台、大型商场、监狱等等场景都能看到它的影子。而当前关于视频监控的开发仍然是以VC++和Delphi为主,本系列文章将完整展示从采购到用C# WinForm技术实现所有功能和步骤。 注意 本系列文章限于学习交流,注重过程,由于涉及公司,所以不提供源代码下载,非常抱歉!!但是请大家放心转载 2011-11-28 12:56:25 · 1084 阅读 · 0 评论 -
H.264 Profile、Level、Encoder三张简图
标签:Encoder Profile Level H.264原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://xcshen.blog.51cto.com/2835389/552669H.264有四种画质级别,分别是BP、EP、MP、HP: 1、BP-Baseline Profile:基本画质。支持转载 2011-11-24 16:46:11 · 846 阅读 · 0 评论 -
开发视频监控系统纪实 13 穿越局域网
很多文章介绍了UCP打洞之类的,但是他们都需要一个在公网的服务器,我没有钱,只能折中。参考了DOTMSN的类库,我决定采用MSN作为中转(类似一个socket),然后就可以穿越局域网了。当Server接受到client的命令之后,就采取行动,例如截图,然后发送回来。 我现在的解决方案就是: client通过msn发送getjpegserver转载 2011-11-23 14:10:36 · 772 阅读 · 0 评论 -
自己动手实现纯Web远程监控系统(纯Web,跨浏览器)
想不想能够在网上看到自己家里的情况?罗技的网络摄像头又贵效果又不好,而且就只能摆一个死角度,而且页面上要安装插件,专业的监控系统死贵死贵,而且还是要用插件或者专门的软件,甚至有的还有端口限制,防火墙穿透能力极差。我们现在的目标就是在有限的资金投入下实现一个纯Web(没有专用插件),跨浏览器,支持摄像头的控制(水平270度,垂直210度,带变焦)的远程监控系统。甚至还能支持拍照和录像功能。首转载 2011-11-23 14:07:55 · 1272 阅读 · 1 评论 -
[J2ME] 手机看交通监视器实时录像 实现说明
摘要:本文档给出Mobile TrafficCam Viewer的实现说明。第1章 简单描述Mobile TrafficCam Viewer的功能和特别之处。第2章 给出了 Mobile TrafficCam Viewer的下载资源。1背景、功能和特别之处摘要:本章 简单描述Mobile TrafficCam Viewer的背景、功能和特别之处。 1.1. 手机看交通重转载 2011-11-14 20:51:07 · 2043 阅读 · 0 评论 -
mp4文件格式解析(四)
5、Free Space Box(free或skip) “free”中的内容是无关紧要的,可以被忽略。该box被删除后,不会对播放产生任何影响。6、Meida Data Box(mdat) 该box包含于文件层,可以有多个,也可以没有(当媒体数据全部为外部文件引用时),用来存储媒体数据。数据直接跟在box type字段后面,具体数据结构的意义需要参考me转载 2011-11-11 14:05:42 · 944 阅读 · 0 评论 -
YUV相关色彩空间模型
2.1 YUV 与 YIQ YcrCb 对于YUV模型,实际上很多时候,我们是把它和YIQ / YCrCb模型混为一谈的。 实际上,YUV模型用于PAL制式的电视系统,Y表示亮度,UV并非任何单词的缩写。 YIQ模型与YUV模型类似,用于NTSC制式的电视系统。YIQ颜色空间中的I和Q分量相当于将YUV空间中的UV分量做了一个33度转载 2011-11-08 13:21:42 · 1765 阅读 · 0 评论 -
directshow 不注册使用filter
最近花了点时间看了看播放器的代码,发现很多的编解码filter跟采集程序中也用到的filter冲突主要是两个使用的版本不一样。。。。。于是到网上搜了下,发现可以不必使用regsvr32 注册filter直接在程序中调用,现在很多流行的播放器都是用这种,比如暴风影音,QQ影转载 2011-10-10 11:07:27 · 834 阅读 · 0 评论