- 博客(21)
- 资源 (11)
- 收藏
- 关注
转载 shell判断输入变量或者参数是否为空
判断变量 read -p "input a word :" word if [ ! -n "$word" ] ;then echo "you have not input a word!" else echo "the word you input is $word" fi 判断输入参数 #!/bin/bash if [ ! -n "
2016-08-30 15:15:54 1358
转载 用ffmpeg 把mp4文件转为ts文件并生成m3u8列表
在使用hls技术播放视频流时,首先要把视频转换为ts片和一个m3u8播放列表,使用ffmpeg进行该转换时(低版本ffmpeg不支持直接转,只能现在转换成ts,再用m3u8-segmenter切片,笔者使用的是ffmpeg version-2.1.2),通常使用如下命令: ffmpeg -i input.mp4 -c:v libx264 -c:a aac -strict -2 -f hls
2016-08-26 14:51:37 1656 1
转载 ffmpeg 获得视频时间总长度
获得视频时间总长度的另一种方法(转载)link http://www.cnblogs.com/phphuaibei/archive/2011/09/14/2175550.html 利用Ffmpeg获得flv视频缩略图和视频时间 当时获得视频长度是采用网上的通用的获得flv视频文件长度的方法,但是这个方法只对flv视频支持,其他格式的视频获取到的值就很差了, 下面在介绍一种:利
2016-08-25 09:14:19 3659
转载 FFmpeg 基本用法
本课要解决的问题 1.FFmpeg的转码流程是什么? 2.常见的视频格式包含哪些内容吗? 3.如何把这些内容从视频文件中抽取出来? 4.如何从一种格式转换为另一种格式? 5.如何放大和缩小视频? 6.如何旋转,翻转,填充,裁剪,模糊,锐化视频? 7.如何给视频加logo,删除logo? 8.如何给视频加文本,动态文本? 9.如何处理图片?
2016-08-25 09:07:51 469
转载 Linux服务器多进程模型
Linux多进程服务器真的很给力,赞一个! Linux多进程一般是master负责侦听,worker接受和伺服client。 一个使用了以下技术的多进程模型: 1. sigset:安全信号,信号屏蔽和接受。 2. epoll:异步io模型。 master进程使用信号模型,侦听用户信号和程序信号,并和worker交流。它的主循环是sigsuspend。 worke
2016-08-23 17:32:54 418
转载 使用libevent编写高并发HTTP server
libevent库使得高并发响应HTTP Server的编写变得很容易。整个过程包括如下几部:初始化,创建HTTP Server, 指定callback, 进入事件循环。另外在回调函数中,可以获取客户端请求(request的HTTP Header和参数等),进行响应的处理,再将结果发送给客户端(response的HTTP Header和内容,如html代码)。 libevent除了设置gen
2016-08-23 17:12:54 1439
转载 android硬编码h264-MediaCodec
本人对Android已无大爱,更新太快,就h264编码先后实现了 ffmpeg+x264软编 Mediarecoder提取,还没能稳定的又出了MediaCodec,更新太快。更新快也是好事,说明android生命力旺盛。 既然瞅了几眼,就发出来个测试版本吧。android编码h264, 用udp发送到vlc播放测试。代码上传至:http://download.csdn.net/deta
2016-08-23 09:36:40 544
转载 FreeSwitch下载和编译
1.下载FreeSwitch源码 http://files.freeswitch.org/freeswitch-releases/ 根据需要的版本进行下载。 http://mirror.centos.org/centos/6/os/i386/Packages/ http://rpmfind.net/linux/RPM/RPMForge_repository_for_Red_
2016-08-22 15:13:14 903
转载 struts2 + jquery + json 进行ajax请求
项目中想用ajax ,于是在网上扒了 n 多资料,犯了 n 多错误,从今天上班到现在一直在处理这个问题,终于还是把它解决了。 当我看到页面的ajax 显示后,我兴奋异常,为了记录自己学习的 ajax 历程,也为了让更多的人少走弯路,特写此一文以记之! 废话不说了,为了更好的理解,我重做了一个小的项目,以加深印象。现在就以这个小项目开始我们的ajax 之旅。
2016-08-18 17:28:53 398
转载 查看LINUX进程内存占用情况
可以直接使用top命令后,查看%MEM的内容。可以选择按进程查看或者按用户查看,如想查看oracle用户的进程内存使用情况的话可以使用如下的命令: (1)top top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器 可以直接使用top命令后,查看%MEM的内容。可以选择按进程查看或者按用户查看,如想查看o
2016-08-18 14:48:07 285
转载 浅析:setsockopt()改善socket网络程序的健壮性
1. 如果在已经处于 ESTABLISHED状态下的socket(一般由端口号和标志符区分)调用 closesocket(一般不会立即关闭而经历TIME_WAIT的过程)后想继续重用该socket: BOOL bReuseaddr=TRUE; setsockopt(s,SOL_SOCKET ,SO_REUSEADDR,(const char*)&bReuseaddr,sizeof(B
2016-08-17 19:58:16 359
转载 linux C++ 读写文件
本文中写了两个函数: 1)int IsFileExist(const char* path) 用于检查一个目录是否存在 -1:存在 0:不存在 2)int IsFileExist(const char* path) 用于检查文件(所有类型,包括目录类型)是否存在 -1:存在 0:不存在 如果不存在,可以用以下两种方式打印错误信息: 1)fprintf(stderr, "ERROR: %
2016-08-17 18:14:44 794
转载 VC和LUA混合开发之VC程序调用Lua脚本函数
Lua语言以其卓越的可扩展性、简单、高效率和与平台无关性在游戏领域得到广泛应用。今天花了一些时间学习VC和Lua如何混合开发,编写了一个小例程,和大家分享一下这方面的经验。 首先在http://www.lua.org/ftp/ 下载Lua的最新版本:lua-5.1.4。然后用VS C++ 2005 + sp1建一个Win32静态库空工程:lua,把相关c文件和h文件都
2016-08-13 14:56:17 376
转载 在linux64位机器上编译时遇到的两个问题
今天将一个程序移动到另外一台机器上进行编译,结果报了如下的错误 wxtSi_gw/wxtGw_receive.c: In function 'void* ListenLoop(void*)': wxtSi_gw/wxtGw_receive.c:785: error: cast from 'void*' to 'int' loses precision L
2016-08-11 10:01:41 1506
转载 Linux Shell脚本实现根据进程名杀死进程
怀念windows下的任务管理器啊,有啥看的顺眼的程序鼠标点几下就能将其干掉。 今天在用Firefox浏览器浏览网页时,界面瞬间卡住了,什么都不能点,测试了下,只有切换到命令行界面(Ctrl+Alt+F1)才有反应,切回文本界面Ctrl+Alt+F7)后还是卡住的。ps:其他按键的感觉就像是失效一般,很无助的说。。。 游走在命令行界面发呆,正打算强制关机时,突然发现以前写的一个Shel
2016-08-10 14:05:04 971
转载 线程的状态及线程结束时候资源的回收
一句话总结:线程创建的时候默认处于joinable状态,此状态线程结束的时候不会自动回收线程资源,需要pthread_join函数来回收;pthread_detach可以讲线程转换为detached状态,子线程运行完成之后可以自行回收资源。 一般情况下,进程中各个线程的运行都是相互独立的,线程的终止并不会通知,也不会影响其他线程,终止的线程所占用的资源也并不会随着线程的终止而得到释放。正如进
2016-08-05 16:11:34 1794
转载 pthread_kill
pthread_kill: 别被名字吓到,pthread_kill可不是kill,而是向线程发送signal。还记得signal吗, 大部分signal的默认动作是终止进程的运行,所以,我们才要用signal()去抓信号并加上处理函数。 int pthread_kill(pthread_t thread, int sig); 向指定ID的线程发送sig信号,如果线程代码内不做处理,则按照信
2016-08-05 09:25:31 255
转载 c++ new operator与operator new的区别
C++中的operator new与new operator,看上去挺像的两姐妹,却有天壤之别。 operator new (1) 只分配所要求的空间,不调用相关对象的构造函数。当无法满足所要求分配的空间时,则 ->如果有new_handler,则调用new_handler,否则 ->如果没要求不抛出异常(以nothrow
2016-08-04 15:40:02 1173
转载 Linux信号量 sem_t简介
函数介绍 #include 信号量的数据类型为结构sem_t,它本质上是一个长整型的数。 函数sem_init()用来初始化一个信号量。它的原型为:int sem_init __P ((sem_t *__sem, int __pshared, unsigned int __value));sem为指向信号量结构的一个指针;pshared不为0时此信号量在进程间共享,否则只能为当前
2016-08-04 15:32:09 885
转载 linux下如何添加一个用户并且让用户获得root权限
1、添加用户,首先用adduser命令添加一个普通用户,命令如下: #adduser tommy //添加一个名为tommy的用户 #passwd tommy //修改密码 Changing password for user tommy. New UNIX password: //在这里输入新密码 Retype new UNIX password: //再次输入新密码 passwd: all a
2016-08-04 14:21:37 330
转载 Cannot assign requested address的解决办法
今天想试一下redis,写了个程序,对redis连续进行100000访问,却出现以了Cannot assign requested address的问题,我起先是以为是redis的问题(可能承受不了这么多访问量),可是redis被大家吹的那么NB,不会出现这么SB的问题吧,于 是google之,发现原来是: 客户端频繁的连服务器,由于每次连接都在很短的时间内结束,导致很多的TIME_WAIT,以
2016-08-01 11:43:20 636
source insight格式化工具
2013-06-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人