自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

北雨南萍

天行健 君子以自强不息,地势坤 君子以厚德载物!

  • 博客(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图片式总结

LINUX

2013-02-25 06:53:44 946

转载 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

使用了FFmpeg SDK的最新版实现; 能完整地逐帧读取h.264的码流文件, 并帧数据复制的模式封装成RTMP流并推送; 有详细的代码注释; 亲测可用,很方便整合到生产工程中;

2024-02-20

PJT-dynamic-video-encoder.by-x264.zip

基于X264实现的动态码率与动态帧率调整

2021-02-16

RTCP-RTP协议详解-中文版.doc

RTP/RTCP协议的解析

2021-02-16

red-black-tree.zip

红黑树的C语言实现

2021-02-05

查找H.264流中的SPS,PPS并解析

从FFmpeg中抽取出来, 读取文件中数据流,快速找到buffer中的SPS 和 PPS,并解析它们的代码;

2018-06-16

FFmpeg SDK的数据结构与API函数详解

我自己整理的最新版(2014-5-5)ffmpeg SDK的数据结构和API函数; 包含了数据结构中变量的大量注解,以及API函数的一些基本使用方式;

2014-05-04

ffmpegSDK_avc2ts

使用ffmpeg SDK实现的h264封装成MPEG2-TS文件; 网上其它的版本都有bug,不能工作,这个是我自己改好的; 代码分析可以看我写的文章《FFmpeg SDK开发模型之三:muxer》

2014-05-04

ffmpeg SDK与示例程序

根据ffmpeg生成的SDK, 并添加上了编译,测试通过的两例子apiexample, output_example 具体的代码分析可以看我的博客文章

2014-04-21

UDP数据接收服务器

这是我在做一个要用UDP方式进行数据传输时,自己写的一个多线程的UDP数据接收服务器, 它能将接收到的UDP数据包存成文件,并提供数据包接收时间监测; 还支持键盘命令响应,以将数据写到新的文件,和退出程序;

2013-09-18

HEVC(h.265)官方文档

HEVC(H.265)的官方文档,做视频编解码必备 2012年2月10日,在美国圣何塞召开了第99届MPEG会议。MPEG组织和ITU-T组织对JCT-VC的工作表示满意,准备于2013年1月,同时在ISO/IEC和ITU-T发布HEVC标准的最终版本。[1] 2013年1月26号,HEVC正式成为国际标准 这是2013年的最新版本

2013-05-09

录制UDP组播数据到文件

本程序支持本机多网卡(即多IP),指定IP接收UDP组播数据存储成文件。 而且本程序是多线程并行的工作方式,能保证数据并行接收与存储,从而不会造成数据丢失。 本程序还对UDP组播数据的初始化,接收和结束进行了封装,方便应用开发。 最后说明一下,本程序借鉴ffmpeg的相关代码,完全达到了应用开发级别, 且可以用来理解ffmpeg对UDP数据的处理。

2013-05-09

linux进程间的通信:匿名管道

liunx进程间,使用匿名管道通信的示例程序, 生成了两个子进程, 实现文件读取,转码成大写,写输出文件的流水并行。 对实用场合很有启发意义

2012-11-15

DirectShow实务精选+源代码

DirectShow开发的三本必备学习资料之一。 快速提高DirectShow技术的利器。

2012-10-27

DirectShow开发指南及源代码

《Directshow开发指南》书和源代码,开发directshow的入门和必备资料

2012-10-26

rtmpdump for vs2008

将rtmpdump移植到了VS2008下

2012-10-26

H.264/SVC 官方说明书最新完整版(包含SVC部分)

H.264/SVC官方的说明书,包含有SVC部分,是网上最好最全的版,研究H.264必备的文档

2012-07-29

H.264 SVC简介

H.264的SVC技术综述,基本原理介绍

2012-07-29

H.264 SVC学习报告

H.264 SVC部分的专项内容学习与疑问解答。对学习H.264的SVC的入门极有用

2012-07-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除