网络视频
loaLakers
这个作者很懒,什么都没留下…
展开
-
绝对像素px和相对像素dp的转换
在xml布局文件中,我们既可以设置px(也就是所谓的绝对像素),也可以设置dp或者dip(相对像素)。一般情况下,我们都会选择使用dp,这样可以保证不同屏幕分辨率的机器上布局一致。但是在代码中,如何处理呢?很多控件的方法中都只提供了设置px的方法,例如setPadding,并没有提供设置dp的方法。这个时候,如果需要设置dp的话,就要将dp转换成px了。以下是一个专门提供的类,方便进行px和dp之转载 2015-10-08 13:46:26 · 1672 阅读 · 0 评论 -
使用nginx+nginx-rtmp-module+ffmpeg搭建流媒体服务器笔记(十)
第十部分 -- 开发板测试前几天已经分别将nginx和ffmpeg移植到了开发板上面,但是还是没有进行任何的测试并不知道移植后的效果如何。今天分别做了两个测试,证明移植的结果是可用的。1、测试ffmpeg对于nginx的测试在移植完成后就已经进行过了,当然就是简单的能够显示nginx欢迎界面而已,但是对我来讲,nginx能用就行,并没有对他进行深一步的测试。但是对于ff原创 2015-03-12 15:16:53 · 2073 阅读 · 1 评论 -
YUV格式分析
Andrew Huang 转载请注明作者及联络方式 在摄像头之类编程经常是会碰到YUV格式,而非大家比较熟悉的RGB格式. 我们可以把YUV看成是一个RGB的变种来理解. YUV的原理是把亮度与色度分离,研究证明,人眼对亮度的敏感超过色度。利用这个原理,可以把色度信息减少一点,人眼也无法查觉这一点。 YUV三个字母中,其中"Y"表示明亮度(Lumi转载 2015-03-12 14:20:33 · 797 阅读 · 0 评论 -
使用nginx+nginx-rtmp-module+ffmpeg搭建流媒体服务器笔记(九)
第九部分---项目ffmpeg命令解析前面已经看到了ffmpeg在ARM开发板上执行给出的提示信息:usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...参照前面在PC机linux操作系统上完成同样的任务执行的命令ffmpeg -i rtsp://admin:12原创 2015-03-11 14:42:54 · 1366 阅读 · 0 评论 -
使用nginx+nginx-rtmp-module+ffmpeg搭建流媒体服务器笔记(八)
第八部分---FFmpeg移植到Android最近这几天一直在搞FFmpeg的Android移植,我的目标是在Linux上对FFmpeg进行交叉编译最终得到可以push到Android目录下执行的ffmpeg可执行文件。为了达到这个目的,完成对FFmpeg的移植,我可以说是查遍了几乎所有网络文章,试遍了网上的各种方法,但最终还是出现各种各样的错误,真是蛋蛋碎了一地阿!刚刚开始试验的时候原创 2015-03-10 14:33:33 · 3183 阅读 · 1 评论 -
Android调用shell脚本并获得输出
前段时间做的HLS流媒体服务器可以正常工作了,但是它的启动需要在PC机命令行中进行或者在Android下载个Terminal IDE软件,在Android上使用命令行运行,这也不是很方便,于是我要做一个Android的APP,在程序中开启服务器,达到点击一个按钮就能启动的效果。直接上代码:class MyThreadStart extends Thread { public voi原创 2015-03-20 16:03:49 · 5449 阅读 · 0 评论 -
使用nginx+nginx-rtmp-module+ffmpeg搭建流媒体服务器笔记(七)
第七部分之前已经将标准版的Nginx移植到了ARM开发板上面并且运行成功,而我的目的是要利用FFMPEG和NGINX来实现HLS视频直播,所以还需要在此基础上添加nginx-rtmp-module模块。有了之前的移植经验,有些工作就好做一些了,但是还是遇到很多的问题,记录下:1、用到的源码包android-nginx : https://bitbucket.org/ntak原创 2015-03-05 09:47:06 · 2865 阅读 · 1 评论 -
使用nginx+nginx-rtmp-module+ffmpeg搭建流媒体服务器笔记(六)
第六部分前几天一直被移植到ARM开发板上的nginx启动的问题困扰,在ARM开发板上启动时不是出现nginx: [emerg] getgrnam("nogroup") failed (2: No such file or directory)就是出现/system/bin/sh: ./nginx: cannot execute - Permission denied 使用命令原创 2015-03-04 11:22:52 · 2646 阅读 · 0 评论 -
Nginx 战斗准备 —— 优化指南
大多数的Nginx安装指南告诉你如下基础知识——通过apt-get安装,修改这里或那里的几行配置,好了,你已经有了一个Web服务器了!而且,在大多数情况下,一个常规安装的nginx对你的网站来说已经能很好地工作了。然而,如果你真的想挤压出nginx的性能,你必须更深入一些。在本指南中,我将解释Nginx的那些设置可以微调,以优化处理大量客户端时的性能。需要注意一点,这不是一个全面的微调指南。这是一转载 2015-03-03 17:02:26 · 730 阅读 · 0 评论 -
什么是公有IP地址?什么是私有IP地址?及各自范围介绍
什么是公有IP地址(公网IP):组建一个企业级网络,需要去向“电信运营商ISP”申请一个接入Internet的宽带,同时ISP还会给我们分配一个或多个IP地址,这些IP地址可以供我们企业内部上网,这些ISP分配给我们的IP,就是公有IP。公有地址(Public address,也可称为公网地址)由Internet NIC(Internet Network Informati转载 2015-03-03 21:03:11 · 7796 阅读 · 1 评论 -
Nginx RTMP 模块 nginx-rtmp-module 指令详解
译序:截至 Jul 8th,2013 官方公布的最新 Nginx RTMP 模块 nginx-rtmp-module 指令详解。指令Corertmp语法:rtmp { ... }上下文:根描述:保存所有 RTMP 配置的块。server语法:server { ... }上下文:rtmp描述:声明一个 RTMP 实例。rtmp { server {转载 2015-03-13 15:26:17 · 2196 阅读 · 0 评论 -
使用nginx+nginx-rtmp-module+ffmpeg搭建流媒体服务器笔记(十一)
第十一部分--延时优化上次测试流媒体服务器的时候,Android系统chrome浏览器测试hls协议时延时35s。虽然由于HLS的特性决定了,使用HLS协议来做视频直播延时很大,但是35s的延时还是不能让人接受,35s足够让人家抢劫完事了。所以要对这个系统进行优化:1、首先要了解HLS延时的机制,也就是为什么会延时,延时主要发生在什么地方。HTTP Live Streaming原创 2015-03-13 15:40:26 · 3888 阅读 · 2 评论 -
关于H.264 x264 h264 AVC1之间的那些事
1. H.264是MPEG4的第十部分,是一个标准。对头,国际上两个视频专家组(VCEG和MPEG)合作提出的标准,两个专家组各有各的叫法,所以既叫H.264,也叫AVC。2.x264是一个编码器,他参照的标准是H.264。对头,H.264是需要付费的编码格式,而x264是符合H.264标准的一个开源项目,是免费的,也就是H264的一个简化版,不支持某些高级特性。但x264非常优秀,并不比原创 2015-10-08 14:24:31 · 6188 阅读 · 2 评论 -
Nginx限制带宽配置示例
这篇文章主要介绍了Nginx限制带宽配置示例,本文网罗了3个方法,希望可以帮到大家,需要的朋友可以参考:示例一:复制代码代码如下:http { limit_rate 25k; #每个连接的速度限制 limit_zone to_vhost $server_name 1m;转载 2015-09-30 16:39:23 · 5905 阅读 · 0 评论 -
Android手机实时视频监控
最近手机安装了一个“千里眼”和千里眼家居远程监控的应用,对里面的实时监控交通路口的状态有点好奇。以是使用相应的方法反编译看看她的原理。对于软件“千里眼”,经过代码的翻看,发现采用的是VideoView中访问RTSP实时视频流的思路实现的。反编译后的代码String str = getIntent().getStringExtra("rtsp");if (转载 2015-05-20 09:25:01 · 15803 阅读 · 8 评论 -
FFmpeg截图和录像
使用FFmpeg可将一段视频流中截取图像和录制一段时长的视频:1、截图命令./ffmpeg -i rtsp://admin:12345@192.168.1.55 -s 368x208 -y -f image2 /mnt/sdcard/images1.png 2、录像(1分钟)./ffmpeg -y -i rtsp://admin:12345@192.168.1.55 -vcod原创 2015-05-11 14:56:43 · 4826 阅读 · 0 评论 -
HLS点播--FFmpeg接收udp视频流
看到有网友问到,FFmpeg接收udp视频流实现HLS直播的方法,我这里由于没有UDP的直播源就用VLC将一个MP4文件生成UDP视频流来代替直播流。1、确认Nginx安装配置成功支持HLS,具体过程可参考我以前博客。2、使用VLC生成UDP视频流3、FFmpeg接收udp流转换成RTMP视频流推送到Nginx上ffmpeg -i udp://192.168.1.110:123原创 2015-04-09 11:07:48 · 9841 阅读 · 11 评论 -
从ffmpeg源代码分析如何解决ffmpeg编码的延迟问题
[cpp] view plaincopy-rwxr-xr-x 1 6560 2014-12-25 10:44 duration.c* -rw-r--r-- 1 2410694 2014-12-25 10:07 onvif.h -rw-r--r-- 1 11308204 2014-12-25 10:14 soapC.c -rw-r--转载 2015-04-20 15:20:39 · 2018 阅读 · 0 评论 -
RTSP视频测试地址
1、rtsp://184.72.239.149/vod/mp4://BigBuckBunny_175k.mov一段动画片2、rtsp://218.204.223.237:554/live/1/66251FC11353191F/e7ooqwcfbqjoo80j.sdp拱北口岸珠海过澳门大厅原创 2015-04-03 10:18:44 · 51792 阅读 · 18 评论 -
海康威视(Hikvision)大规模代码执行漏洞 数万监控设备存风险
1. 更新情况2014年11月19日,海康威视(Hikvision)监控设备被爆严重漏洞,具体编号为CVE-2014-4878、CVE-2014-4879和CVE-2014-4880。这三个漏洞都是由于Hikvision监控设备对RTSP(实时流传输协议)请求处理不当导致的,通过该漏洞攻击者可以对设备进行DoS,甚至直接获取设备的最高权限。2. 漏洞概要a) 漏洞描述海转载 2015-04-01 09:57:42 · 30967 阅读 · 2 评论 -
HTTP Live Streaming直播(iOS直播)技术分析与实现
HTTP Live Streaming直播(iOS直播)技术分析与实现 不经意间发现,大半年没写博客了,自觉汗颜。实则2012后半年,家中的事一样接着一样发生,实在是没有时间。快过年了,总算忙里偷闲,把最近的一些技术成果,总结成了文章,与大家分享。 前些日子,也是项目需要,花了一些时间研究了HTTP Live Streaming(HLS)技术,并实现了一个HLS编码器HLSLiveE转载 2015-03-31 09:53:50 · 1087 阅读 · 0 评论 -
REAL210(V6.2)开发板简介
前面一直在做移植工作,用到的arm开发板是广州润尔的REAL210(V6.2)开发板Android版本在此对此开发板做一下简单的介绍:1、软件特性1.1 Bootloader 版本:u-boot-1.3.4 ·支持cramfs/yaffs镜像烧写 ·支持100M以太网下载 ·支持USB下载 ·支持NAND FLASH启动 ·支持SD启动 ·支持通过SD卡原创 2015-03-15 13:38:35 · 1946 阅读 · 0 评论 -
ffmpeg RTMP
1、ffmpeg 推送视频文件,音视频的编码格式只能为H264、AAC。 ffmpeg -re -i "E:\片源\复仇者联盟720p.mov" -vcodec copy -acodec copy -f flv rtmp://192.168.11.75/live/test1 ffmpeg -re -i "E:\片源\复仇者联盟720p.mov" -vcodec copy -a转载 2015-01-25 19:57:19 · 2155 阅读 · 0 评论 -
光端机是什么玩意儿
光端机主要应用在视频监控领域。光端机主要作用就是延长传输距离,让信号传输的更远。比如在一座大型公园的很多角落都安装了监控摄像头,工程师要把摄像头拍摄到得图像传到显示器上,让工作人员从监控室看到所监控的位置的图像。你想一想这套装置,在公园很大而监控室就只有一个的情况下,从每个摄像头到显示器都有一段距离,或长或短,距离短的也就是离监控室近的只有50米,距离长的有1200米。整套装置都用原创 2014-12-09 15:56:02 · 1099 阅读 · 0 评论 -
帧率、码流与分辨率的关系
帧率是每秒图像的数量,一帧就是一副静止的画面,连续的帧就形成动画,如电视图象等。我们通常说帧数,简单地说,就是在1秒钟时间里传输的图片的帧数,也可以理解为图形处理器每秒钟能够刷新几次,通常用fps(Frames Per Second)表示。每一帧都是静止的图象,快速连续地显示帧便形成了运动的假象。高的帧率可以得到更流畅、更逼真的动画。每秒钟帧数 (fps) 愈多,所显示的动作就会愈流畅。原创 2014-11-14 15:20:46 · 6497 阅读 · 0 评论 -
H.264编码的介绍
H.264编码的介绍关键技术 1.帧内预测编码 帧内编码用来缩减图像的空间冗余。为了提高H.264帧内编码的效率,在给定帧中充分利用相邻宏块的空间相关性,相邻的宏块通常含有相似的属性。因此,在对一给定宏块编码时,首先可以根据周围的宏块预测(典型的是根据左上角宏块、左边宏块和上面宏块,因为此宏块已经被编码处理),然后对预测值与实际值的差值进行编码,这样,相对于直接对该帧编转载 2014-12-03 17:03:21 · 2291 阅读 · 0 评论 -
减少VLC 延迟的方法
之前写过一篇关于在Linux平台上编译android平台上VLC播放器源代码的文章,vlc这款播放器非常优秀而且是开源的,它的核心是开源视频编解码库ffmpeg。而且这款播放器还支持RTSP协议,这个主要是用开源的live555来实现的,live555这个库以后还需要认真研习。一:PC端(Windows平台)VLC播放RTSP视频延迟问题解决前几天用PC平台上的VLC播放RTSP流媒体时延转载 2014-11-20 17:31:34 · 4224 阅读 · 1 评论 -
网络视频传输协议--RTP/RTCP/RTSP/SIP/SDP 之间关系
RTP/RTCP/RTSP/SIP/SDP 关系1、 RTPReal-time Transport Protocol,是用于Internet上针对多媒体数据流的一种传输层协议。RTP协议详细说明了在互联网上传递音频和视频的标准数据包格式。RTP协议常用于流媒体系统(配合RTCP协议),视频会议和一键通(Push to Talk)系统(配合H.323或SIP),使它成为IP电话产业的技术基础原创 2014-12-04 11:06:09 · 12747 阅读 · 0 评论 -
使用nginx+nginx-rtmp-module+ffmpeg搭建流媒体服务器笔记(一)
第一部分主要步骤及命令记录:1、下载nginx,地址http://nginx.org/en/download.html,选择最新版本下载、解压。当前最新版为:nginx-1.7.9。2、为了增加对rtmp的支持,下载nginx-rtmp-module,地址:https://github.com/arut/nginx-rtmp-module#example-nginxconf,这个是个开原创 2015-01-27 19:33:33 · 29531 阅读 · 12 评论 -
使用nginx+nginx-rtmp-module+ffmpeg搭建流媒体服务器笔记(二)
第二部分1、昨天已经把网络摄像机的rtsp视频流成功利用FFmpeg和Nginx转换成rtmp流推送到了nginx视频服务器上面,并且通过vlc可以观看到直播视频。今天继续昨天的工作,将rtsp的视频流推送到Nginx上面,客户端根据hls协议使用http在网页进行观看(推送的仍然是rtmp视频流),关于hls,先给一小段简单介绍:HTTP Live Streaming(HLS)是苹果原创 2015-01-28 14:27:40 · 8999 阅读 · 13 评论 -
海康、大华IpCamera RTSP地址和格式
海康:rtsp://[username]:[password]@[ip]:[port]/[codec]/[channel]/[subtype]/av_stream说明:username: 用户名。例如admin。password: 密码。例如12345。ip: 为设备IP。例如 192.0.0.64。port: 端口号默认为554,若为默认可不填写。codec:有h26转载 2014-11-20 17:02:27 · 2888 阅读 · 0 评论 -
各种音视频编解码学习详解 h264 ,mpeg4 ,aac 等所有音视频格式
编解码学习笔记(一):基本概念媒体业务是网络的主要业务之间。尤其移动互联网业务的兴起,在运营商和应用开发商中,媒体业务份量极重,其中媒体的编解码服务涉及需求分析、应用开发、释放license收费等等。最近因为项目的关系,需要理清媒体的codec,比较搞的是,在豆丁网上看运营商的规范 标准,同一运营商同样的业务在不同文档中不同的要求,而且有些要求就我看来应当是历史的延续,也就是现在已转载 2014-12-02 21:08:32 · 2057 阅读 · 0 评论 -
使用nginx+nginx-rtmp-module+ffmpeg搭建流媒体服务器笔记(三)
第三部分这几天实验室搬家,闹腾的,刚刚进入状态。接着调试,客户端浏览器根据hls协议使用http在网页进行观看直播视频,期间遇到一些小问题,记录下。1、昨天测试的时候,遇到一个情况,就是在无论在PC机还是移动端浏览器观看视频的时候,总是出现画面丢失现象,烦人得很。控制台也显示丢包现象严重得很。可以看出,丢包现象到了很严重的地步。看着都糟心。此时使用的命令是:ffmp原创 2015-02-04 10:01:12 · 4319 阅读 · 4 评论 -
ffmpeg常用参数
转自:http://blog.chinaunix.net/uid-342902-id-2416123.html具体的录音、屏幕录制、格式转换、抓取音频的例子请看我的另一篇blog,这里记点参数备查。基本选项:-formats输出所有可用格式-f fmt指定格式(音频或视频格式)-i filename指定输入文件名,在linux转载 2015-02-04 10:22:49 · 863 阅读 · 1 评论 -
FFMPEG视音频编解码零基础学习方法
在CSDN上的这一段日子,接触到了很多同行业的人,尤其是使用FFMPEG进行视音频编解码的人,有的已经是有多年经验的“大神”,有的是刚开始学习的初学者。在和大家探讨的过程中,我忽然发现了一个问题:在“大神”和初学者之间好像有一个不可逾越的鸿沟。“大神”们水平高超,探讨着深奥的问题;而初学者们还停留在入门阶段。究竟是什么原因造成的这种“两极分化”呢?最后,我发现了问题的关键:FFMPEG难度比较大,转载 2015-01-26 10:06:14 · 1092 阅读 · 0 评论 -
ffmpeg+ffserver媒体服务搭建小记
linux pc机下的配置:1、首先编译好ffmpeg,主要有ffmpeg、ffserver、ffplay三个主要可执行文件,具体编译这里就不详细说明了2、准备好摄像头,作为输入文件,采集摄像头数据(当然用视频文件代替摄像头也行,不过没啥意思)3、配置ffserver.conf文件,下面是我的配置#基本信息设置Port 8090BindAddress 0.0.0.0转载 2015-01-25 15:09:21 · 2770 阅读 · 0 评论 -
使用nginx+nginx-rtmp-module+ffmpeg搭建流媒体服务器笔记(五)
第五部分前段时间,在Ubuntu上面搭建起来了能支持HLS的流媒体服务器,最终目标是在arm的开发板上搭建这样的流媒体服务器。现在工作只是做了一小部分,正在进行移植,记录下来,方便以后继续干。1、首先是要移植nginx到arm的开发板上面。这个其实有人已经做过了,可以使用别人的工程。https://bitbucket.org/ntakimura/android-nginx/src/原创 2015-02-12 15:54:09 · 2021 阅读 · 2 评论 -
“硬解码”与“软解码”的区别
☆什么是“软解码”,什么又是“硬解码”呢? 我们在计算机上播放的视频文件都是经过压缩的,因为这样有利于节约存储空间;那么在播放过程,就需要进行一个反射的解压缩过程。在以前这项工作都是由CPU来完成的,对于普通分辨率的AVI、RMVB等文件,绝大多数的CPU都可以胜任;但是发展到高清视频(1080i/p)之后,数据解压缩的工作量比以前翻了数倍,这让很多处理器叫苦不迭。 随着技术的转载 2015-01-04 20:08:17 · 4840 阅读 · 0 评论 -
视频解码优化
以下通过剖析一些经验来了解视频解码优化1 在嵌入式系统中实现MPEG4的视频解码有两种方法可行(1)采用ffmpeg(mplayer 的核心就是采用ffmpeg),然后对ffmpeg mp4解码优化1)对IDCT汇编化,并优化VLD的实现 ->inline&汇编化2)根据ARM9 cache & cache line的大小做MB的分组,使得每次可以同时处理多个MB转载 2015-01-04 11:08:10 · 1109 阅读 · 0 评论 -
音视频编解码代码优化方法
1、内联函数格式: 操做内联函数交流复杂的C发言法式:即便用直接对应汇编指令的库函数去真现C代码,可以或许除夜除夜劣化。 好比 for(i = 0; i tmp1[i] = tmp2[i]; 可操做战简朴的memcpy(tmp2, tmp1, N*sizeof(type));去交流,可以或许除夜除夜进步匝弄效力。 内联函数既可以转载 2015-01-04 11:14:16 · 1704 阅读 · 0 评论