用于接收网络音频流的Source Filter怎样控制播放速度?

lofree 2009-04-17 06:49:27
我写了一个push模式的SourceFilter,派生自CSourceStream
在FillBuffer函数中,填充网络中接收过来的音频数据(实时的音频流)

测试的时候,在本地将音频捕获后直接将捕获到的音频数据放入一个缓存区中,然后在FillBuffer函数中填充
发现要延迟7、8秒后才回放我刚刚讲过的话,并且是断断续续的,捕获的速度基本上是FillBuffer函数调用的2倍,
请问一下FillBuffer函数调用的频率是根据什么确定的?

使用IMediaSample.SetTime设置Buffer的起始流时间时,发现没起什么作用,如果要控制播放的速度应该做哪些工作呢?

我是新手,请各位多多指教,谢谢!
...全文
133 点赞 收藏 4
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
tc125948067 2009-05-04
学习了
回复
UDX协议 2009-05-01
这个问题,应该是和你的设置的时间戳有关系。
播 放太慢了。

你可以仔细听一下你的回放,是不是慢放?


这个时间是可以计算的,非常精准才行。或者,你设置时间戳为0。尽快的播 放,就不会慢了。
回复
stupidcdog66 2009-04-25
請問你是在mobile環境實作的嗎?你是怎麼去將接收到的packet,與directshow建立filter?

可以提供些相關的source code參考嗎?

