CN1396526A - 实时音视频单节目源多码率压缩方法 - Google Patents
实时音视频单节目源多码率压缩方法 Download PDFInfo
- Publication number
- CN1396526A CN1396526A CN 02125910 CN02125910A CN1396526A CN 1396526 A CN1396526 A CN 1396526A CN 02125910 CN02125910 CN 02125910 CN 02125910 A CN02125910 A CN 02125910A CN 1396526 A CN1396526 A CN 1396526A
- Authority
- CN
- China
- Prior art keywords
- audio
- video
- unit
- video data
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 17
- 230000006835 compression Effects 0.000 title claims abstract description 12
- 238000007906 compression Methods 0.000 title claims abstract description 12
- 230000009183 running Effects 0.000 claims description 7
- 230000000903 blocking effect Effects 0.000 claims description 6
- 238000005056 compaction Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000001681 protective effect Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
Images
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明属于计算机多媒体技术领域,涉及实时音视频单节目源多码率压缩方法,本发明方法是对一路视频输入同时启动多路视频编码器进行压缩编码,同样对一路音频输入也同时启动多路音频编码器进行压缩编码,音频编码器的数目和视频编码器的数目可以不同,具体数量由系统配置和用户需求决定,压缩后的音频码流和视频码流可以自由组合生成最终的不同码率的音视频输出码流。这些编码器并行运行。本发明不但可以同时满足带宽从14.4Kbps到10Mbps高、中、低码率的用户需求;而且可充分利用服务器系统资源,具有工作效率高的特点。
Description
技术领域
本发明属于计算机多媒体技术领域,特别涉及流媒体实时音视频压缩编码技术。
背景技术
流媒体技术是近年来兴起的一种在线播放技术。在线播放,顾名思义就是边下载边播放,播放器并不用等到多媒体文件全部下载到本地硬盘以后再播放,而是在下载的同时进行播放。播放器在客户端的内存中开辟出一个缓冲区,通常是几兆字节的空间,播放器等待缓冲区中有足够的数据后开始解码播放,这个过程通常需要几秒钟的时间,同下载完后再播放相比大大节省了等待时间,而且由于没有下载到硬盘上,而是直接存储到内存中,播放完后即被播放器删除,因此对数字版权起到保护作用。
流媒体系统如图1所示,主要由四部分组成:压缩编码服务器、播放服务器、文件服务器、播放器。压缩编码服务器是流媒体系统的一个重要组成部分,压缩编码服务器中的压缩软件将采集卡采集到的音视频帧进行压缩编码,存储到文件服务器的数据库中或送给播放服务器。
当前应用的压缩编码服务器的实时音视频单节目压缩方法为:分别启动一个音频编码器和一个视频编码器,对采集到的一路音频、视频数据进行压缩编码后输出一路单一码率的音频、视频码流A0、V0,经合成为单一码率的媒体流AV0,如图2所示。采用这种方法的压缩编码服务器,用户观看时只能选择这一码率,没有别的选择。由于客户端网络配置和网络带宽的多样性,带宽从14.4Kbps到10Mbps不等,采用单一码率必然不能满足大部分用户的需求。采用高码率压缩,低码率用户无法观看节目;采用低码率,又无法发挥高带宽用户的带宽优势,不能满足高带宽用户的要求。
发明内容
本发明的目的是为克服已有技术的不足之处,提出一种实时音视频单节目源多码率压缩方法,不但可以同时满足带宽从14.4Kbps到10Mbps高、中、低码率的用户需求;而且可充分利用服务器系统资源,具有工作效率高的特点。
本发明提出的一种实时音视频单节目源多码率压缩方法,包括以下步骤:
1、将采集到的原始音频数据循环地存放到音频缓冲区的单元1到单元L里,原始视频数据循环地存放到视频缓冲区的单元1到单元K里,每一单元音频缓冲区保存一帧音频数据,每一单元视频缓冲区保存一帧视频数据;
2.主音频编码器、主视频编码器分别循环地从所说的音频、视频缓冲区每个单元中读取音频、视频数据,若音频缓冲区的单元中有音频数据,立即将该音频数据分别放入主从音频编码器缓冲区的1到X单元中,若视频缓冲区的单元中有视频数据,将该视频数据分别放入主从视频编码器缓冲区的1到Y单元中,然后主音频编码器和主视频编码器开始压缩编码,编码结束后主音频编码器输出码率为A0的音频码流,主视频编码器输出码率为V0的视频码流,然后继续读取下一帧数据;若音、视频缓冲区各个单元中没有音、视频数据,则主音、视频编码器进入阻塞等待状态,直到音视频缓冲区中有音视频数据才从阻塞等待状态进入运行状态;
3.m-1个从音频编码器和n-1个从视频编码器循环地从主从音、视频编码器缓冲区各单元中读取音、视频数据,若主从音视频编码器缓冲区各单元中有音视频数据立即开始压缩编码,各个从音频编码器压缩完一帧音频数据后,分别输出码率为A1到Am-1的音频码流;同样n-1个从视频编码器压缩完一帧视频数据后,输出码率V1到Vn-1的视频码流,;然后继续从主、从音视频编码器缓冲区中读取下一帧音、视频数据;若没有音、视频数据则进入阻塞等待状态,直到主从音、视频编码器缓冲区中有音、视频数据才从阻塞等待状态进入运行状态;
4.将各个主、从音频编码器和主、从视频编码器中输出的不同码率的码流再组合成所需要码率的码流。
采用本发明方法的多码率编码服务器可以根据硬件的配置,选择实时音视频编码器的个数,码率可以根据用户的需求进行配置,范围从14.4Kbps到10Mbps覆盖高、中、低码率。本方法中的音频、视频缓冲区和主从音、视频编码器缓冲区的单元数目的多少也可根据实际应用设定。本发明的方法特点:
本发明对一路视频输入同时启动多路视频编码器进行压缩编码,同样对一路音频输入也同时启动多路音频编码器进行压缩编码,音频编码器的数目和视频编码器的数目可以不同,具体数量由系统配置和用户需求决定,压缩后的音频码流和视频码流可以自由组合生成最终的不同码率的音视频输出码流。这些编码器并行运行。其优点为:
1.可以同时满足带宽从14.4Kbps到10Mbps高、中、低码率的用户需求;
2.多个编码器并行编码,提高效率;
3.充分利用服务器系统资源;
4.完全由软件完成,不需要额外硬件;
5.简单易行,效果突出;
6.不同码率的码流间没有时延。
附图说明
图1为典型的流媒体系统结构图。
图2为现有单码率压缩编码方法流程框图。
图3为本方法单节目源多码率压缩编码方法流程框图。
具体实施方式
本发明提出的实时音视频单节目源多码率压缩方法实施例结合附图详细说明如下:
本实施例的压缩编码服务器的配置为:
CPU:Intel PIII 1GHz
内存:128M
操作系统:RedHat7.1 Linux Server
编程语言:C++
流媒体编码服务器:LSMP Media Encoder
流媒体编码服务器的参数设置:
音频编码器个数:2
音频编码器的码率设置:16kbps、128kbps
音频缓冲区:L=4
主从音频编码器缓冲区:X=4
视频编码器个数:3
视频编码器的码率设置:672kbps、322kbps、84kbps
视频缓冲区:K=4
主从视频编码器缓冲区:Y=4
本发明方法的实施例主要采用了多线程进行并发压缩编码,即有几个音频编码器和几个视频编码器就创建几个音频编码线程和几个视频编码线程,每一个音频编码器和每一个视频编码器作为一个C++对象被对应的音频编码线程和视频编码线程所调用。各个音频编码线程和各个视频编码线程,独立地进行压缩编码,输出不同码率的码流。具体包括以下步骤:
1.创建并初始化一个主音频编码线程、一个从音频编码线程和一个视频编码线程、两个从视频编码线程,同时创建并初始化一个主音频编码器、一个从音频编码器和一个视频编码器、两个从视频编码器;
2.启动并初始化采集卡驱动程序;
3.采集卡驱动程序将采集到原始音频数据循环地存放到音频缓冲区的单元1到单元4中,视频数据循环地存放到视频缓冲区的单元1到单元4中,每一单元音频缓冲区保存一帧音频数据,每一单元视频缓冲区保存一帧视频数据;
4.主音频编码线程、主视频编码线程分别循环地从音频、视频缓冲区每个单元中读取音频、视频数据,若音视频缓冲区的单元中有音视频数据,立即将该音频数据分别放入主从音频编码器缓冲区的1到4单元中,将该视频数据分别放入主从视频编码器缓冲区的1到4单元中,然后主音频编码线程调用主音频编码器和主视频编码线程调用主视频编码器开始压缩编码,编码结束后主音频编码器输出码率为128kbps的音频码流,主视频编码器输出码率为672kbps的视频码流,然后继续读取下一帧;若音频缓冲区和视频缓冲区各个单元中没有音视频数据,则主音频编码线程和主视频编码线程进入阻塞等待状态,直到音视频缓冲区中有音视频数据才从阻塞等待状态进入运行状态;
5. 1个从音视频编码线程和2个从视频编码线程循环地从主从音视频编码器缓冲区中读取音视频数据,若主从音视频编码器缓冲区各单元中有音视频数据立即开始压缩编码,1个从音频编码线程压缩完一帧音频数据后,输出码率为16kpbs的音频码流,2个从视频编码线程压缩完一帧视频数据后,输出码率84kbps和322kpbs的视频码流,然后继续从主从音视频编码器缓冲区各单元中读取下一帧音视频数据;若没有音视频数据则进入阻塞等待状态,直到主从音视频编码器缓冲区中有音视频数据才从阻塞等待状态进入运行状态;
6. 16kbps的音频码流和84kbps的视频码流组合成100kbps的音视频码流,128kbps的音频码流分别和322kbps和672kbps的视频码流组合成450kbps和800kbps的音视频码流。
Claims (1)
1、一种实时音视频单节目源多码率压缩方法,包括以下步骤:
1)将采集到的原始音频数据循环地存放到音频缓冲区的单元1到单元L里,原始视频数据循环地存放到视频缓冲区的单元1到单元K里,每一单元音频缓冲区保存一帧音频数据,每一单元视频缓冲区保存一帧视频数据;
2)主音频编码器、主视频编码器分别循环地从所说的音频、视频缓冲区每个单元中读取音频、视频数据,若音频缓冲区的单元中有音频数据,立即将该音频数据分别放入主从音频编码器缓冲区的1到X单元中,若视频缓冲区的单元中有视频数据,将该视频数据分别放入主从视频编码器缓冲区的1到Y单元中,然后主音频编码器和主视频编码器开始压缩编码,编码结束后主音频编码器输出码率为A0的音频码流,主视频编码器输出码率为V0的视频码流,然后继续读取下一帧数据;若音、视频缓冲区各个单元中没有音、视频数据,则主音、视频编码器进入阻塞等待状态,直到音视频缓冲区中有音视频数据才从阻塞等待状态进入运行状态;
3)m-1个从音频编码器和n-1个从视频编码器循环地从主从音、视频编码器缓冲区各单元中读取音、视频数据,若主从音视频编码器缓冲区各单元中有音视频数据立即开始压缩编码,各个从音频编码器压缩完一帧音频数据后,分别输出码率为A1到Am-1的音频码流;同样n-1个从视频编码器压缩完一帧视频数据后,输出码率V1到Vn-1的视频码流;然后继续从主、从音视频编码器缓冲区中读取下一帧音、视频数据;若没有音、视频数据则进入阻塞等待状态,直到主从音、视频编码器缓冲区中有音、视频数据才从阻塞等待状态进入运行状态;
4)将各个主、从音频编码器和主、从视频编码器中输出的不同码率的码流再组合成所需要码率的码流。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 02125910 CN1396526A (zh) | 2002-08-02 | 2002-08-02 | 实时音视频单节目源多码率压缩方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 02125910 CN1396526A (zh) | 2002-08-02 | 2002-08-02 | 实时音视频单节目源多码率压缩方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1396526A true CN1396526A (zh) | 2003-02-12 |
Family
ID=4745685
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 02125910 Pending CN1396526A (zh) | 2002-08-02 | 2002-08-02 | 实时音视频单节目源多码率压缩方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1396526A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102215424A (zh) * | 2010-04-12 | 2011-10-12 | 腾讯科技(深圳)有限公司 | 一种网络电视直播的方法、装置和系统 |
CN101588488B (zh) * | 2009-06-18 | 2011-12-28 | 北京浪弯融科科技有限责任公司 | 多机位流媒体播放方法及系统 |
CN103179421A (zh) * | 2013-01-25 | 2013-06-26 | 成都索贝数码科技股份有限公司 | 一种立体视频文件的描述与管理方法 |
CN104795072A (zh) * | 2015-03-25 | 2015-07-22 | 无锡天脉聚源传媒科技有限公司 | 一种音频数据的编码方法及装置 |
CN105898211A (zh) * | 2015-12-21 | 2016-08-24 | 乐视致新电子科技(天津)有限公司 | 一种处理多媒体信息的方法及装置 |
CN106303618A (zh) * | 2016-08-05 | 2017-01-04 | 武汉鸿瑞达信息技术有限公司 | 一种在互联网环境下对视频进行差分编解码的方法 |
-
2002
- 2002-08-02 CN CN 02125910 patent/CN1396526A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101588488B (zh) * | 2009-06-18 | 2011-12-28 | 北京浪弯融科科技有限责任公司 | 多机位流媒体播放方法及系统 |
CN102215424A (zh) * | 2010-04-12 | 2011-10-12 | 腾讯科技(深圳)有限公司 | 一种网络电视直播的方法、装置和系统 |
CN103179421A (zh) * | 2013-01-25 | 2013-06-26 | 成都索贝数码科技股份有限公司 | 一种立体视频文件的描述与管理方法 |
CN103179421B (zh) * | 2013-01-25 | 2015-08-19 | 成都索贝数码科技股份有限公司 | 一种立体视频文件的描述与管理方法 |
CN104795072A (zh) * | 2015-03-25 | 2015-07-22 | 无锡天脉聚源传媒科技有限公司 | 一种音频数据的编码方法及装置 |
CN105898211A (zh) * | 2015-12-21 | 2016-08-24 | 乐视致新电子科技(天津)有限公司 | 一种处理多媒体信息的方法及装置 |
CN106303618A (zh) * | 2016-08-05 | 2017-01-04 | 武汉鸿瑞达信息技术有限公司 | 一种在互联网环境下对视频进行差分编解码的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1587063B1 (en) | Digital media elementary stream | |
JP6620108B2 (ja) | 複数のオブジェクトオーディオのポスト符号化ビットレート低減 | |
US10019458B2 (en) | System and methods for accelerated data storage and retrieval | |
CN1176550C (zh) | 改变音频数据编码或视频数据编码输出延迟的方法和装置 | |
JP4874595B2 (ja) | マルチチャネルオーディオのパケット多重化方法、および、システム | |
US8675740B2 (en) | Hypothetical reference decoder | |
CA2281538C (en) | Object-based audio-visual terminal and bitstream structure | |
CN1280741A (zh) | 具有快速重放能力的按要求提供视频的方法和设备 | |
CN1149234A (zh) | 视频/音频信号编码系统和编码方法 | |
CN101827266A (zh) | 一种具有视频结构化描述功能的网络视频服务器及利用其实现视频分析描述的方法 | |
KR101826375B1 (ko) | 재생에 선행하여 베이스 층 및 적어도 하나의 강화 층을 포함하는 층화된 계층적 비트 스트림을 검색하기 위한 방법 및 장치 | |
CN1957348A (zh) | 多媒体音乐内容的服务方法和系统 | |
US7199836B1 (en) | Object-based audio-visual terminal and bitstream structure | |
CN1396526A (zh) | 实时音视频单节目源多码率压缩方法 | |
CN1813303A (zh) | 存储不同数据格式的存储器件 | |
CN1702633A (zh) | 一种媒体文件系统的建立方法 | |
CN1455408A (zh) | 控制音频流缓冲的方法和装置 | |
CN1283342A (zh) | 提供和取得数据段的方法 | |
CN1812591A (zh) | 用以执行资料流的信号同步的系统与方法 | |
CN1575597A (zh) | 用户可选择可变特技模式速度 | |
US7373439B2 (en) | System method using material exchange format (MXF) converting program for audio and video data files having routines that generates attribute data from audio and video data file | |
US20190088265A1 (en) | File generation device and file generation method | |
US7664373B2 (en) | Program, data processing method, and system of same | |
US20060190251A1 (en) | Memory usage in a multiprocessor system | |
WO2007092891A2 (en) | Methods and systems for picture rate reduction of stored video while under continuous record load |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |