- 博客(56)
- 资源 (59)
- 问答 (1)
- 收藏
- 关注
转载 LINUX安装INTEL® MEDIA SERVER STUDIO
最近在折腾Intel QuickSync技术,主要是要打算使用其提供的硬件编解码功能。看看是否能够有效的降低CPU的使用率。本来是以为直接下载ffmpeg的二进制可执行文件即可(在windows上,只要有安装好Intel的驱动以及硬件支持,直接使用ffmpeg的可执行文件,是可以正常运行的),没想到在linux平台下事情并没有想像的那么简单。需要这台的事情还是很多的。Intel官方提供的S
2016-12-27 12:35:16
3443
原创 AAC编码的几个配置参数
对AAC格式的音频处理时都涉及到一些参数配置,之前经常忘记,特此做个记录。最好的方式当然是去认真读一下spec。下面就直接结合ffmpeg中代码的实现来说:const int avpriv_mpeg4audio_sample_rates[16] = { 96000, 88200, 64000, 48000, 44100, 32000, 24000, 22050,
2016-10-12 17:07:32
6376
原创 回放增益
今天走读FFMPEG volume filter时看到有replaygain相关的功能,一时不知道是什么含义,特意查看了一下,做一个记录。http://baike.baidu.com/link?url=pmqqnBXjSemJM8aI4i0F1BoKxRLpvjWm03U2JpZ9pM9vxGQ9cUPVH9NMgir9SgMwVchL_Z6pOTsEd6QATQur8ahtt
2016-02-25 14:02:30
1835
转载 音频中的一些概念
dBFs是用来表征数字域功率值的大小,一般情况下我们定义0dBFs为数字域满刻度功率值,即数字域中功率的最大值;因此看到的dBFs的值都是负的。而dBm是模拟域的功率值,是表征功率大小的绝对值;一般情况下1W就是我们通常说的30dBm,计算方法为30dBm=10*log1w=10*log1000;在AD口模拟的dBm和数字域的dBFs有个简单的转换关系,即AD的最大采样值对应数字域的0dB
2016-02-19 16:16:12
766
原创 在Linux下怎么看网络流量
在Linux下怎么看网络流量?在Windows下,我们可以很方便的通过360来查看网络流量,知道哪个进程占用的网络带宽比较多。那在Linux下怎么看流量呢,对于Web服务器来说这是很重要的。 下面这边博客很仔细的介绍了Linux下看流量的方法:Linux 各种查看网卡流量的方法 http://jasonyong.blog.51cto.com/47753/17419
2015-08-13 14:57:23
5863
转载 big_endian和little_endian(转)
出处:http://www.cnblogs.com/hisiqi/archive/2012/10/04/2711472.htmlbig_endian 、little_endian 用于自动改变二进制位存放顺序 Big Endian and Little Endian 谈到字节序的问题,必然牵涉到两大CPU派系。那就是Motorola的PowerPC系列CPU和I
2015-06-04 10:32:30
641
转载 RED5只能使用NioProcessor-1线程进行处理问题
经过本人验证,下列方法可行。原始出处:http://www.pigg.co/red5-issues.html最近生产环境的red5经常出现拒绝服务的问题,仔细查看日志后发现所有的请求都是NioProcessor-1来完成,如果请求服务过多,会导致该线程处理不过来,也将导致线上其它服务将无响应,仔细查看了下RTMPMinaTransport构造源码
2015-05-19 16:17:25
1809
原创 RED5内部数据转发流程
0 PUBLISH方在publish时,创建BroadcastScope,并作为Provier形式注册到BroadcastScope的pipe上。IProviderService providerService =(IProviderService) context.getBean(IProviderService.BEAN_NAME); /
2015-04-22 20:40:22
2950
原创 基于live555的rtsp封装rtspperf
项目地址:http://sourceforge.net/projects/rtspperf/实现了基于epool模型的TaskScheduler,而live555默认实现使用select模型,select模型有一些已知的限制(FD最大值不能超过1024)。实现了rtsp client 框架,提供一个回调接口吐出数据。
2013-11-15 15:12:25
1745
原创 FFMPEG之TimeBase成员理解
FFMPEG的很多结构中有AVRational time_base;这样的一个成员,它是AVRational结构的typedef struct AVRational{ int num; /// int den; ///} AVRational;AVRational这个结构标识一个分数,num为分数,den为分母。 实际上time_base的意思就是时间的刻度
2013-11-08 16:21:15
19787
原创 WS-Addressing学习
为什么需要WS-AddressingWS-Addressing为了能适应服务层面的发送,回复与接收订制机制。传输层面的接收发送本身可以由TCP,UDP等协议来保证。单从应用层面来讲:可能希望由这样的需求A发送一个请求给B服务,期望让B服务的处理响应发给C,错误信息发给D。Endpoint References用来标识一个WebService系统中的一个实体。可以是一个服
2013-10-29 09:12:37
919
转载 使用fdisk命令对linux硬盘进行操作
fdisk是linux自带的硬盘分区工具,可以对硬盘进行分区,或者对硬盘分区进行调整。本次试验环境请参考[Linux磁盘系统基础知识]首先选择要进行操作的磁盘[root@a ~]# fdisk /dev/sdb输入m,列出可以执行的命令Command (m for help): mCommand action a toggle a bootable fl
2013-09-03 16:31:33
2197
转载 使用parted命令对linux硬盘进行操作
前面介绍了[使用fdisk命令对linux硬盘进行操作] ,除了fdisk命令,在linux下还有一个功能也非常强大的磁盘管理工具parted。这里继续沿用[使用fdisk命令对linux硬盘进行操作] 中的环境对parted命令进行一些介绍。parted的基本操作输入parted命令,进入parted管理界面,如果没有指定硬盘,parted命令会默认选择第一个硬盘为当前操作硬盘。
2013-09-03 16:30:53
9963
转载 Using GNU parted to create a GPT for a device
Using GNU parted to create a GPT for a device > 2TBHowto create a partitioned device on a CentOS v5 VM for a XFS filesystem greater than 2TB in sizeUsing a MBR (master boot record) style p
2013-09-03 16:29:59
1068
转载 什么是parted
1. 什么是partedparted是一个磁盘分区管理管理工具,它比fdisk更加灵活,功能也更丰富,同时还支持GUID分区表(GUID Partition Table), 这在IA64平台上管理磁盘时非常有用。2. parted的作用parted同时支持交互模式和非交互模式. 它除了能够进行分区的添加,删除等常见操作外,还可以移动分区, 制作文件系统, 调整文件系统大
2013-09-03 16:23:42
961
转载 LINUX系统如何使用大于2T的磁盘分区
本周伊始,检查并更换公司备份服务器周备份硬盘,发现一块2T大小的磁盘空间消耗殆尽。检查上周日的增量备份,发现数据备份完整,并无缺失,且空间属于正常增长。于是火速于一供货商处购得一3T硬盘,做为今后的备份磁盘之用。 由于事发突然,供货商答应最早于早上七点将新硬盘送到,而公司大部分服务器是晚上9点之后开始自动备份的,也就是说要在两个小时内搞定磁盘问题。 之前从未处理过2T容量以上的磁
2013-09-03 16:22:10
12385
转载 大于2T的磁盘使用GPT分区方式
一台MD1000的ISCSI的存储,有15T的空间,在分空间时,超过2T就没法使用普通的法子分区.只能使用GPT的方法。查了一下GPT的介绍.介绍讲,只能在2TB内,普通pc的BIOS才能认到分区表.超过2TB就要使用GPT的磁盘分区表.下面是它的一些介绍Acronym for GUID Partition TableGPT was introduced for iA64 syst
2013-09-03 16:21:41
7066
转载 linux 内核参数介绍
$ /proc/sys/net/core/wmem_max最大socket写buffer,可参考的优化值:873200$ /proc/sys/net/core/rmem_max最大socket读buffer,可参考的优化值:873200$ /proc/sys/net/ipv4/tcp_wmemTCP写buffer,可参考的优化值: 8192 436600 873200$ /
2013-04-26 00:17:35
908
转载 Using netstat and dropwatch to observe packet loss on Linux servers
Anyone that is running a modern Operating System is most likely utilizing TCP/IP to send and receive data. Modern TCP/IP stacks are somewhat complex and have a slew of tunables to control their behavi
2013-04-26 00:05:14
1323
转载 dropwatch 网络协议栈丢包检查利器
在做网络服务器的时候,会碰到各种各样的网络问题比如说网络超时,通常一般的开发人员对于这种问题最常用的工具当然是tcpdump或者更先进的wireshark来进行抓包分析。通常这个工具能解决大部分的问题,但是比如说wireshark发现丢包,那深层次的原因就很难解释了。这不怪开发人员,要怪就怪linux网络协议栈太深。我们来看下:这7层里面每个层都可能由于各种各样的原因,比如说缓冲区满,包非
2013-04-25 23:49:54
2965
转载 Linux下谁在切换我们的进程
原创文章,转载请注明: 转载自系统技术非业余研究本文链接地址: Linux下谁在切换我们的进程我们在做Linux服务器的时候经常会需要知道谁在做进程切换,什么原因需要做进程切换。 因为进程切换的代价很高,我给出一个LMbench测试出来的数字:Context switching – times in microseconds – smaller is better———————
2013-04-25 23:44:21
662
转载 Linux操作系统调优参数的意义
所有的TCP/IP调优参数都位于/proc/sys/net/目录。例如, 下面是最重要的一些调优参数,后面是它们的含义:1、/proc/sys/net/core/rmem_max — 最大的TCP数据接收缓冲 2、/proc/sys/net/core/wmem_max — 最大的TCP数据发送缓冲 3、/proc/sys/net/ipv4/tcp_timestamps — 时间戳在(请
2013-04-24 23:58:03
792
转载 boost any
Boost.AnyAny库支持类型安全地存储和获取任意类型的值。当你需要一个可变的类型时,有三种可能的解决方案:无限制的类型,如 void*. 这种方法不可能是类型安全的,应该象逃避灾难一样避免它。可变的类型,即支持多种类型的存储和获取的类型。支持转换的类型,如字符串类型与整数类型之间的转换。Any实现了第二种方案,一个基于值的可变化的类型,无限可能的类型。这个
2013-04-19 00:31:11
1107
转载 linux异步IO浅析
知道异步IO已经很久了,但是直到最近,才真正用它来解决一下实际问题(在一个CPU密集型的应用中,有一些需要处理的数据可能放在磁盘上。预先知道这些数据的位置,所以预先发起异步IO读请求。等到真正需要用到这些数据的时候,再等待异步IO完成。使用了异步IO,在发起IO请求到实际使用数据这段时间内,程序还可以继续做其他事情)。假此机会,也顺便研究了一下linux下的异步IO的实现。linux下主要
2013-04-08 23:38:09
615
转载 Linux IO子系统和文件系统读写流程
我们所有分析的,是基于2.6.32及其后的内核.我们在Linux上总是要保存数据,数据要么保存在文件系统里(如ext3),要么就保存在裸设备里。我们在使用这些数据的时候都是通过文件这个抽象来访问的,操作系统会把我们需要的数据提交给我们,而我们则无需和块设备打交道。从下图,我们可以清除的看到:I/O子系统是个层次很深的系统,数据请求从用户空间最终到达磁盘,经过了复杂的数据流动。对
2013-04-08 23:31:30
767
转载 linux wa%过高,iostat查看io状况
再进行一次压力测试,拿着这份数据,已经绝对性的说明问题了。此时那些大牛把代码改了一下,性能立马就上去了,千兆网络直接成为系统瓶颈。并于Java的控制问题,改用Apache直接编译程序模块调用,完成变为可控,问题瞬间解决!附上iostat的源码:http://code.google.com/p/tester-higkoo/source/browse/trunk/Tools/iostat/io
2013-04-08 23:19:28
1692
转载 查看linux服务器硬盘IO读写负载
最近一台linux服务器出现异常,系统反映很慢,相应的应用程序也无法反映,而且还出现死机的情况,经过几天的观察了解,发现服务器压力很大,主要的压力来自硬盘的IO访问已经达到100% 为了方便各位和自己今后遇到此类问题能尽快解决,我这里将查看linux服务器硬盘IO访问负荷的方法同大家一起分享: 首先 、用top命令查看 top - 16:15:05 up 6 days, 6:2
2013-04-08 23:18:20
655
转载 iostat
iostat命令是另一个研究磁盘吞吐量的工具。和sar类似,iostat可以使用间隔和计数参数。第一个间隔的输出包含Linux总运行时间的指标。与其他性能命令比较,这可能是iostat最独特的功能。例如,以下是一个大部分时间处于空闲的系统的输出。可见,从启动以来hda设备已经读取大约9 158MB(18 755 572*512/1 024/1 024)。Blk列是512字节块。不使
2013-04-07 23:49:40
2080
转载 系统IO性能参数及不同方案关注点
再好的算法、实现。最终还是要来进行IO使用的是传统的机械硬盘,存储大数据时还行,但是数据库内容获取就实在是差到一个境界了。特此进行一番探索: 0 磁盘 性能:在介绍磁盘 I/O 监控命令前,我们需要了解磁盘 I/O 性能监控的指标,以及每个指标的所揭示的磁盘某方面的性能。磁盘 I/O性能监控的指标主要包括: 1) 每秒 I/O 数( [r/s w/s])- 每秒处理的
2013-04-07 23:43:22
772
转载 IO系统性能之三:在Linux中监视IO性能
dd其实是工作于比较低层的一个数据拷贝和转换的*nix平台的工具,但是因为dd命令支持*nix平台的一些特殊设备,因此我们可以利用dd命令的这个特性来简单的测试磁盘的性能。 dd命令 先说一下两个相关的特殊设备 /dev/null 空设备,通常用作输出设备,这个是*nix系统上面的黑洞,所有送到这个空设备上的内容都会凭空消失。 /dev/zero 空字符,通常用
2013-04-07 23:40:09
807
转载 使用boost库来计算文件夹的大小
#include #include #include #include #include namespacefs = boost::filesystem;boost::uintmax_t dir_size(constfs::path &p){ returnstd::accumulate( boost::make_transform_ite
2013-01-06 00:33:20
5483
转载 Understanding H.264 num_units_in_tick and time_scale
View Full Version : Understanding H.264 num_units_in_tick and time_scalesameersbn25th February 2010, 21:09Hi,I have been trying to understand the various fields in the SPS Unit of H.
2012-12-14 16:00:27
2966
转载 流媒体基本要点简述:如何在H264数据中获取PTS?
序:只大概说明要点。更具体的方法恕不祥叙。我的开源工程和很多开源项目都有详细完整的实现代码。这些要点都是我自己学习的总结,无责任保证正确性。仅做参考。如发现有问题请丢砖头,跪求各方高人指正错误。Orz内容:H264的ES原始数据一般是以NAL(Network Abstract Layer)的格式存在。可以直接用于文件存储和网络传输。每一个NALU(Network Abstr
2012-12-14 15:56:42
2281
原创 live555_改造分析
Live555是一个开源的轻量级的流媒体处理框架,实现了RTP,RTCP,RTSP协议,支持常见的一些音视频格式,但是格式不是很全。它使用C++开发,实现上大量使用了函数回调。总体上框架还算比较清晰,可以方便的进行扩展,以支持新的格式或改善先用实现。由于最近项目的需要,使用live555进行媒体面的处理,主要是用它来构建RTSP服务器,支持文件的点播。在使用过程中还是发现很多地方不满足我们
2012-12-06 16:51:53
3272
原创 live555多线程改造
由于项目需要最近做了一些多线程支持的改造 但是遇到一定的问题期望有相关经验的朋友指教 具体做的思路和网上一些朋友的思路相近1 每个线程对应一个单独的env和scheduler2 rtspserver单独一个线程,做rtsp请求的解析;另外还有若干数据面处理线程,处理数据的传输3 rtspserver所在线程做控制面的处理,即RTSP相关的命令处理,并负责分配数据面任务到数据处理线程
2012-12-05 23:15:08
5480
原创 MP4V2库与MP4AV库编译
最近在开发一个将RTP流存储为MP4文件的功能。其中针对MP4文件读写,用到了两个开源的库。其中MP4V2用于数据的读写,MP4AV用于对其中的数据帧进行分析。 MP4V2和MP4AV都是开源项目MPEG4IP的一部分,当前MPEG4IP已经不再维护。但是MP4V2最为其中的一部分,还有开源组织再进行更新,其项目主页:http://code.google.com/p/mp4v2/,当前
2012-11-08 14:32:12
46767
1
转载 AMR音频编码器概述及文件格式分析
原文:http://www.bairuitech.com/html/xingyezixun/technology/20080223/82.html 全称Adaptive Multi-Rate,自适应多速率编码,主要用于移动设备的音频,压缩比比较大,但相对其他的压缩格式质量比较差,由于多用于人声,通话,效果还是很不错的。一、分类1. AMR: 又称为AMR-NB,相对于下面的WB
2012-10-24 13:34:59
1899
转载 关于MP4文件格式的一些资料
前一段时间用到的资料,发个汇总贴。首先是最有说服力的ISO标准文档:ISO/IEC 14496-12,Coding of audio-visual objects — ISO base media file formatISO/IEC 14496-14,Coding of audio-visual objects — MP4 file format这里有ISO/IEC 14496与MP
2012-09-25 14:56:01
1148
DarwinStreamingSrvr5.5.5 安装文件(包括linux和windows版本)
2012-05-16
MP4,avi等多媒体容器格式处理代码集合
2012-05-11
vlc资料_multicat
2012-05-11
avplayer源代码
2012-05-07
dropwatch:丢包分析
2013-04-26
dropwatch:丢包分析 源代码
2013-04-26
FFMPEG+X264编码时强制强求I帧后视频质量下降明显
2017-05-27
TA创建的收藏夹 TA关注的收藏夹
TA关注的人