多媒体开发
文章平均质量分 80
jinhaijian
这个作者很懒,什么都没留下…
展开
-
live555源代码简介
<br />live555源代码简介<br />liveMedia项目的源代码包括四个基本的库,各种测试代码以及IVE555 Media Server。<br />四个基本的库分别是UsageEnvironment&TaskScheduler,groupsock,liveMedia,BasicUsageEnvironment。<br />UsageEnvironment和TaskScheduler类用于事件的调度,实现异步读取事件的句柄的设置以及错误信息的输出。另外,还有一个HashTable类定义了一个通转载 2010-08-18 10:20:00 · 859 阅读 · 0 评论 -
Ffmpeg和SDL教程(八)软件缩放
<br />Ffmpeg和SDL教程(八)软件缩放<br />软件缩放库libswscale <br />近来ffmpeg添加了新的接口:libswscale来处理图像缩放。<br />但是在前面我们使用img_convert来把RGB转换成YUV12,我们现在使用新的接口。新接口更加标准和快速,而且我相信里面有了MMX优化代码。换句话说,它是做缩放更好的方式。<br />我们将用来缩放的基本函数是sws_scale。但一开始,我们必需建立一个SwsContext的概念。这将让我们进行想要的转换,然后把它传转载 2010-09-02 19:22:00 · 3378 阅读 · 0 评论 -
制作FFmpeg SDK for MS Visual Studio
<br />制作FFmpeg SDK for MS Visual Studio<br />作者:金海建<br />编译SDK<br />编译之后,运行make install后,在C:/MSYS/local会生成bin、include、lib等文件夹。这样ffmpeg的编译环境就帮我生成了一个SDK,这个SDK在linux上用C来开发是没有问题的,我们需要使这个SDK在MS Visual Studio 开发环境中能用,编译的时候会碰到一大堆问题。我的环境是VS2008。<br /> <br />建立工程:<原创 2010-09-10 14:36:00 · 11869 阅读 · 5 评论 -
Ffmpeg和SDL教程(六)同步音频
<br />Ffmpeg和SDL教程(六)同步音频<br />同步音頻<br />现在我们已经有了一个比较像样的播放器。所以让我们看一下还有哪些零碎的东西没处理。上次,我们掩饰了一点同步问题,也就是同步音频到视频而不是其它的同步方式。我们将采用和视频一样的方式:做一个内部视频时钟来记录视频线程播放了多久,然后同步音频到上面去。后面我们也来看一下如何推而广之把音频和视频都同步到外部时钟。<br /> <br />生成一个视频时钟 <br />现在我们要生成一个类似于上次我们的声音时钟的视频时钟:一个给出当前视转载 2010-08-24 11:59:00 · 3289 阅读 · 0 评论 -
ffmpeg和SDL教程(二)输出到屏幕
ffmpeg和SDL教程(二)输出到屏幕SDL和视频为了在屏幕上显示,我们将使用SDL.SDL是Simple Direct Layer的缩写。它是一个出色的多媒体库,适用于多平台,并且被用在许多工程中。你可以从它的官方网站的网址 http://www.libsdl.org/ 上来得到这个库的源代码或者如果有可能的话你可以直接下载开发包到你的操作系统中。按照这个指导,你将需要编译这个库。(剩下的几个指导中也是一样) SDL库中有许多种方式来在屏幕上绘制图形,而且它有一个特殊的方式来在屏幕上显示图像――这种方式转载 2010-08-20 17:24:00 · 4781 阅读 · 0 评论 -
Ffmpeg和SDL教程(五)如何同步视频
<br />Ffmpeg和SDL教程(五)如何同步视频<br />PTS和DTS<br />幸运的是,音频和视频流都有一些关于以多快速度和什么时间来播放它们的信息在里面。音频流有采样,视频流有每秒的帧率。然而,如果我们只是简单的通过数帧和乘以帧率的方式来同步视频,那么就很有可能会失去同步。于是作为一种补充,在流中的包有种叫做DTS(解码时间戳)和PTS(显示时间戳)的机制。为了这两个参数,你需要了解电影存放的方式。像MPEG等格式,使用被叫做B帧(B表示双向bidrectional)的方式。另外两种帧被叫做转载 2010-08-23 16:31:00 · 4811 阅读 · 2 评论 -
Ffmpeg和SDL教程(四)创建线程
<br />Ffmpeg和SDL教程(四)创建线程<br />Spawning Threads<br />Overview<br />Last time we added audio support by taking advantage of SDL's audio functions. SDL started a thread that made callbacks to a function we defined every time it needed audio. Now we're going转载 2010-08-23 10:57:00 · 3961 阅读 · 0 评论 -
FFmpeg和SDL教程(三)播放声音
FFmpeg和SDL教程(三)播放声音视频现在我们要来播放声音。SDL也为我们准备了输出声音的方法。函数SDL_OpenAudio()本身就是用来打开声音设备的。它使用一个叫做SDL_AudioSpec结构体作为参数,这个结构体中包含了我们将要输出的音频的所有信息。 在我们展示如何建立之前,让我们先解释一下电脑是如何处理音频的。数字音频是由一长串的样本流组成的。每个样本表示声音波形中的一个值。声音按照一个特定的采样率来进行录制,采样率表示以多快的速度来播放这段样本流,它的表示方式为每秒多少转载 2010-08-20 18:14:00 · 5405 阅读 · 1 评论 -
ffmpeg和SDL教程(一)文件读取和保存
ffmpeg和SDL教程(一)电影文件有很多基本的组成部分。首先,文件本身被称为容器Container,容器的类型决定了信息被存放在文件中的位置。AVI和Quicktime就是容器的例子。接着,你有一组流,例如,你经常有的是一个音频流和一个视频流。(一个流只是一种想像出来的词语,用来表示一连串的通过时间来串连的数据元素)。在流中的数据元素被称为帧Frame。每个流是由不同的编码 器来编码生成的。编解码器 描述了实际的数据是如何被编码Coded和解码DECoded的,因此它的名字叫做CODEC。Divx和 M转载 2010-08-20 16:53:00 · 4645 阅读 · 0 评论 -
Windows 下编译FFmpeg
Windows XP下编译FFmpeg作者:金海建 FFmpeg是一个开源免费的跨平台的视频和音频流方案,采用LGPL或GPL许可证。FFmpeg在Linux编译比较方便。在Windows 上就相对的麻烦些了。编译FFmpeg需要如下软件:MSYS:Minimal GNU(POSIX)system on Windows,是一个小型的GNU环境,包括基本的bash,make等等。是Windows下最优秀的GNU环境 FFmpeg 0.6: 最新的Release版本是0.6版本,当然你原创 2010-08-18 17:59:00 · 2903 阅读 · 1 评论 -
Ffmpeg和SDL教程(七)快进快退
<br />Ffmpeg和SDL教程(七)快进快退<br />处理快进快退命令<br />现在我们来为我们的播放器加入一些快进和快退的功能,因为如果你不能全局搜索一部电影是很让人讨厌的。同时,这将告诉你av_seek_frame函数是多么容易使用。<br />我们将在电影播放中使用左方向键和右方向键来表示向后和向前一小段,使用向上和向下键来表示向前和向后一大段。这里一小段是10秒,一大段是60 秒。所以我们需要设置我们的主循环来捕捉键盘事件。然而当我们捕捉到键盘事件后我们不能直接调用av_seek_fram转载 2010-09-02 19:20:00 · 3497 阅读 · 0 评论