流媒体
文章平均质量分 77
maikforever
码工,曾就值搜狐,360,acer 等公司
展开
-
留下记忆 2011 年,搜狐做的搜狐视频安卓播放器引擎。
负责搜狐视频移动客户端播放引擎开发。 创建搜狐安卓移动客户端引擎从外包到有的过程, 实现了基于 ffmpeg 的播控底层和 JAVA 端的显示层的代码从 0 框架设计到开发上线。 支持公司片源播放m3u8,ts,hls等播放需求, 支持网络播放和本地点播需求。 高效率跨平台设计,目前是适配安卓,适配支持 windows 等其它平台。 支持 armv7, armvfp,arm原创 2014-05-27 11:38:28 · 1862 阅读 · 6 评论 -
手机视频监控系统
手机视频监控系统是通过用户的手机随时随地来观看远程监控点的视频。那么手机视频监控是如何实现的呢?整套系统是基于互联网而运行的,通过在某个地方安置的监控摄像机拍摄,并将拍摄的视频画面经过视频服务器压缩处理后上传到互联网中,通过网络传输到监控中心的视频监控服务器,然后使用手机上网的方式,登陆到视频监控服务器然后获得监控资源列表,然后可以选择监控的视频。当用户进入到监控画面是还能简单的控制远端的云台,保转载 2012-03-14 16:20:57 · 2162 阅读 · 0 评论 -
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 · 1083 阅读 · 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 · 865 阅读 · 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 · 2636 阅读 · 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 · 1373 阅读 · 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 · 2429 阅读 · 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 · 651 阅读 · 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 · 1654 阅读 · 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 · 1150 阅读 · 0 评论 -
VLC 命令行控制参数--转载
VLC 命令行控制参数2009-09-22 22:14 VLC播放器可以通过命令行方式启动,并通过参数控制各项设置。这项功能在windows环境下听起来好像没什么意思。确实,如果你只是使用VLC做为普通播放器确实没什么意义,但是如果你使用VLC做二次开发就很有意义了?什么没懂?看后面的文档,没准我会说的... 使用VLC.exe -h转载 2012-03-04 19:19:41 · 2289 阅读 · 0 评论 -
最简单的DDRAW C代码实现(只支持YUV420数据)
#include #include #pragma comment(lib, "dxguid.lib")IDirectDraw7 *pIDirectDraw7;IDirectDrawSurface7 *pIDirectDrawSurface7Primary;IDirectDrawSurface7 *pIDirectDrawSurface7OffScreen;DD转载 2012-03-01 20:39:05 · 871 阅读 · 0 评论 -
某省交通厅高速公路巡逻监控方案(组图)
随着信息可视化技术(Visualization)、互联网络技术(Internet)以及多媒体技术(Multimedia)的不断发展,以及与地理信息技术相关的信息处理技术在各行各业更多应用,可以为巡警、消防、犯罪分析领域提供一系列解决方案,使公安系统信息处理方法、手段得以革新和普及。全球定位技术结合地理信息系统经过十余年的发展形成的一个全系列的信息可视化的管理系统,在110、119、犯罪分析、安全防转载 2012-02-20 12:01:00 · 5040 阅读 · 0 评论 -
苹果http视频点播技术
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://rainbird.blog.51cto.com/211214/507958 在写一个基于iphone的应用,主要是用来播放视频的.但是提交给苹果审核的时候却遭到百般刁难.尤其是关于在3G网络上播放视频流的限制: 9.4 Video str转载 2012-04-01 14:17:19 · 926 阅读 · 2 评论 -
Android视频采集+H264编码
编码器使用的是x264的开源库,很容易看懂的简单的封装了一个JNI库编码库在BBS里 CSDN的资源太难用了http://www.eoeandroid.com/viewthread.php?tid=48668&fromuid=110389x264的编译放方法export ARM_ROOT=$ANDROID_NDK_ROOTexport ARM_INC转载 2012-03-23 11:21:39 · 1070 阅读 · 0 评论 -
FLV容器分析1
借用了FlvParse这个工具和UI,结合官方文档分析出来的。此工具挺好,就是不开源,而且对于Metadata Tag的数据也没有精确显示到每一个byte。实际使用当中还出现字段没有完全显示之类的。其中遇到了和作者的一些分歧。所以写下我自己的总结,下面是这个工具的cnblog:http://www.cnblogs.com/xxcainiao/archive/2010/01/转载 2014-01-20 10:53:26 · 1185 阅读 · 0 评论 -
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 · 1224 阅读 · 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 · 1155 阅读 · 0 评论 -
擅自使用 livepolyii_jni 的框架却没有付费的形为。【livepolyii】
如果不能**的话,那我没有什么可以说的了(http://blog.csdn.net/leizuishuai201314/article/details/7387924谈了许久的客户,关键我能**,我tmd的想……)哥们儿,免费为你们也加了几次班了。也冒充过你们公司技术打电话谈合作。又不是你的公司,何必做这种事情。(直通车 http://blog.cs原创 2012-04-01 14:49:06 · 1178 阅读 · 0 评论 -
流媒体:搭建HTTP Live Streaming直播系统
本文转载自:http://blog.csdn.net/nmgfrank/article/details/6955105 最近,需要将苹果的HTTP Live Streaming系统搭建起来。完全没有头绪,故第一步就是学习。一、学习资料官网资料1. http://developer.apple.com/resources/http-str转载 2012-09-02 10:11:57 · 1763 阅读 · 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 · 2414 阅读 · 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 · 1216 阅读 · 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 · 1074 阅读 · 0 评论 -
基于live555的流媒体代理转发服务器
对于并发量并不大而且对性能要求不是很高的流媒体服务器,live555还是很好的选择,下面说一下我所实现的流媒体代理服务器(目前只能实现对H264单视频的转发)代理转发主要分为对RTSP的转发与对RTP/RTCP的转发,尽量做到不破坏原有程序框架,所以还是要将整个代理过程融合于ServerMediaSubsession、Source、Sink的循环中,按照流程,RTSP OPTIONS不需要转载 2012-03-23 10:30:20 · 3080 阅读 · 5 评论 -
庆祝一下,Android视频采集+H264编码成功
编码器使用的是x264的开源库, 很容易看懂的简单的封装了一个JNI库 编码库在BBS里 CSDN的资源太难用了http://www.eoeandroid.com/forum.php?mod=viewthread&tid=52739&extra= x264的编译放方法 export ARM_ROOT=$ANDROID_转载 2012-03-23 11:30:25 · 1526 阅读 · 0 评论 -
安防监控系统 硬盘录像机如何计算硬盘容量
各种分辨率下采用什么样的码流可以获得较好的图像质量 DS-8000HC嵌入式网络硬盘录像机支持多种分辨率,我们一般使用CIF、DCIF、D1三种。在不同的视频分辨率下,我们建议用户采用如下码流设置方式 CIF:512Kbps,在变码率设置下图像质量选择“较好”或“次好” DCIF:768Kbps,在变码率设置下图像质量选择“较好”或“次好” D1:2转载 2012-02-20 10:58:53 · 2766 阅读 · 0 评论 -
IDR(刷新帧)与I帧的一些知识点
IDR帧属于I帧,但是I帧不一定是IDR帧。解码器收到IDR帧时,将驱动器参数块(DPB)清空。而I帧不会。(我自己理解为即把参考帧列表刷新从新更新,就是不再参考idr前面的帧)由此可见,在编码器端,每发一个IDR,就相应地发一个nal。当然在现在的编码中,为了取得更高的图像质量,在一个视频文件中有好多个IDR帧,这些IDR帧把视频文件分成了片,但是每片中第一个帧是IDR,而且仅此一个例如:存转载 2012-02-28 10:17:44 · 1237 阅读 · 0 评论 -
国家开源软件资源库
http://yp.oss.org.cn/software/show_cat.php?cat_id=5基本信息成熟度Dimdim2009-05-191234原创 2011-09-17 22:43:44 · 2377 阅读 · 0 评论 -
利用JRTPLIB库传输视频文件——发送端程序
发送端是嵌入式开发板,芯片为ADI的blackfin系列ADSP-BF537此次发布的发送程序和接收程序是经过测试的。以下为发送端程序,注明下以LOCALTEST宏标注的是自发自收功能模块,现已#undef LOCALTEST了。同时在自发自收部分,我使用了Poll(),说明我没有采用Jthread库来实现多线程,而直接用单线程,即SendPacket一个数据包后,后面用Poll()来轮询原创 2011-06-14 16:09:00 · 1594 阅读 · 2 评论 -
ES PES TS流的区别
编码器出来的信号是ES流 ,复用器是把ES流变成TS流不知道这么理解对不对,还有我想问下数字卫星接收机出来的信号是SDI呢还是什么类型,模拟卫星接收机出来的又是什么类型呢 忽然之间脑袋一团浆糊~~~~请高手解答ES是原始码流,包含视频、音频或数据的连续码流。TS是传输流,是由固定长度为188字节的包组成,含有独立时基的一个或多个节目,适用于误码较多的环境。 在MPEG-2系统中,由原创 2011-06-14 12:16:00 · 2481 阅读 · 0 评论 -
RTP - 视频流广播
这是用RTP(RFC3350)按RFC2550封装MPEG ES流数据的发送程序。学习RTP的路真的辛苦。在网上收集的有关RTP的程序都是那种只负责RTP数据包发送的库,如jrtplib等,他们的DEMO程序都只是用来发发字符串,编编聊天程序,无论是国内还是国外,都没有结合真正的应用的DEMO。其实我的目的很简单,就是写发个视频流服务器,不用复杂,只用把基本原理弄懂,因为这样你才能有的原创 2011-06-15 17:40:00 · 1126 阅读 · 1 评论 -
DirectShow基础编程 最简单的源Filter的编写步骤
1.创建一个空的Dll工程,添加5个空文件分别名为:MyOutputPin.h、MySourceFilter.h、MyOutputPin.cpp、MySourceFilter.cpp和MySourceFilter.def。2.声明两个类,一个是Filter的实现类,一个是输出Pin的实现类,由于是最简单的源Filter,因此Filter只有一个输出Pin。实现的功能是从本地磁盘读取三个图片文件转载 2011-06-09 16:26:00 · 627 阅读 · 0 评论 -
DirectShow中写push模式的source filter流程 + 源代码(内附详细注释)
虽然网上已有很多关于DirectShow写source filter的资料,不过很多刚开始学的朋友总说讲的不是很清楚(可能其中作者省略了许多他认为简单的过程),读者总希望看到象第一步怎么做,第二步怎么做....这样的demo。其实写你的第一个filter是有一定难度的,只要过了这关以后就容易多了。由于最近需要自己写一个push推模式的source filter,加上刚激活了Blog,不好意转载 2011-06-09 10:51:00 · 1462 阅读 · 0 评论 -
如何开发传输过滤器(Transform filter)
要:本篇文档主要讲述了利用Directshow开发传输filter 时应该注意的一些事情。 在开发自己的filter之前,看看DMO(DirectX Media Object)是否满足你的要求,因为DMO可以做许多和filter相同的工作,但是开发DMO比开发filter要简单多了。开发transform filter主要有下面的几个步骤,努力的遵循吧第一步选择一个基类下面的基类适合开发tra原创 2011-06-10 14:44:00 · 699 阅读 · 0 评论 -
Directshow的Filter开发简要步骤
本文以一个Transform Filter为例,一步步整理Transform Filter一般开发步骤。本文的Filter名为GrayFilter,把YUV视频信号转化为灰度信号,造成黑白电视的效果。 1. 配置开发环境 1. VC中在Tools->Options->Directories 设置好DirectX SDK的头文件和库文件路径 2. 编译了基类源转载 2011-06-10 10:02:00 · 607 阅读 · 0 评论 -
SDL入门教程(十三):1、多线程,从动画说起
<br />1.1:简单动画<br /><br /> 游戏离不开动画。我们考虑最简单的情况:将一个角色从一个位置移动到另外一个位置。这个行为表述给电脑就是,将一个surface不断的blit(),从起始位置的坐标,移动到结束位置的坐标。移动速度取决于每次blit()的坐标差和blit()的时间间隔(v = ds/dt )。<br /> 我们来设计一个函数实现这个简单的动画。我们需要的数据有:起始坐标(int beginX, int beginY),结束坐标(int endX, i转载 2011-05-26 23:54:00 · 1168 阅读 · 0 评论 -
directshow 不注册使用filter
最近花了点时间看了看播放器的代码,发现很多的编解码filter跟采集程序中也用到的filter冲突主要是两个使用的版本不一样。。。。。于是到网上搜了下,发现可以不必使用regsvr32 注册filter直接在程序中调用,现在很多流行的播放器都是用这种,比如暴风影音,QQ影转载 2011-10-10 11:07:27 · 814 阅读 · 0 评论 -
[J2ME] 手机看交通监视器实时录像 实现说明
摘要:本文档给出Mobile TrafficCam Viewer的实现说明。第1章 简单描述Mobile TrafficCam Viewer的功能和特别之处。第2章 给出了 Mobile TrafficCam Viewer的下载资源。1背景、功能和特别之处摘要:本章 简单描述Mobile TrafficCam Viewer的背景、功能和特别之处。 1.1. 手机看交通重转载 2011-11-14 20:51:07 · 1960 阅读 · 0 评论 -
HTTP 媒体流架构
HTTP Live媒体流允许您通过普通的Web服务器将实时的或者预先录制的视频和音频发送到运行iOS 3.0及以上版本的设备或者安装了QuickTime X及以后版本的桌面计算机上,并支持加密和用户验证。概述HTTP Live媒体流由三部分组成:服务器组件,分发组件和客户端。服务器组件负责将输入的媒体流进行数字编码,并且以适合发布的格式进行封装,然后准备发布。分转载 2012-02-28 13:55:04 · 1089 阅读 · 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 · 720 阅读 · 0 评论