用Delphi实现一套完整的多媒体直播系统
4 Comments 2013-11-09 admin
上文介绍了如何用实现基于RTMP协议的多媒体直播系统,但是因为服务器和播放端都是第三方的,所以本文介绍一个从采集推送、服务器和播放端都是自己实现的系统。自己全部实现的优点就是全部可控,例如延迟可以控制在0.1秒。
1、采集端。采集端跟前文的RTMP采集其实没有什么区别,但是有两个地方需要注意,一个就是视频压缩,因为我使用的H264是老版本的,这个版本要求视频的长和宽都必须是16的倍数,而对于视频文件来说,有些尺寸不一定能够满足,所以对于不满足条件的,我压缩强制了16位对齐(前文RTMP的H264我使用的是新版本的,所以不存在这个问题)。另外一个地方是音频压缩,我使用的是AAC,压缩的时候一定要注意输入的样本数量必须跟配置信息的一样,否则解压后播放起来会爆音。
2、服务器端。服务器端实现起来很简单,就是一个数据转发而已,我这里只是简单的写了一个:
3、播放端。播放端是继承自TSource的一个Filter,这个Filter有两个Pin,一个播放视频,一个播放音频。
实际上,视频直播现在已经流行视频用D3D,音频用IAudioClient,播放起来更加清晰,实现起来也更加简单,不需要什么DirectxShow的知识。点这里下载演示程序,相关问题请加QQ群讨论,另外群共享里面也有一些相关的代码。
分类:多媒体相关
4 Comments 发表评论
在群里没找到源码 请发邮件
前辈,你好
效果不错
能否给源码 学习学习
能共享一份源码学习学习,先谢过了^_^
你好请问怎么购买,还有QQ群是哪个 谢谢
发表评论
XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>
TrackBack URL | RSS feed for comments on this post.