CN1396526A - 实时音视频单节目源多码率压缩方法 - Google Patents

实时音视频单节目源多码率压缩方法 Download PDF

Info

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
Application number
CN 02125910
Other languages
English (en)
Inventor
戴琼海
李华
曾珂
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Original Assignee
Tsinghua University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tsinghua University filed Critical Tsinghua University
Priority to CN 02125910 priority Critical patent/CN1396526A/zh
Publication of CN1396526A publication Critical patent/CN1396526A/zh
Pending legal-status Critical Current

Links

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)将各个主、从音频编码器和主、从视频编码器中输出的不同码率的码流再组合成所需要码率的码流。
CN 02125910 2002-08-02 2002-08-02 实时音视频单节目源多码率压缩方法 Pending CN1396526A (zh)

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)

* Cited by examiner, † Cited by third party
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 武汉鸿瑞达信息技术有限公司 一种在互联网环境下对视频进行差分编解码的方法

Cited By (7)

* Cited by examiner, † Cited by third party
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) 複数のオブジェクトオーディオのポスト符号化ビットレート低減
CN1176550C (zh) 改变音频数据编码或视频数据编码输出延迟的方法和装置
US8922717B2 (en) Object-based audio-visual terminal and bitstream structure
JP4874595B2 (ja) マルチチャネルオーディオのパケット多重化方法、および、システム
US8675740B2 (en) Hypothetical reference decoder
CN1149234A (zh) 视频/音频信号编码系统和编码方法
CN101827266A (zh) 一种具有视频结构化描述功能的网络视频服务器及利用其实现视频分析描述的方法
CN1957348A (zh) 多媒体音乐内容的服务方法和系统
US20090007208A1 (en) Program, data processing method, and system of same
CN1218237C (zh) 用于访问存储介质上的数据块的系统和方法
CN1783299A (zh) 数字内容回放装置
US7199836B1 (en) Object-based audio-visual terminal and bitstream structure
CN1798097A (zh) 一种缓存流媒体数据的方法
KR20130112708A (ko) 재생에 선행하여 베이스 층 및 적어도 하나의 강화 층을 포함하는 층화된 계층적 비트 스트림을 검색하기 위한 방법 및 장치
CN1396526A (zh) 实时音视频单节目源多码率压缩方法
CN1813303A (zh) 存储不同数据格式的存储器件
CN1702633A (zh) 一种媒体文件系统的建立方法
CN1455408A (zh) 控制音频流缓冲的方法和装置
CN1283342A (zh) 提供和取得数据段的方法
CN1812591A (zh) 用以执行资料流的信号同步的系统与方法
US20190088265A1 (en) File generation device and file generation method
US7664373B2 (en) Program, data processing method, and system of same
CN1722277A (zh) 直接由编码器硬件生成dvd数据流的系统及方法
US20060190251A1 (en) Memory usage in a multiprocessor system

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