謝謝你
回复
banshake 2009-04-21
在Push Source的Pin上增加SetRate函数,如果应用程序中改变了速率,会最终把参数传到SetRate中去
回复
相关推荐
视频解码播放之VLC
从已有服务器上接收多媒体,对码解码、分析、播放。 站在巨人的肩膀上才能看的更远。对于这个问题,先参考已有的比较成熟的开源项目,从中找到研究的思路。VLC无疑是一个比较好的选择。VLC是一种跨平台的媒体...
音频IPC通讯原理研究
1.背景 音频 IPC相对于普通IPC相比,支持语音的...音频IPC的视频部分与普通IPC对比,几乎是完全一致,只是添加了音频的部分,因此本文从音频的角度出发,介绍音频的产生、音频数据的传输、以及音频的处理等方面内容。
实时流播放source filter的几个问题
我现在做一个网络接收mpeg1数据filter。我用的是memfile改造的source filter,在开发的过程中遇到几个问题。 1、我们网络传输的都是视频卡和音频卡采集来的mpeg1的数据,没有任何其他自己添加的控制数据。所以,...
DirectShow编程(3.4) - 关于DirectShow - Filter Graph中的数据
Filter Graph中的数据  这一节主要描述媒体数据是如何在filter graph中流动的。如果你只是为了编写DirectShow应用程序,你不需要知道这些细节,当然,知道这些细节对于编写directshow应用程序仍然是有帮助...
【连肝10个晚上 吐血整理】那些让你起飞的计算机网络、计算机网络由基础到深入!
view:具体构成描述a service view:为应用程序提供服务的基础设施角度描述internet 和 Internet 的区别Edge和Core网络延迟丢包Packet loss吞吐量:发送端和接收端之间每秒可以传送的bit数量加密技术名词Internet...
媒体技术知识梳理整合
媒体技术是将采集到的连续非串流格式的视频和音频编码压缩(目的:减少对带宽的消耗)成串格式(目的:提高音视频应用的质量)放到网站服务器上,传送到网络上,用户通过客户端播放器搜索自己想看的节目实现一边...
Directshow中Filter开发基础
关于开发自己的Filter,我以前写过一篇文章,《利用Directshow开发自己的filter》,里面详细介绍了开发filter一些步骤,这里我想介绍一些filter的基础知识,可以让你更好的理解filter。本篇文档主要包括下面一些内容...
android 播放视频卡顿,android播放一个mp4文件的问题 卡顿非常严重
播放高清mp4视频,14Mbps/s high profile5.1,文件本地播放可以,在局域网内点播卡顿非常严重(在同样测试条件下,播放局域网的16Mbps的mp4都可以),接收音视频包时一直有如下打印:03-29 07:45:50.160 17011-17057/...
vlc结构分析和视频播放的基本原理
第一部分 变量及宏定义  1.消息映射宏  vlc_module_begin();  …………………..  vlc_module_end();  2.结构中包含函数  struct input_thread_t  {  VLC_COMMON_MEMBERS  /* Thread properties ...
Filter开发基础
关于开发自己的Filter,我以前写过一篇文章,《利用Directshow开发自己的filter》,里面详细介绍了开发filter一些步骤,这里我想介绍一些filter的基础知识,可以让你更好的理解filter。本篇文档主要
网络编程资源大集合(包含前端、java、linux、安卓、github开源项目、开发工具等)
以下内容来自转载(非常感谢此文第一作者):1.安卓各组件介绍一、ListView二、ActionBar三、Menu四、ViewPager 、Gallery五、GridView六、ImageView七、ProgressBar八、其他2.GitHub上优秀Android开源项目3....
视频播放的基本原理
视频播放的基本原理VLC是一个功能强大的玩意,能做很多有意思的事情。最简单的,从界面打开一个文件播放,也可以在命令行下使用,如 C:/Program Files/VideoLAN/VLC>vlc.exe test.ts获取内置的帮助,会写到vlc-help...
Dshow--filter
COM编程基础  DirectShow应用程序实际上是一种COM组件的客户程序,只是COM组件的“使用”问题,这些...  对于filter开发人员来说,需要掌握的COM知识就要多一些。因为filter本身是一种COM组件,开发filter牵涉到了CO
请教一个网络音视频接收程序的音视频同步问题
4,Filter上有两个Buffer queues,一个音频一个视频,用于接收和缓存解复用程序送来的数据。 5,Output pins激活后分别启动两个Multimedia timers,用于从Buffer queues里取出数据并推向下游。 下面问题就来了。 该...
音频系统(一)
一、概述 使游戏世界产生声音:(Audio Listenner & Audio Source组件) ●Listenner:是声音的接受着,每个场景只能有一个...1、Unity常用的音频格式类型 ●AIF:适于较短的音乐文件,可用作音效; ●WAV(...
网络运维词汇汇总
本篇之所以起该名字
音视频播放原理
当初看VLC代码花了不少时间,其中很大的原因是不太了解视频播放的基本原理。现在看来,几乎所有的视频播放器,如VLC、MPlayer、Xine,包括DirectShow,在播放视频的原理和架构上都是非常相似的,理解这个对理解VLC的...
VLC&视频播放的基本原理
VLC是一个功能强大的玩意,能做很多有意思的...最简单的,从界面打开一个文件播放,也可以在命令行下使用,如 C:/Program Files/VideoLAN/VLC>vlc.exe test.ts 获取内置的帮助,会写到vlc-help.txt C:/Program Fi
Directshow中Filter开发基础
1filter的连接Pin的连接应用程序通过调用filter 图表管理器的方法来连接filter,并不是来调用filter或者pin本身的函数。应用程序可以调用IFilterGraph::ConnectDirect or IGraphBuilder::Connect来指定不同的filter...
Filter开发基础
Filter开发基础摘要:关于开发自己的Filter,我以前写过一篇文章,《利用Directshow开发自己的filter》,里面详细介绍了开发filter一些步骤,这里我想介绍一些filter的基础知识,可以让你更好的理解filter。...
音视频播放器关键技术探讨
1. 常用播放器介绍 目前,市面上存在为数众多的各种各样媒体播放器,即使是被广泛使用的播放器也超过10种。这些播放器有公司的产品,也有个人爱好者出于自身兴趣推出的作品;有收费的,也有不少是免费的。...
Linux音频设备两种框架OSS和ALSA驱动
在Linux中,先后出现了音频设备的两种框架OSS和ALSA,本节将在介绍数字音频设备及音频设备硬件接口的基础上,展现OSS和ALSA驱动的结构。 17.1~17.2节讲解了音频设备及PCM、IIS和AC97硬件接口。 17.3节阐述了Linux...
STM32F407 / F103 PCF8575模块 控制16个I/O口 IIC通信
本例程为STM32F407控制PCF8575模块的16个I/O口输出,本例程基于正点原子STM32F407 IIC例程修改,本例程中使用PCF8575控制16个继电器。
OpenGL-Shader
共六章 1.基础章节,从Shader1.0版本到新的4.5版本,介绍每一个版本中特性的用法; 2.Tesslattion Shader应用/基础案例分析 3.Gemotry Shader应用/基础案例分析 4.Compute Shader应用/基础案例分析 5.通过大量案例讲解分析/结合新特性,介绍用法 6.性能调优,如果借助shader加速应用,让你的程序支撑百万级别的场景对象轻松应对 全面解析OpenGL Shader语言,从1.0到4.5版本,全面掌握shader编成,并能够熟练的应用
比较两张图片差异
比较两张图片差异,代码收集于网上,码收集于网上
QT实战之监控系统
本课程基本Qt for windows平台下开发的监控界面程序,支持添加摄像头播放监控画面,支持1、4、9、16分屏显示,通过封装播放器,可以支持多协议,本地视频多种播放方式,随意封装播放器功能,并且可在此基础上对本次监控系统进行二次开发,友好的界面操作,支持系统拖盘,全屏多分屏显示等。 本课程一步一步的实现整个监控系统页面,最终实现整个监控系统,通过学习本教程能快速学会Qt for windows下QT界面开发,并且对于流媒体有一定的了解,通过封装三方播放器可以轻松学会实现封装自己所需要的功能。另外本教程基于实际项目做课程演讲开发,可以学到真实项目开发经验。
掌握C语言链表
链表是一种使用极其广泛的数据结构,它也可以用来作为实现栈、队列等数据结构的基础,链表没有像数组需要预先知道数据大小的缺点,可充分利用计算机内存,实现动态灵活的内存管理。除非需要频繁的通过下标来随机访问各个数据,否则数组都可以用链表代替。链表作为C语言数据结构的难点,更是面试中必考的知识点。 此课程是黄强老师针对C语言链表的专题课程,通过对链表通俗的讲解,结合简单易懂的代码,帮助学员对链表快速的理解,并讲结合真实企业开发中链表常用的算法技巧,从而帮助学员高效,快速、灵活的掌握链表这一难点!
c#图片文字-字母-数字自动识别-深入代码-非常好
c#图片文字-字母-数字自动识别-深入代码-非常好
rtl8188eu_USB_linux.tar.gz
TP-LINK TL-WN725N V2 Linux 驱动安装
Control-flow Enforcement Technology Preview 2.0 spec
Intel CFI技术手册。 Intel CFI从CPU层次检测和防止ROP/JOP攻击,主要包含shadow stack和endbranch两项技术。 比软件层面的防御方法,如微软的CFG,更有效。目前Intel最新编译器已经支持此技术
发帖
多媒体/流媒体开发
创建于2007-08-27

2442

社区成员

专题开发/技术/项目 多媒体/流媒体开发
申请成为版主
帖子事件
创建了帖子
2009-04-17 06:49
社区公告
暂无公告