Linux
ygmdream
为人处世!
展开
-
基于linux-2.6.35的网络视频服务器移植
http://blog.csdn.net/shulianghe/article/details/8207710作者:曹忠明,华清远见嵌入式学院讲师。一、环境主机环境 :ubuntu 10.10 目标机 :FS2410(S3C2410) 主机工具链 :gcc-4.4.5 交叉工具链 :arm-none-li转载 2014-03-20 20:10:52 · 1029 阅读 · 0 评论 -
VLC 请求m3u8报错(vlc访问m3u8文件-3)
问题:.m3u8' 的格式无法被检测。请查看日志获取详细信息。 VLC 无法识别输入格式:原创 2014-05-08 10:51:27 · 8294 阅读 · 1 评论 -
阳光梦:nginx上搭建HLS流媒体服务器 (4)-参考
简介:HTTP Live Streaming(缩写是 HLS)是一个由苹果公司提出的基于HTTP的流媒体 网络传输协议。是苹果公司QuickTime X和iPhone软件系统的一部分。它的工作原理是把整个流分成一个个小的基于HTTP的文件来下载,每次只下载一些。当媒体流正在播放时,客户端可以选择从许多不同的备用源中以不同的速率下载同样的资源,允许流媒体会话适应不同的数据速率转载 2014-04-16 16:58:37 · 2132 阅读 · 0 评论 -
HTTP请求格式和http响应格式
当浏览器向Web服务器发出请求时,它向服务器传递了一个数据块,也就是请求信息,HTTP请求信息由3部分组成:l 请求方法URI协议/版本l 请求头(Request Header)l 请求正文下面是一个HTTP请求的例子:GET/sample.jspHTTP/1.1Accept:image/gif.image/jpeg,*/*Accept-Lang转载 2014-05-09 14:29:21 · 1020 阅读 · 0 评论 -
H264中的SPS、PPS提取与作用-2
vlc没有收到pps和sps2010-10-08 16:16问题 packetizer_h264 packetizer warning: waiting for SPS/PPS是因为解码器只是在第一次执行编码的时候,才编码出 SPS、PPS、和I_Frame; h264 packetizer has set so, that it sends sps/pps o转载 2014-04-25 20:41:29 · 2180 阅读 · 0 评论 -
H264中的SPS、PPS提取与作用-3
解析sps,pps的代码在ffmpeg里面就有, 抄出来就行了, 我以前也自己写过...ffmpeg的libavcodec/h264_parser.c,h264_ps.c函数ff_h264_decode_seq_parameter_setff_h264_decode_picture_parameter_set自己可以看代码.H264参数语法文档: S转载 2014-04-25 20:50:17 · 1353 阅读 · 2 评论 -
H264中的SPS、PPS提取与作用-1
牛逼的视频会议网站:++++++++++++++++++++++++++++++++++++++++++++++++++++) 和Picture Parameter )需要用到,那么这两项从哪里获取呢?答案是从H264码流中获取.在H264码流中,都是以"0x00 0x00 0x01"或者"0x00 0x00 0x00 0x01"为开始码的,找到开始码之后,使用开始转载 2014-04-25 20:39:04 · 1300 阅读 · 0 评论 -
linux开启swap(磁盘缓存)操作
由于工作需要,要帮助同事查看linux服务器的缓存开启情况,经过查找资料,可确定通过以下方法确定Linux磁盘缓存是否已开启。1.命令行下执行free命令,当显示如下红框内的信息(swap)时,说明swap处于启用状态此时注意,开启时total和free处均有值。2.命令行下执行swapoff -a,关闭swap3.此时执行free命令转载 2014-04-26 14:41:15 · 20300 阅读 · 0 评论 -
C++中的单例模式
http://blog.csdn.net/boyxiaolong/article/details/6645681转载 2014-04-27 10:07:25 · 574 阅读 · 0 评论 -
crontab介绍 + 小示例 + crontab不执行的原因
转自:http://blog.csdn.net/ustcgy/article/details/52750961.Cron的启动与关闭由于Cron是Linux的内置服务,可以用以下的方法启动.关闭这个服务:/sbin/service crond start //启动服务/sbin/service crond stop //关闭服务转载 2014-05-12 15:29:55 · 498 阅读 · 0 评论 -
Linux C语言 获取本机(所有网卡)IP地址(IPV4)
1、根据ioctl机制打印当前所有网卡代码:#include #include #include #include #include #include int get_local_ip(char *ip){ int fd, intrface, retn = 0;转载 2014-04-28 18:38:51 · 13779 阅读 · 3 评论 -
Nginx配置文件详细说明(vlc访问m3u8文件-2)
http://www.cnblogs.com/xiaogangqq123/archive/2011/03/02/1969006.htmlNginx配置文件详细说明在此记录下Nginx服务器nginx.conf的配置文件说明, 部分注释收集与网络.#运行用户user www-data; #启动进程,通常设置成和cpu的数量相等worker_process转载 2014-05-08 10:29:24 · 7154 阅读 · 2 评论 -
Ubuntu下安装nginx(vlc访问m3u8文件-1)
apt-get install nginxUbuntu安装之后的文件结构大致为:所有的配置文件都在/etc/nginx下,并且每个虚拟主机已经安排在了/etc/nginx/sites-available下程序文件在/usr/sbin/nginx日志放在了/var/log/nginx中并已经在/etc/init.d/下创建了启动脚本nginx默认的虚拟主机的目原创 2014-05-08 09:24:08 · 1846 阅读 · 1 评论 -
使用ffmpeg和nginx搭建一个简易的HLS服务器(2)-参考
参考:http://idadu.org/wordpress/使用ffmpeg和nginx搭建一个简易的hls服务器/转载 2014-04-16 15:11:56 · 2268 阅读 · 0 评论 -
Http Live Streaming 实现iphone在线播放视频(1)-参考
转载请注明出处:http://hi.baidu.com/lphack/blog/item/aa02f27a4de055e80bd187fa.html本人新手,难免会出错,请各位指点! 最近要做一个项目,是通过iphone来播放工厂摄像头录制的视频达到监控设备的目的,要求可以实现点播和直播对于视频流的操做其实一无所知,但是老同事给我开了一个头,给了我几篇文章,关于苹果转载 2014-04-16 14:36:09 · 1483 阅读 · 0 评论 -
HTTP Live Streaming直播(iOS直播)技术分析与实现(5)-参考
http://www.cnblogs.com/haibindev/archive/2013/01/30/2880764.html转载 2014-04-16 17:31:17 · 980 阅读 · 0 评论 -
H264 获取SPS与PPS(附源码)
原文链接:http://blog.csdn.net/zgyulongfei/article/details/7538523在用Android手机进行h264硬编码的时候如果要进行视频流的实时传输与播放,就需要知道视频流的Sequence Parameter Sets (SPS) 和Picture Parameter Set (PPS)。今天算是看明白如何获取SPS和PP转载 2014-03-20 20:40:55 · 943 阅读 · 0 评论 -
udt-问题解决
Q:when my client computers connect server, 1 or 2 computers always say "abort for security reasons". i cannot find any firewall in the computer,and other computer is right.please do me a favor原创 2014-03-20 19:12:13 · 1891 阅读 · 0 评论 -
linux文件权限详解
一、文件和目录权限概述在linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录。通过设定权限可以从以下三种访问方式限制访问权限:只允许用户自己访问;允许一个预先指定的用户组中的用户访问;允许系统中的任何用户访问。同时,用户能够控制一个给定的文件或目录的访问程度。一个文件活目录可能有读、写及执行权限。当创建一个文件时,系统会自动地赋予文件所有者转载 2014-03-22 11:45:26 · 775 阅读 · 0 评论 -
Linux下Gcc生成和使用静态库和动态库详解(转)
一、基本概念1.1什么是库在windows平台和linux平台下都大量存在着库。本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。由于windows和linux的平台不同(主要是编译器、汇编器和连接器的不同),因此二者库的二进制是不兼容的。本文仅限于介绍linux下的库。 1.2库的种类linux下的库有转载 2014-05-03 20:43:17 · 714 阅读 · 0 评论 -
C/C++编译过程
C/C++编译过程 C/C++编译过程主要分为4个过程 1) 编译预处理 2) 编译、优化阶段 3) 汇编过程 4) 链接程序 一、编译预处理 (1)宏定义指令,如#define Name TokenString,#undef等。 对于前一个伪指令,预编译所要做的是将程序中的所有Name用TokenString替换, 但转载 2014-05-04 15:59:42 · 826 阅读 · 0 评论 -
M3U8格式讲解及实际应用分析
http://blog.csdn.net/langeldep/article/details/8603045转载 2014-04-19 15:48:14 · 1485 阅读 · 0 评论 -
Linux服务器安全策略详解 TCP/IP四层模型和OSI七层模型
http://www.linuxidc.com/Linux/2009-05/19942p2.htm1.1.2 TCP/IP四层模型和OSI七层模型表1-1是 TCP/IP四层模型和OSI七层模型对应表。我们把OSI七层网络模型和Linux TCP/IP四层概念模型对应,然后将各种网络协议归类。表1-1 TCP/IP四层模型和OSI七层模型对应表OSI转载 2014-05-30 14:17:09 · 883 阅读 · 0 评论 -
在Linux下串口信息的读取有了一点心得体会
1. 打开串口 与其他的关于设备编程的方法一样,在Linux下,操作、控制串口也是通过操作起设备文件进行的。在Linux下,串口的设备文件是/dev/ttyS0或/dev/ttyS1等。因此要读写串口,我们首先要打开串口: char *dev = "/dev/ttyS0"; //串口1 int fd = open( dev, O_RDWR ); //转载 2014-08-20 16:36:47 · 2153 阅读 · 0 评论 -
gcc-4.6变为gcc-4.4的方法
一、先gcc -v知道版本 再apt-get install gcc-4.6; apt-get install g++-4.6二、 删除gcc的软连接文件/usr/bin/gcc(只是删除软连接) 命令:rm /usr/bin/gcc 然后建一个软连接,指向gcc-4.4。 命令:ln -s /usr/bin/gcc-4.原创 2014-02-12 14:23:31 · 2132 阅读 · 0 评论 -
size_t 类型
size _t 为了增强程序的可移植性,便有了size_t ,不同系统上,定义size_t可能不一样。经测试发现,在32位系统中size_t是4字节的,在64位系统中,size_t是8字节的,这样利用该类型可以增加程序移植性。size_t的定义 它的定义在/usr/include/linux/types.h typedef _k转载 2015-11-25 20:36:06 · 718 阅读 · 0 评论 -
c语言 #define 中的UL
U和L是 整数文字量的后缀修饰,用于显示指明整数文字量的类型为unsigned int(U)和long int(L)。 类似的还有浮点数文字量的后缀修饰F或f,用于指明文字量表示的是一个float,而不是默认情况下的double。经常发现一些C语言中通过#define 定义的数据中包含有UL符号,不理解为什么,把他去掉发现也没有什么区别。现在才明白UL是标记该宏长整型 十进制 数据转载 2015-11-30 17:03:34 · 846 阅读 · 0 评论 -
linux内核-锁机制
在linux内核中,有很多同步机制。比较经典的有原子操作、spin_lock(忙等待的锁)、mutex(互斥锁)、semaphore(信号量)等。并且它们几乎都有对应的rw_XXX(读写锁),以便在能够区分读与写的情况下,让读操作相互不互斥(读写、写写依然互斥)。而seqlock和rcu应该可以不算在经典之列,它们是两种比较有意思的同步机制。1. atomic(原子操作-不能被打断)所转载 2015-12-19 16:15:21 · 5749 阅读 · 0 评论 -
读写锁
读写锁是用来解决读者写者问题的,读操作可以共享,写操作是排他的,读可以有多个在读,写只有唯一个在写,同时写的时候不允许读。具有强读者同步和强写者同步两种形式强读者同步:当写者没有进行写操作,读者就可以访问;强写者同步:当所有写者都写完之后,才能进行读操作,读者需要最新的信息,一些事实性较高的系统可能会用到该所,比如定票之类的。读写锁的操作:读写锁的初始化:转载 2016-04-05 10:48:44 · 991 阅读 · 0 评论 -
使用autoconf和automake生成Makefile文件
Makefile好难写曾经也总结了一篇关于Makefile的文章《 make和makefile的简单学习 》。但是,总结完以后,发现写Makefile真的是一件非常痛苦的事情,的确非常痛苦。而更痛苦的是当需要将代码移植到别的系统上时,这就够你喝一壶的。再说了,作为程序员的我们,是不是更应该投入更多的精力到业务逻辑的编写与处理中呢,而并不是和Makefile纠结呢。他们是怎么做到的?转载 2016-05-16 20:00:32 · 821 阅读 · 0 评论 -
互斥锁和条件变量
互斥锁和条件变量http://www.cnblogs.com/Anker/archive/2013/01/09/2852442.html 为了允许在线程或进程之间共享数据,同步时必须的,互斥锁和条件变量是同步的基本组成部分。1、互斥锁 互斥锁是用来保护临界区资源,实际上保护的是临界区中被操纵的数据,互斥锁通常用于保护由多个线程或多进程分享的共享数据。一般是一些可供线程间使用的全转载 2016-07-16 15:50:02 · 674 阅读 · 0 评论 -
巧用linux服务器下的/dev/shm/,避开磁盘IO不给力!
摘要: 巧用linux服务器的/dev/shm/,如果合理使用,可以避开磁盘IO不给力,提高网站访问速度。至于tmpfs的其他应用,我想大家可能通过这篇文章会有所启发。巧用linux服务器的/dev/shm/,如果合理使用,可以避开磁盘IO不给力,提高网站访问速度。首先让我们认识一下,什么是tmpfs和/dev/shm/?tmpfs是Linux/Unix系统上的一种基于内存转载 2016-09-11 17:41:16 · 1337 阅读 · 0 评论 -
基于tmpfs使用mongoDB
基本思想将MongoDB用作内存数据库(in-memory database),也即,根本就不让MongoDB把数据保存到磁盘中的这种用法,引起了越来越多的人的兴趣。这种用法对于以下应用场合来讲,超实用:置于慢速RDBMS系统之前的写操作密集型高速缓存嵌入式系统无需持久化数据的PCI兼容系统需要轻量级数据库而且库中数据可以很容易清除掉的单元测试(unit testing)如果这一切转载 2016-09-11 17:53:55 · 713 阅读 · 0 评论 -
jmeter性能测试使用示例
jmeter是一个简单开源的纯Java的性能测试工具。今天学习了jmeter使用了下jmeter,使用起来非常简单。 如果我们要对163的首页性能进行简单测试,我们可以按照以下步骤进行。 1.在测试计划里面创建一个线程组,在这个线程组下这个线程组的线程数,也就是并发用户数,循环次数每个并发用户的请求数。参数 ramp-up period 用于告知JMeter 要在多长时间内建立全部的线程。转载 2016-12-20 17:41:06 · 559 阅读 · 0 评论 -
TCP三次握手连接及seq和ack号的正确理解
三次握手Three-way Handshake一个虚拟连接的建立是通过三次握手来实现的1. (B) –> [SYN] –> (A)假如服务器A和客户机B通讯. 当A要和B通信时,B首先向A发一个SYN (Synchronize) 标记的包,告诉A请求建立连接.注意: 一个 SYN包就是仅SYN标记设为1的TCP包(参见TCP包头Resources). 认...转载 2018-03-13 20:20:36 · 4218 阅读 · 0 评论 -
realloc 用法
realloc 原型:extern void *realloc(void *mem_address, unsigned int newsize); 用法:#include 有些编译器需要#include 功能:改变mem_address所指内存区域的大小为newsize长度。 说明:如果重新分配成功则返回指向被分配内存的指针,否则返回空指针NULL。 当内存不再使用时,应使转载 2015-09-11 10:50:42 · 726 阅读 · 0 评论 -
Ubuntu系统进程绑定CPU核
本文讲述如何在Ubuntu系统中,把指定的进程绑定到指定的CPU核运行。而通常是由操作系统负责管理进程和线程的调度,但是这种情况下是不清楚由哪个CPU核运行你的进程,因为操作系统的调度是基于资源的可用性进行判断的。可以这样,把指定的CPU核绑定到你的进程。taskset -cp 下面用一个简单的例子来说明怎样做到。1. CPU利用率达100%的样例代码:clas转载 2015-08-21 20:19:01 · 1299 阅读 · 0 评论 -
setsockopt函数--设置connect超时
http://blog.csdn.net/eroswang/article/details/4819444转载 2014-09-19 14:02:43 · 3816 阅读 · 0 评论 -
(syslog-1)syslog机制
守护进程日志的实现syslogd守护进程用于解决守护进程的日志记录问题,而日志信息保存的位置和记录的信息级别是在syslogd守护进程的配置文件中设定的。守护进程日志主要涉及3个函数,分别是openlog、syslog和closelog函数。表8.4所示为这3个函数的具体信息。表8.4 openlog、syslog和closelog函数头文件转载 2014-09-10 15:42:51 · 1252 阅读 · 0 评论 -
(syslog-2)syslog.conf配置文件详解
LINUX保存了系统中所发生事件的详细记录,这些记录称作日志文件或消息文件.可以查阅日志文件来确定系统当前状态,观察入侵者踪迹,寻找某特定程序(或事件)相关的数据. syslogd与klogd(监控linux内核提交的消息)守护进程负责记录,发送系统或工具产生的信息,二者的配置文件都是/etc/syslog.conf.当系统内核或工具产生信息时,通过调用相关函数将信息发送到sys转载 2014-09-10 16:17:29 · 13473 阅读 · 0 评论