摘要: 简介 FFmpeg是一个集录制、转换、音/视频编码解码功能为一体的完整的开源解决方案。 FFmpeg的开发是基于Linux操作系统,但是可以在大多数操作系统中编译和使用。FFmpeg支持MPEG、DivX、MPEG4、AC3、DV、 FLV等40多种编码,AVI、MPEG、OGG、Matroska、 阅读全文
posted @ 2013-10-31 16:20 Djzny 阅读(228) 评论(0) 推荐(0) 编辑
摘要: 显示视频 这就是我们的视频线程。现在我们看过了几乎所有的线程除了一个--记得我们调用schedule_refresh()函数吗?让我们看一下实际中是如何做的: 函数SDL_AddTimer()是SDL中的一个定时(特定的毫秒)执行用户定义的回调函数(可以带一些参数user data)的简单函数。我们 阅读全文
posted @ 2013-10-31 16:05 Djzny 阅读(454) 评论(0) 推荐(0) 编辑
摘要: 播放声音 现在我们要来播放声音。SDL也为我们准备了输出声音的方法。函数SDL_OpenAudio()本身就是用来打开声音设备的。它使用一个叫做SDL_AudioSpec结构体作为参数,这个结构体中包含了我们将要输出的音频的所有信息。 在我们展示如何建立之前,让我们先解释一下电脑是如何处理音频的。数 阅读全文
posted @ 2013-10-31 16:03 Djzny 阅读(420) 评论(0) 推荐(0) 编辑
摘要: 同步音频 现在我们已经有了一个比较像样的播放器。所以让我们看一下还有哪些零碎的东西没处理。上次,我们掩饰了一点同步问题,也就是同步音频到视频而不是其它的同 步方式。我们将采用和视频一样的方式:做一个内部视频时钟来记录视频线程播放了多久,然后同步音频到上面去。后面我们也来看一下如何推而广之把音频和视频 阅读全文
posted @ 2013-10-31 16:03 Djzny 阅读(409) 评论(0) 推荐(0) 编辑
摘要: 概要 电影文件有很多基本的组成部分。首先,文件本身被称为容器Container,容器的类型决定了信息被存放在文件中的位置。AVI和Quicktime就 是容器的例子。接着,你有一组流,例如,你经常有的是一个音频流和一个视频流。(一个流只是一种想像出来的词语,用来表示一连串的通过时间来串连的数据元 素 阅读全文
posted @ 2013-10-31 16:02 Djzny 阅读(426) 评论(0) 推荐(0) 编辑
摘要: 创建线程 Spawning Threads Overview Last time we added audio support by taking advantage of SDL's audio functions. SDL started a thread that made callbacks 阅读全文
posted @ 2013-10-31 16:02 Djzny 阅读(412) 评论(0) 推荐(0) 编辑
摘要: 意外情况 你们将会注意到我们有一个全局变量quit,我们用它来保证还没有设置程序退出的信号(SDL会自动处理TERM类似的信号)。否则,这个线程将不停地运 行直到我们使用kill -9来结束程序。FFMPEG同样也提供了一个函数来进行回调并检查我们是否需要退出一些被阻塞的函数:这个函数就是 url_ 阅读全文
posted @ 2013-10-31 16:01 Djzny 阅读(282) 评论(0) 推荐(0) 编辑
摘要: 关于包Packets的注释 从技术上讲一个包可以包含部分或者其它的数据,但是ffmpeg的解释器保证了我们得到的包Packets包含的要么是完整的要么是多种完整的帧。 现在我们需要做的是让SaveFrame函数能把RGB信息定稿到一个PPM格式的文件中。我们将生成一个简单的PPM格式文件,请相信,它 阅读全文
posted @ 2013-10-31 16:00 Djzny 阅读(297) 评论(0) 推荐(0) 编辑
摘要: 居中是我们使用css来布局时常遇到的情况。使用css来进行居中时,有时一个属性就能搞定,有时则需要一定的技巧才能兼容到所有浏览器,本文就居中的一些常用方法做个简单的介绍。 注:本文所讲方法除了特别说明外,都是兼容IE6+、谷歌、火狐等主流浏览器的。 先来说几种简单的、人畜无害的居中方法 1. 把ma 阅读全文
posted @ 2013-10-30 10:02 Djzny 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 一般的的YUV420图像格式实际上是Y’UV,420指的是其在Y U V上面的采样率。在YUV420的格式中,首先存储每一个像素的Y’值,然后跟着存储的是每2*2方阵采样一次的U值,最后存储的是每2*2方阵采样一次的V值。于是,一个4*4的方阵中,其数据存储为: 其颜色的存放格式如图所示: YUV格 阅读全文
posted @ 2013-10-29 11:05 Djzny 阅读(594) 评论(0) 推荐(0) 编辑
摘要: 本文的内容几乎全部来自于FFmpeg on Windows,但是由于国内的网络封锁,很难访问这个域名下的内容,因此我一方面按照我自己的理解和实践做了翻译,另一方面也是为了能提供一个方便的参考方法。 注: 对于compile和build这两个词,本文统一的使用编译这个词,根据上下文读者应能区分语义上的 阅读全文
posted @ 2013-10-29 10:16 Djzny 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 说明:本文只是对官方文档进行简单的翻译总结,旨在帮助一些英文不太好的朋友。官方文档请见wiki.videolan.org/Win32CompileMSYSNew。 Msys是MinGW的一个辅助工具,包括一些基于GCC的编译工具链。有了它,你能够轻松的在Windows上编译VLC(实际上,交叉编译V 阅读全文
posted @ 2013-10-29 10:07 Djzny 阅读(849) 评论(0) 推荐(0) 编辑
摘要: 最近在研究FFmpeg,比较惊讶的是网上一大堆资料都是在说如何从已有的视频中截取一帧图像,却很少说到如何直接从摄像头中捕获一帧图像,其实我一直有个疑问,就是在Linux下,大家是用什么库来采集摄像头的(opencv?)?还是自己写v4l2的代码来实现?我之前一直都是用v4l2来采集摄像头的。经过一些 阅读全文
posted @ 2013-10-29 09:32 Djzny 阅读(386) 评论(0) 推荐(0) 编辑
摘要: 效果图: 阅读全文
posted @ 2013-10-29 09:22 Djzny 阅读(341) 评论(0) 推荐(0) 编辑
摘要: 对VC工程中的调用过程有些迷糊,所以就理清一下: 1.#include "...h"为头文件预编译命令,如果这些代码被修改,则需要重新编译生成预编译头文件。 预编译头的概念(转载): 所谓的预编译头就是把一个工程中的那一部分代码,预先编译好放在一个文件里(通常是以.pch为扩展名的),这个文件就称为 阅读全文
posted @ 2013-10-28 13:55 Djzny 阅读(295) 评论(0) 推荐(0) 编辑
摘要: 在dllimport中加入CallingConvention参数就行了,[DllImport(PCAP_DLL, CharSet = CharSet.Auto, CallingConvention = CallingConvention.Cdecl)] 阅读全文
posted @ 2013-10-23 11:40 Djzny 阅读(367) 评论(0) 推荐(0) 编辑
摘要: 用.net做B/S结构的系统,您是用几层结构来开发,每一层之间的关系以及为什么要这样分层? 答: 从下至上分别为:数据访问层、业务逻辑层(又或成为领域层)、表示层 数据访问层:有时候也称为是持久层,其功能主要是负责数据库的访问 业务逻辑层:是整个系统的核心,它与这个系统的业务(领域)有关 表示层:是 阅读全文
posted @ 2012-07-17 19:21 Djzny 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 前言 每次服务器接受到请求,都要先经IIS处理。这不是一篇描述ASP.NE生命周期的文章,仅仅是关于IIS操作的。在我们开始之前,先了解这些会有助于对全文的理解,同时欢迎反馈和建议。 什么是Web Server? 每当我们通过VS运行ASP.NET网站时,VS集成的ASP.NET引擎会响应各种请求, 阅读全文
posted @ 2012-07-17 09:07 Djzny 阅读(113) 评论(0) 推荐(0) 编辑