采集媒体数据的方法、媒体终端及音乐教学系统的制作方法_3

文档序号:9670796阅读:来源:国知局
8] IntCDsCap山化DemoDlg::P!.ocessNetsend() wWk(TRUE){ 《循坏检测,直到接收到线程停止或者程序关切指令 if(线程结束)//如果接受到线程停止命令,就退出处理循坏 break; //跳出循琢 } 巧音频缓冲区230有数据)//如果音频缓冲区230有数据的话 { 取出音频顿,并推送到发送缓冲区250 重新进入下一炭的循环检测 else //如果音频缓冲区没有数据 ! 巧视频缓冲区220有数据)/Y如果视频缓冲区有数据 {
[0059] 巧发送缓冲区250未发送的敎量欠于5) //网络发送缓冲出现异常 视频数据不发送,进行网络异常处理 SIeep(IO);/./cpu空闲 10 毫秒 重新进入下一次的循琢检测 1 else//网络正常,没有待发送的音频顿,可^乂发送视频顿 ! 发送视频顿到发送缓冲区250 重新进入下一次的循环检测 } d洗 //如果视频缓冲区没有数据 { SleepC10);ZZcpu空阔 10 毫秒 重新进入下一次的循琢检测 }
[0060] 如上所述,控制单元270在检测到视频缓冲区220不为空且待发送的数据帖数量 未超过阔值时,从视频缓冲区220提取一帖视频帖并推送到发送缓冲区250。综上,根据本 发明的控制单元270可W优先将音频缓冲区240中音频帖推送到发送缓冲区250,而在音频 缓冲区240为空并且发送缓冲区中数据帖的数量没有超过阔值时,才会将视频缓冲区220 中视频帖推送到发送缓冲区250。运样,根据本发明的媒体终端200可W始终优先对音频帖 进行传输,而在传输音频帖的间隙对视频帖进行传输。特别是,在网络带宽较低时(即发送 缓冲区250中数据帖的数量超过阔值),根据本发明的媒体终端200可W停止向发送缓冲 区250推送视频帖,而正常地将音频缓冲区240中音频帖推送到发送缓冲区250中。运样 的工作方式可W在网络带宽较低时有效减小传输单元260需要发送的数据量,从而有效的 保证音频帖的实时传输。换言之,根据本发明的媒体终端200实现了对音频帖的优先传输, 从而避免了媒体播放端所播放声音的卡断问题。应当注意,在音乐教学等声音重要性较高 的场合中,根据本发明的媒体终端保证声音数据的实时传输,进而媒体播放端可W播放播 放连续、不失真的音频数据。
[0061] 另外,在发送缓冲区250中数据帖的数量大于阔值时,控制单元270确认当前网络 异常。控制单元270还适于计算传输单元260对发送缓冲区中视频帖的发送码率,W便视 频采集单元210根据该发送码率对视频帖的生成码率进行调节。根据本发明一个实施例, 控制单元270可W统计预定时间(例如2秒)内,传输单元对发送缓冲区中视频帖的发送 数量,进而计算发送码率。随后,视频采集单元210可W根据发送码率对图像采集参数和编 码参数进行调节,W便调节视频帖的生成码率。例如,视频采集单元210可W对采集原始图 像的尺寸(分辨率)或者采集帖率进行调节。又例如,视频采集单元220可W对对原始图 像帖进行编码操作时的编码参数进行调节。编码参数例如包括编码帖率、生成视频帖的编 码尺寸等。运样,视频采集单元210在调节生成码率后,使得生成码率与传输单元260对视 频帖的发送码率相匹配。进一步,传输单元260可W对视频帖进行实时发送,并有效减小了 发送缓冲区250中数据帖数量超过阔值的情况出现,并且避免了由于视频缓冲区220中视 频帖码率过高而不能被及时传输的问题。另外,由于视频采集单元可W对编码帖率进行调 节,使得传输单元260所传输的视频帖的序列在采集时间上是均匀的。运样,媒体播放端避 免了所播放的视频帖延时过大和画面跳跃的问题。
[0062] 图3示出了根据本发明一些实施例的采集媒体数据的方法300的流程图。方法 300适于在根据本发明的媒体终端中执行。
[0063] 如图3所示,方法300始于步骤S310。在步骤S310中,采集声音并编码为音频帖, 并将该音频帖存放到音频缓冲区中。方法300还可W包括步骤S320,采集图像并编码为视 频帖,并将该视频帖存放到视频缓冲区中。运里,音频缓冲区和视频缓冲区例如是环形缓 冲。另外,在步骤S320中,还可W记录捕获到视频帖对应的原始图像的当前时间,作为第一 时间戳。每个视频帖还可W包括对应的第一时间戳。在步骤S310中,还可W记录音频帖的 采集时间,作为第二时间戳。运里第二时间戳例如为音频帖第一个采样点的时间戳。音频 帖还可W包括第二时间戳。运样媒体播放端在获取到媒体终端200传输的音频帖和视频帖 时,可W根据第一时间戳和第二时间戳对音频帖和视频帖进行同步处理。
[0064] 根据本发明的媒体终端包括发送缓冲区。发送缓冲区适于存放一个或多个待发送 的数据帖。每个待发送的数据帖为来自视频缓冲区的视频帖或来自音频缓冲区的音频帖。 对于存放到音频缓冲区中的音频帖和存放在视频缓冲区中的视频帖,方法300通过执行步 骤S330、S340和S350对音频帖和视频帖的网络传输进行控制。在步骤S330中,检测音频 缓冲区并将其中的音频帖推送到发送缓冲区中。另外,如果在步骤S330中检测到音频缓冲 区为空,则方法300执行步骤S340。在步骤S340中,判断是否发送缓冲区中待发送数据帖 的数量未超过阔值且视频缓冲区不为空。具体而言,根据本发明的一个实施例,在步骤S340 中,首先检测视频缓冲区是否为空。如果视频缓冲区为空,则当前没有需要发送的视频帖, 方法300继续执行步骤S330。如果视频帖不为空,则继续检测发送缓冲区中待发送的数据 帖的数量是否超过阔值。如果,待发送数据帖数量超过阔值,则说明当前传输网络阻塞。为 了优先传输音频帖,则不会将视频帖推送到发送缓冲区,而是继续执行步骤S330。根据本 发明又一个实施例,在步骤S340中,首先检测当前发送缓冲区中待发送的数据帖的数量是 否超过阔值。如果超过阔值,则不再检测视频缓冲区,而是继续执行步骤S330。
[00化]另外,如果在步骤S340中,检测到待发送的数据帖的数量未超过阔值,并且视频 缓冲区不为空,则执行步骤S350。在步骤S350中,从视频缓冲区中提取一帖视频帖并推送 到发送缓冲区。
[0066] 如上所述,根据本发明的方法300适于通过执行步骤S310和S320来生成音频帖 和视频帖,并且通过执行步骤S330、S340和S350对所要发送的音频帖和视频帖进行选择, 进而将待发送的数据帖存放到发送缓冲区中。对于发送缓冲区中数据帖,方法300通过执 行步骤S360来进行网络传输。在步骤S360中,将发送缓冲区中待发送的数据帖传输到媒 体服务器。根据本发明的方法300更具体的实施方式与图2中媒体终端200的工作方式一 致,运里不再寶述。
[0067] A10、如A8或A9所述的方法,其中,所述视频缓冲区、所述音频缓冲区和所述发送 缓冲区为环形缓冲。All、如A8-A10中任一项所述的方法,其中,所述判断是否发送缓冲区 中待发送数据帖的数量未超过阔值且视频缓冲区不为空的步骤包括:检测视频缓冲区是否 为空,如果不为空,继续检测所述发送缓冲区中待发送数据帖的数量是否超过阔值。A12、如 A8-A11中任一项所述的方法,其中,所述判断是否发送缓冲区中待发送数据帖的数量未超 过阔值且视频缓冲区不为空的步骤包括:检测所述发送缓冲区中待发送数据帖的数量是否 超过阔值,并在未超过阔值时,检测视频缓冲区是否为空。A13、如A8-A12中任一项所述的 方法,其中,所述视频帖包括第一时间戳,该第一时间戳为该视频帖对应的图像的捕获时间 值;所述音频帖包括第二时间戳,该第二时间戳为该音频帖对应的声音的捕获时间值。A14、 如A8-A13中任一项所述的方法,其中所述阔值为5。
[0068] 在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施 例可W在没有运些具体细节的情况下被实践。在一些实例中,并未
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1