- 博客(72)
- 资源 (17)
- 收藏
- 关注
原创 音频帧概念详解
正常人听觉的频率范围大约在20Hz~20kHz之间。采样频率是指将模拟声音波形进行数字化时,每秒钟抽取声波幅度样本的次数。根据奈奎斯特采样理论,为了保证声音不失真,采样频率应该在40kHz左右。常用的音频采样频率有8kHz、11.025kHz、22.05kHz、16kHz、37.8kHz、44.1kHz、48kHz等,如果采用更高的采样频率,还可以达到DVD的音质。
2013-02-28 22:01:22 3509 1
转载 Wide character in print 报错
用perl写文本处理程序,或者写服务器端脚本的时候,常常会遇到“Wide character in print” 的警告或者错误。这是因为在程序中处理中文等宽字符时,perl不能识别要处理的内容。首先要知道perl只能处理两种编码: ascii码; utf-8码;ascii码是很少的,像中文、日文、韩文等字符要想能被perl处理,只能用 utf-8编码方式。
2013-02-27 14:48:11 5857
原创 GDB调试方法精粹
一、多线程调试1. 多线程调试,最重要的几个命令:info threads 查看当前进程的线程。 GDB会为每个线程分配一个ID, 后面操作线程的时候会用到这个ID. 前面有
2013-02-26 15:25:27 1222
转载 10个最好的获取免费书籍的网站
原文地址:转载: 10个最好的获取免费书籍的网站 作者:dongtao今天在网上看到这个Top Ten Best Places To Get Free Books,觉得很不错,和大家来分享:1.Find Popular Public Domain Works With The Gutenberg Project Top 100 List超过20000的书籍可供下载,平且
2013-02-25 08:42:01 3323
原创 ffmpeg 静态链接第三方库
动态(共享)链接库自是有诸多优于静态链接库的特点:如能共享内存空间; 节约整个系统的存储空间,从而使整个系统速度提高; 当只有某个动态链接库有更新时--便于维护--只用更新这个库。 但在有些情况下,如,服务器并不是你一个人独享;服务器上不止有一个版本的ffmpeg要用; 有一个集群的服务器需要你部署和维护,更新。这时能使用静态链接库就再好不过啦。 FFmpeg对第三方库通常是优...
2013-02-25 08:12:40 11680 2
原创 为ffmpeg添加自定义滤镜
前言FFmpeg的优秀在于它的功能强大和良好的系统框架,而滤镜就是其中之一。ffmpeg的自带滤镜不但能对视频进行裁剪,添加logo,还能将多个滤镜组全使用。更妙之处在于它还可以方便地添加自己定义的各种滤镜。这种可扩展性对于实际应用来说就颇有价值了。闲言少述,书归正传!本文第一部分是我对wiki上的一篇教程的翻译和解释,但是它并没有讲解如何将写好的滤镜添加到ffmpeg中编译并
2013-02-25 08:11:29 4394
转载 ffmpeg 的 tbr tbc 和 tbn的意义
ffmpeg -i video.flvStream #0.0[0x1e0]: Video: mpeg2video, yuv420p, 704x576 [PAR 12:11 DAR 4:3], 9578 kb/s, 25 tbr, 90k tbn, 50 tbctbn = the time base in AVStream that has come from t
2013-02-25 08:10:14 7925
原创 FFmpeg滤镜代码级分析
前一篇文章《为FFmpeg添加自定义滤镜》详细讲述了FFmpeg的滤镜添加步骤,并给出了代码实例。本文将以FFmpeg自带的deinterlace滤镜”yadif – yet another deinterlace filter”为例分析FFmpeg滤镜的代码级实现机制。总的来说,FFmpeg的滤镜机制和MicroSoft Directshow机制基本相同——不知道谁学了谁的,
2013-02-25 07:56:01 3029
原创 ffmpeg键盘命令响应程序详解
一、对终端进行读写当一个程序在命令提示符中被调用时,shell负责将标准输入和标准输出流连接到你的程序,实现程序与用户间的交互。1. 标准模式和非标准模式在默认情况下,只有用户按下回车键后,程序才能读到终端的输入。在大多数情况下,这样做是有益的,因为它允许用户使用退格键和删除键来纠正输入中的错误,用户只在对自己在屏幕上看到的内容满意时,才会按下回车键
2013-02-25 07:55:04 1151
原创 ffmpeg对mpeg2-TS解析的最详细分析
介绍: MPEG的系统层编码为不同的应用场景设计了两种格式: TS(Transport Stream) 和PS(Program Stream),它们两者之间不具有层级关系,在逻辑上,它们两者都是由PES(Packetized Elementary Stream)包组成的,所以可以很方便地实现相互转换.TS(Transport Stream): 是将具有一个或
2013-02-25 07:53:41 4474 1
原创 ffmpeg解析mpeg2ts时的数据结构分析
FFmpeg对输入数据的接收是通过FIFO实现的。下面将对UDP实时TS流进行数据结构和流程分析1. 相关的数据结构的定义顶层的所有URL数据结构定义typedef struct URLContext { const AVClass *av_class; /// information for av_log(). Set by url_open().
2013-02-25 07:52:40 1702
原创 ffmpeg转码MPEG2-TS的音视频同步机制分析
一、FFmpeg忽略了adaptation_field()数据FFmpeg忽略了包含PCR值的adaptation_filed数据;代码(libavformat/mpegts.c)分析如下:/* 解析TS包 */int handle_packet(MpegTSContext *ts, const uint8_t *packet){ ... pid = AV_
2013-02-25 07:49:29 2491
原创 crtmpserver流媒体服务器的介绍与搭建
前言 Adobe的FMS(Flash Media Server)是很好用。但对应着分级授权的是money和有限功能开放。商业的东西既然用不起,也阻碍了我们的技术进步,那就只能求助于开源社区了。而crtmpserver就是FMS的替代者之一1. crtmpserver简介 crtmpserver的功能总来说:支持推送给它的rtmp流的接收与播放器请求的
2013-02-25 07:46:23 2988 1
翻译 RTMP 简介
Introduction of RTMP(Real Time Messaging Protocol)January 22, 2010 by admin Filed under Web Hosting Reviews Leave a CommentFund - © playerdiy blogWhat exactly is RTMP and its classific
2013-02-25 07:11:17 1613
翻译 RTMP Message Formats (RTMP消息格式)
RTMP Message Formats (RTMP消息格式)Real Time Messaging Protocol (RTMP) Message Formats Copyright NoticeCopyright (c) 2009 Adobe Systems Incorporated. All rights reserved. AbstractThis memo d
2013-02-25 07:10:16 3161
翻译 RTMP Commands Messages (RTMP命令消息)
AbstractThis document describes the different types of messages and commandsthat are exchanged between the server and the client to communicatewith each other.本文档描述了不同类型的消息和命令。1. Introdu
2013-02-25 07:09:23 2907
翻译 Real Time Messaging Protocol Chunk Stream(RTMP数据块流)
AbstractThis memo describes the Real Time Messaging Protocol Chunk Stream(RTMP Chunk Stream),an application-level protocol designed for multiplexing and packetizing multimedia transportstreams (
2013-02-25 07:08:05 2105
原创 rtmpdump移植到 Windows VS2008 下的移植日志
1. 创建win32控制台应用程序,将librtmp下的文件分成"头文件"和"源文件",分别放置.2. 将rtmpsrv.c, rtmpsuck.c, rtmpgw.c从项目中移除.这些功能是暂时不用的。3. 编译提示: " fatal error C1083: 无法打开包括文件:“stdint.h”: No such file or directory".解决:
2013-02-25 07:06:42 2722
原创 MPEG2-TS音视频同步原理
一、引言MPEG2系统用于视音频同步以及系统时钟恢复的时间标签分别在ES,PES和TS这3个层次中。 在TS 层, TS头信息包含了节目时钟参考PCR(Program Clock Reference), 用于恢复出与编码端一致的系统时序时钟STC(System Time Clock)。 在PES层, 在PES头信息里包含有表示时间戳
2013-02-25 07:05:00 3341 1
原创 linux下patch的制作与应用
0.前言 只要是产品性的程序开发,就无法避免版本更新,bug修正等。在linux下,提供了diff和patch这样一对配套工具来制作和应用补丁程序,以方便版本演进和代码修正。 diff和patch的配套典型用法有如下三种: 1. 为单个文件制作和打补丁。 2. 为整个项目(修改了多个目录下的多个文件)制作和打补丁。 3. 使用别人制作好的补丁程序给自己的项目打上该
2013-02-25 07:01:07 900
翻译 diff的man帮助文档翻译
MicrosoftInternetExplorer402DocumentNotSpecified7.8Normal0DIFF(1) GNU Tools DIFF(1)NAME diff - find differences between two
2013-02-25 07:00:27 784
翻译 patch的man帮助文档的翻译
MicrosoftInternetExplorer402DocumentNotSpecified7.8Normal0PATCH(1) PATCH(1)NAMEpatch - apply a diff file to an original
2013-02-25 06:59:40 1454
原创 设置RedHat 的 root 初始密码
第一步:重启机器,按【F11】进入系统引导界面第二步:根据提示,按【e】进入到OS界面第三步:选择第二项kernel,按【e】进入选择界面第四步:按【e】进入到编辑界面第五步:在行尾输入“空格 single”或“空格 1”第六步:按【Enter】返回OS选择界面,可以看到输入已经生效第七步:按【b】重新引导进入“单用户命令行”模式第八步:设置密码
2013-02-25 06:58:37 6793
原创 史上最简最快速的FTP server(vsftpd) 架设
前言 vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序。特点是小巧轻快,安全易用。讲解它的架设的在网上的宏篇大制不计其数,这里讲解的是一个快速简单的方式实现。如果只是用来进行简单的文件上传与下载,这就很有用啦。1. 安装与启动#yum -y install vsftpd#chkconfig vsftpd on 简单的文件上传与下载任务
2013-02-25 06:57:20 1775
原创 Linux命令行下编辑常用的快捷键
Linux命令行编辑快捷键:history 显示命令历史列表↑(Ctrl+p) 显示上一条命令↓(Ctrl+n) 显示下一条命令!num
2013-02-25 06:56:32 599
转载 VIM解决中文编码问题
虽然VIM自7.0之后对双字节的编码已经支持的很不错了,但是,还是需要一些配置才能完全实现的哦。要解决的问题:1.识别双字节编码格式需要先了解的知识:vim中的内置变量:enc(encoding):vim的内部编码fenc(fileencoding):vim解析出来的当前文件编码(有可能解析成错的哦)fencs(fileencodings):
2013-02-25 06:55:24 724
转载 Linux中find常见用法示例
find path -option [-print] [-exec -ok command ] {} \;find命令的参数;path: find命令所查找的目录路径。例如, "."表示当前目录,"/"表示系统根目录。-print: 将匹配的结果输出到标准输出。-exec: 对匹配的结果执行该参数所给出的shell命令。 相应命令的
2013-02-25 06:54:30 528
转载 vim的一个较全的介绍
http://www.cnblogs.com/tzhangofseu/archive/2011/12/17/2290955.htmlvim的配置文件 ~/.vimrc 用户的默认配置文件 ~/.vim/plugin/ 用户的默认脚本文件的存放目录 ~/.vim/ftplugin/ 用户的默认文件类型相关脚本文件的存放目录 vim提
2013-02-25 06:52:35 487
原创 《linux命令编辑器与shell编程》学习笔记 第1~3章
第二章 入门$ps 识别当前运行的是哪种shellctrl+z 挂起程序$jobs 得到程序对应的作业号$fg 作业号 把后台作业切换到前台继续运行$bg 挂起的作业号 将挂起的作业移到后台继续运行ctrl+c 终止当前程序$kil
2013-02-25 06:51:37 698
原创 linux crontab 使用
cron用法说明下文内容大部分是根据《Cron Help Guide》翻译而来,有些部分是自己加上的。全文如下:cron来源于希腊单词chronos(意为“时间”),是linux系统下一个自动执行指定任务的程序。例如,你想在每晚睡觉期间创建某些文件或文件夹的备份,就可以用cron来自动执行。服务的启动和停止cron服务是linux的内置服务,但它
2013-02-25 06:33:01 533
原创 《linux命令编辑器与shell编程》学习笔记 第4章 文件系统
$ls -F # 符号化标记目录$mkdir -p /dirA/dirB # 多级目录创建"~" # 表示用户主目录重要的标准目录:文件访问权限:$ls -l ,列出文件信息$chmod ,改变文件的访问权限,
2013-02-25 06:31:39 731
原创 《linux命令编辑器与shell编程》学习笔记 第5章 shell
命令行的基本语法格式:command [arg1] [arg2]...[argn] RETURN参数都有编号,其中命令本身为参数0.shell只在PATH变量中定义的路径中查找命令,可以用下面的命令来添加PATH路径$PATH = $PATH:/xxx/yyy这个路径添加只对当前会话有效;也就是说,退出会话后,路径设置就失效了。或者:$vim /
2013-02-25 06:30:57 576
原创 linux PATH环境变量全解析
关于PATH的作用:PATH说简单点就是一个字符串变量,当输入命令的时候LINUX会去查找PATH里面记录的路径。比如在根目录/下可以输入命令ls,在/usr目录下也可以输入ls,但其实ls这个命令根本不在这个两个目录下。事实上当你输入命令的时候LINUX会去/bin,/usr/bin,/sbin等目录下面去找你此时输入的命令,而PATH的值恰恰就是/bin:/sbin:/
2013-02-25 06:24:18 699
原创 《linux命令编辑器与shell编程》学习笔记 第8章 bash
在linux系统下,sh是bash的符号链接。shell有三种运行方式:登录shell,非登录的交互式shell --如通过shell命令,非登录的非交互式shell --如通过执行shell脚本.1. 登录shell登录shell带上--login选项,首先执行/etc/profile #通过设置这个文件,超级用户可以为所有bash用户
2013-02-25 06:23:22 972
原创 "makefile:5: *** missing separator. Stop."
写makefile时出现这个错误提示是表示makefile中的命令前没有使用TAB。造成的原因可能有:1. 命令前没有使用TAB,2. 在VIM的配置文件"/etc/vimrc"中使用了"set expandtab".因为"set expandtab"会将TAB转换成空格
2013-02-25 06:22:37 8199
转载 linux grep的用法详解
grep的用法首先创建我们练习grep命令时需要用到的demo文件demo_file。$ cat demo_fileTHIS LINE IS THE 1ST UPPER CASE LINE IN THIS FILE.this line is the 1st lower case line in this file.This Line Has All Its Firs
2013-02-25 06:21:49 676
原创 linux处理中文字符集工具集粹与详解
Linux对中文的支持不是很好,也不像Windows样,会对文件名,文件内容做字符集的自动转换。例如,将Windows下的文件复制到Linux下,会出现一堆的乱码,这时,就要用到linux的一些字符集转换工具来处理。1. 批量文件名字符集转换工具 -- convmv下载链接:http://download.chinaunix.net/download/000
2013-02-25 06:20:43 693
原创 SSH 基于公钥授权的无用户名,密码输入
有时候想通过一台服务器调用另一台(或一批)服务器提供的程序或脚本,以实现一个简单的集中控制方式。使用linux现成的SSH就可以做到。 但是在使用SSH调用时,每次被访问服务器都要求提供用户名和密码。这对于程序调用来说过于烦琐,也不利于程序控制的调用。 有什么办法在使用SSH时不用每次都输入用户名和密码呢?先来看SSH的安全认证机制(摘自《维基百科》http://zh.wiki
2013-02-25 06:19:36 934
原创 linux进程间的通信(C): 匿名管道
1. Linux进程间的通信简介Linux下的进程通信手段基本上是从Unix平台上的进程通信手段继承而来的。AT&T的贝尔实验室和BSD(加州大学伯克利分校的伯克利软件发布中心)对Unix发展做出重大贡献,但是他们在进程间通信方面的侧重点有所不同。前者对Unix早期的进程间通信手段进行了系统的改进和扩充,形成了“system V IPC”,但是通信进程局限在单个
2013-02-25 06:13:49 1382
h264-to-rtmp.copy-frame
2024-02-20
FFmpeg SDK的数据结构与API函数详解
2014-05-04
ffmpegSDK_avc2ts
2014-05-04
ffmpeg SDK与示例程序
2014-04-21
UDP数据接收服务器
2013-09-18
HEVC(h.265)官方文档
2013-05-09
录制UDP组播数据到文件
2013-05-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人