CN103841451B - 多媒体播放方法、装置及终端 - Google Patents
多媒体播放方法、装置及终端 Download PDFInfo
- Publication number
- CN103841451B CN103841451B CN201210492929.1A CN201210492929A CN103841451B CN 103841451 B CN103841451 B CN 103841451B CN 201210492929 A CN201210492929 A CN 201210492929A CN 103841451 B CN103841451 B CN 103841451B
- Authority
- CN
- China
- Prior art keywords
- file
- gpu
- current slice
- multimedia
- section
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 33
- 238000001514 detection method Methods 0.000 claims description 14
- 230000000694 effects Effects 0.000 abstract description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000000926 separation method Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000002045 lasting effect Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/91—Television signal processing therefor
- H04N5/93—Regeneration of the television signal or of selected parts thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/439—Processing of audio elementary streams
- H04N21/4398—Processing of audio elementary streams involving reformatting operations of audio signals
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
- G11B27/102—Programmed access in sequence to addressed parts of tracks of operating record carriers
- G11B27/105—Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/762—Media network packet handling at the source
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/40—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/91—Television signal processing therefor
- H04N5/92—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
- G10L19/16—Vocoder architecture
- G10L19/173—Transcoding, i.e. converting between two coded representations avoiding cascaded coding-decoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/78—Television signal recording using magnetic recording
- H04N5/781—Television signal recording using magnetic recording on disks or drums
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
Abstract
本发明公开了一种多媒体播放方法、装置及终端,属于计算机技术领域。所述方法包括:将多媒体文件中不被图形处理器GPU识别的格式转码为所述GPU识别的格式,所述格式为音频编码格式和文件格式中的一种或两种;将转码后的所述多媒体文件发送给所述GPU,使所述GPU播放所述多媒体文件。本发明解决了多媒体文件的格式不被GPU识别时,GPU不能播放该多媒体文件的问题,达到了扩大GPU可以播放的多媒体文件的范围的效果。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种多媒体播放方法、装置及终端。
背景技术
多媒体文件本质上就是容纳多媒体数据的文件,它根据相关的规范将视频、音频以及字幕等数据封装在一个文件内。因此,多媒体文件的格式包含外部的文件格式以及内层的编码格式两个方面,其中,文件格式是指多媒体数据的封装方式,例如AVI、MOV、MKV、RMVB和MP4等;编码格式是指多媒体数据自身的压缩算法,例如H.264、VP8、MPEG-4、WMV9等都是常见的视频编码格式,MP3、AAC、AC-3、AMR等是常见的音频编码格式。并且,文件格式与编码格式之间属于松散的耦合关系,不必一一对应。例如MP4、MKV等文件格式可以容纳不同类型的数据编码。但是,也有少数文件格式与唯一指定的视频或音频编码格式配套使用,例如RMVB、WebM等。
基于上述多媒体文件的格式,播放视频文件主要经过媒体分离、媒体解码和媒体渲染这三个阶段。媒体分离是通过内部的分离器识别多媒体文件的文件格式,分离出视频、音频与字幕等编码数据,将其交给解码器。媒体解码是指解码器对视频数据和音频数据进行解码,得到还原的未压缩视频数据帧和音频数据帧。媒体渲染是将解码后的视频数据帧和音频数据帧经由显示设备以图像方式展示出来。这三个步骤中,媒体解码通常是计算消耗最多的一个步骤,远远大于分离与渲染,也大于音频数据的处理。而手机等设备的CPU(Central Processing Unit,中央处理器)处理能力比较有限,因而在用户使用手机等设备播放高分辨率视频时经常出现播放不流畅的情况,为了弥补CPU视频播放能力的不足,大多数智能手机会内置支持常规格式多媒体文件解码的GPU(Graphic Processing Unit,图形处理器)芯片,通过GPU调用多媒体播放的系统函数可以播放多媒体文件。
现有技术中,GPU获取指定格式的多媒体文件,通过分离器分离出多媒体文件的编码数据,通过解码器对编码数据进行解码,并对解码后的数据帧进行播放。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
GPU播放的多媒体文件需要文件格式、视频编码格式和音频编码格式都满足GPU指定的格式才行,文件格式比较固定,限制了GPU可以播放的多媒体文件的范围。
发明内容
为了解决多媒体文件的格式不被GPU识别时,GPU不能播放该多媒体文件的问题,本发明实施例提供了一种多媒体播放方法、装置及终端。所述技术方案如下:
第一方面,本发明实施例提供了一种多媒体播放方法,所述方法包括:
检测多媒体文件中的视频编码格式、音频编码格式和文件格式是否被图形处理器GPU识别;
若所述音频编码格式和/或所述文件格式不被所述GPU识别,则切割所述多媒体文件,并将当前切割得到的文件作为当前切片文件;其中,当所述当前切片文件为第一个切片文件时,所述当前切片文件对应的时长预先设定,当所述当前切片文件不是第一个切片文件时,所述当前切片文件对应的时长根据前一切片文件在所述GPU中的剩余播放时长确定;
将所述当前切片文件中不被所述GPU识别的格式转码为所述GPU识别的格式,所述当前切片文件中不被所述GPU识别的格式为所述音频编码格式和所述文件格式中的一种或两种;
将转码后的所述当前切片文件发送给所述GPU,使所述GPU播放所述当前切片文件;
若所述视频编码格式不被所述GPU识别,则通过识别所述视频编码格式的应用程序播放所述多媒体文件。
进一步地,所述将所述多媒体文件中不被所述GPU识别的格式转码为所述GPU识别的格式,包括:
切割所述多媒体文件,并将当前切割得到的文件作为当前切片文件;
将所述当前切片文件中不被所述GPU识别的格式转码为所述GPU识别的格式;
相应的,将转码后的所述多媒体文件发送给所述GPU,使所述GPU播放所述多媒体文件,包括:
将转码后的所述当前切片文件发送给所述GPU,使所述GPU播放所述当前切片文件。
进一步地,所述切割所述多媒体文件,并将当前切割得到的文件作为当前切片文件,包括:
确定所述多媒体文件的第一切片点;
基于所述第一切片点向后定位T时长的播放时刻,检测大于或等于所述播放时刻的第一个关键帧,将所述第一个关键帧对应的播放时刻作为第二切片点;
将所述第一切片点和所述第二切片点之间的多媒体文件切割为所述当前切片文件。
进一步地,所述确定所述多媒体文件的第一切片点,包括:
确定所述多媒体文件的起始播放时刻为所述当前切片文件的第一切片点;或者,
确定前一切片文件的第二切片点为所述当前切片文件的第一切片点;或者,
获取用户指定的播放时刻,检测大于或等于所述指定的播放时刻的第一个关键帧,确定所述第一个关键帧对应的播放时刻为所述当前切片文件的第一切片点。
进一步地,所述将转码后的所述当前切片文件发送给所述GPU之后,还包括:
如果所述当前切片文件的第二切片点不是所述多媒体文件的最后播放时刻,则基于所述第二切片点切割下一切片文件,并对所述下一切片文件进行转码。
进一步地,每一个切片文件对应的T时长相同或不同,且根据当前T时长切割的所述当前切片文件的转码时间小于根据前一T时长切割的前一切片文件在所述GPU中的剩余播放时间。
第二方面,本发明实施例提供了一种多媒体播放装置,所述装置包括:
检测模块,用于检测多媒体文件中的视频编码格式、音频编码格式和文件格式是否被图形处理器GPU识别;转码模块,用于若所述音频编码格式和/或所述文件格式不被所述GPU识别,则将所述多媒体文件中不被所述GPU识别的格式转码为所述GPU识别的格式,所述多媒体文件中不被所述GPU识别的格式为所述音频编码格式和所述文件格式中的一种或两种;
发送模块,用于将转码后的所述多媒体文件发送给所述GPU,使所述GPU播放所述多媒体文件;
播放模块,用于若所述视频编码格式不被所述GPU识别,则通过识别所述编码格式的应用程序播放所述多媒体文件;
其中,所述转码模块,包括:
切割单元,用于切割所述多媒体文件,并将当前切割得到的文件作为当前切片文件;其中,当所述当前切片文件为第一个切片文件时,所述当前切片文件对应的时长预先设定,当所述当前切片文件不是第一个切片文件时,所述当前切片文件对应的时长根据前一切片文件在所述GPU中的剩余播放时长确定;
转码单元,用于将所述当前切片文件中不被所述GPU识别的格式转码为所述GPU识别的格式;
相应的,所述发送模块,具体用于将转码后的所述当前切片文件发送给所述GPU,使所述GPU播放所述当前切片文件。
进一步地,所述切割单元包括:
第一确定子单元,用于确定所述多媒体文件的第一切片点;
第二确定子单元,用于基于所述第一切片点向后定位T时长的播放时刻,检测大于或等于所述播放时刻的第一个关键帧,将所述第一个关键帧对应的播放时刻作为第二切片点;
切割子单元,用于将所述第一切片点和所述第二切片点之间的多媒体文件切割为所述当前切片文件。
进一步地,所述第一确定子单元,具体用于确定所述多媒体文件的起始播放时刻为所述当前切片文件的第一切片点;或者,确定前一切片文件的第二切片点为所述当前切片文件的第一切片点;或者,获取用户指定的播放时刻,检测大于或等于所述指定的播放时刻的第一个关键帧,确定所述第一个关键帧对应的播放时刻为所述当前切片文件的第一切片点。
进一步地,所述转码模块,还用于所述发送模块将转码后的所述当前切片文件发送给所述GPU之后,如果所述当前切片文件的第二切片点不是所述多媒体文件的最后播放时刻,则基于所述第二切片点切割下一切片文件,并对所述下一切片文件进行转码。
进一步地,每一个切片文件对应的T时长相同或不同,且根据当前T时长切割的所述当前切片文件的转码时间小于根据前一T时长切割的前一切片文件在所述GPU中的剩余播放时间。
第三方面,本发明实施例提供了一种终端,所述终端包括如上所述的多媒体播放装置。
本发明实施例提供的技术方案带来的有益效果是:
通过将多媒体文件中不被图形处理器GPU识别的格式转码为所述GPU识别的格式,所述格式为音频编码格式和文件格式中的一种或两种;将转码后的所述多媒体文件发送给所述GPU,使所述GPU播放所述多媒体文件,解决了多媒体文件的格式不被GPU识别时,GPU不能播放该多媒体文件的问题,达到了扩大GPU可以播放的多媒体文件的范围的效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的多媒体播放方法的方法流程图;
图2是本发明实施例二提供的多媒体播放方法的方法流程图;
图3是本发明实施例三提供的多媒体播放装置的结构示意图;
图4是本发明实施例四提供的多媒体播放装置的结构示意图;
图5是本发明实施例四提供的切割单元的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例一
请参考图1,其示出了本发明实施例一提供的多媒体播放方法的方法流程图。该多媒体播放方法可以用于包含有GPU和CPU的终端中,该终端可以是智能电视、智能手机或者平板电脑等等。该多媒体播放方法,包括:
步骤102:将多媒体文件中不被GPU识别的格式对应转码为GPU识别的格式,该格式为音频编码格式和文件格式中的一种或两种;
其中,当多媒体文件的音频编码格式不被GPU识别时,将该多媒体文件的音频编码格式转码为GPU识别的音频编码格式;当多媒体文件的文件格式不被GPU识别时,将该多媒体文件的文件格式转码为GPU识别的文件格式;多媒体文件的音频编码格式和文件格式均不被GPU识别时,将该多媒体文件的音频编码格式和文件格式对应转码为GPU识别的音频编码格式和文件格式。
步骤104:将转码后的多媒体文件发送给GPU,使GPU播放该多媒体文件。
综上所述,本发明实施例提供的多媒体播放方法,通过将多媒体文件中不被GPU识别的格式转码为所述GPU识别的格式,所述格式为音频编码格式和文件格式中的一种或两种;将转码后的所述多媒体文件发送给所述GPU,使所述GPU播放所述多媒体文件,解决了多媒体文件的格式不被GPU识别时,GPU不能播放该多媒体文件的问题,达到了扩大GPU可以播放的多媒体文件的范围的效果。
实施例二
请参考图2,其示出了本发明实施例二提供的多媒体播放方法的方法流程图。该多媒体播放方法可以用于包含有GPU和CPU的终端中,该终端可以是智能电视、智能手机或者平板电脑等等。该多媒体播放方法,包括:
步骤202:检测多媒体文件中的视频编码格式、音频编码格式和文件格式是否被GPU识别;
终端对多媒体文件的文件格式进行转码的资源开销较小,适用于所有多媒体文件文件。而对多媒体文件的编码格式进行转码时,CPU需要对多媒体文件进行解码,将解码后的数据编码为GPU指定编码格式的多媒体文件,再将转码后的该多媒体文件发送给GPU播放。此时,CPU对多媒体文件进行编码格式转化的资源开销是CPU播放该多媒体文件的2倍以上。当多媒体文件为音频文件时,由于音频文件的数据量相对较小,可以将音频编码格式转码为GPU指定的音频编码格式,通过GPU播放转码后的音频文件,以节省终端的资源,提高播放性能。当媒体文件为视频文件时,由于视频文件的数据量较大,对视频编码格式进行转码的资源开销远大于CPU播放该视频文件的资源开销,不适合通过GPU播放该视频文件。因此,终端需要检测多媒体文件中的视频编码格式、音频编码格式和文件格式是否被GPU识别。
具体地,可以获取视频文件的元数据,元数据用来描述多媒体文件的编码格式和文件格式。
步骤204:若音频编码格式和/或文件格式不被GPU识别,则切割多媒体文件,并将当前切割得到的文件作为当前切片文件;
终端可以对多媒体文件进行整体转码,此时对存储空间要求较高。优选地,终端还可以对多媒体文件进行切割,每次转码切割得到的切片文件,这样可以减少存储空间。
具体地,切割多媒体文件,并将当前切割得到的文件作为当前切片文件,可以包括:
确定多媒体文件的第一切片点;
基于第一切片点向后定位T时长的播放时刻,检测大于或等于播放时刻的第一个关键帧,将第一个关键帧对应的播放时刻作为第二切片点;
将第一切片点和第二切片点之间的多媒体文件切割为当前切片文件。
当对多媒体文件进行切割时,终端可以预先定义当前切片文件对应的T时长,基于当前多媒体文件的第一切片点向后定位T时长的播放时刻,判断该播放时刻是否为关键帧对应的播放时刻,如果是,将该播放时刻作为第二切片点,将第一切片点与第二切片点之间的多媒体文件切割为当前切片文件;如果否,检测该播放时刻之后的第一个关键帧,将该第一个关键帧对应的的播放时刻作为第二切片点,将第一切片点与第二切片点之间的多媒体文件切割为当前切片文件,以保证当前切片文件的起始帧为关键帧。其中,关键帧为一帧画面的原图,保存有该画面的实体,播放器从关键帧起始才能正常播放多媒体文件。
其中,每一个切片文件对应的T相同或不同,且根据当前T时长切割的当前切片文件的转码时间小于根据前一T时长切割的前一切片文件在GPU中的剩余播放时间。优选地,还可以根据播放情况调整T时长的大小。比如,刚开始对切片文件进行转码时,设置T较短,以保证在起始播放或者拖动播放时转码时间较短。随着播放的持续进行,T可以适当延长。比如,如果在转码当前切片文件的同时播放前一切片文件,则当前切片文件的转码时间必须小于前一切片文件在GPU中的剩余播放时间,否则多媒体文件的播放会断续。通常设置T小于3秒,即使用户拖动播放进度也能快速播放用户指定播放时刻之后的多媒体文件,不影响用户的体验。
具体地,确定多媒体文件的第一切片点,可以包括:确定多媒体文件的起始播放时刻为当前切片文件的第一切片点;或者,确定前一切片文件的第二切片点为当前切片文件的第一切片点;或者,获取用户指定的播放时刻,检测大于或等于指定的播放时刻的第一个关键帧,确定第一个关键帧对应的播放时刻为当前切片文件的第一切片点。
如果当前切片文件为多媒体文件的第一个切片文件,将该多媒体文件的起始播放时刻作为当前切片文件的第一切片点;或者,如果当前切片文件不是多媒体文件的第一个切片文件且顺序播放切片文件,将前一切片文件的第二切片点作为当前切片文件的第一切片点;或者,如果用户拖动多媒体文件的播放进度,丢弃当前正在转码的当前切片文件和正在播放的前一切片文件,判断用户指定的播放点是否为关键帧对应的播放时刻,如果是,将该播放时刻作为当前切片文件的第一切片点;如果否,将该播放时刻之后的第一个关键帧对应的播放时刻作为当前切片文件的第一切片点。
需要补充说明的是,若视频编码格式不被GPU识别,则通过识别视频编码格式的应用程序播放视频文件。
步骤206:将当前切片文件中不被GPU识别的格式转码为GPU识别的格式。
具体地,当多媒体文件的音频编码格式不被GPU识别时,将该多媒体文件的音频编码格式转码为GPU识别的音频编码格式;当多媒体文件的文件格式不被GPU识别时,将该多媒体文件的文件格式转码为GPU识别的文件格式;多媒体文件的音频编码格式和文件格式均不被GPU识别时,将该多媒体文件的音频编码格式和文件格式对应转码为GPU识别的音频编码格式和文件格式。
当多媒体文件为视频文件时,终端可以将该文件格式转码为GPU指定的文件格式,比如,GPU指定的视频编码格式可以包括H.264、文件格式可以包括MP4,则可以将视频编码格式为H.264的视频文件由Mkv格式转码为MP4格式。当多媒体文件为音频格式时,终端可以将该音频文件中不被GPU识别的格式转码为GPU可以识别的格式。比如,GPU指定的音频编码格式可以包括AAC、文件格式可以包括MP4,则可以将音频编码格式为AAC的音频文件由Mkv格式转码为MP4格式;或者,可以将文件格式为MP4的音频文件由AC3格式转码为AAC格式;或者,将音频文件由Mkv格式转码为MP4格式且将AC3格式转码为AAC格式等。
步骤208:将转码后的当前切片文件发送给GPU,使GPU播放当前切片文件。
GPU接收到当前切片之后,对其进行媒体分离、媒体解码和媒体渲染,此为现有技术,此处不赘述。
优选地,将转码后的当前切片文件发送给GPU之后,还可以包括:
如果当前切片文件的第二切片点不是多媒体文件的最后播放时刻,则基于第二切片点切割下一切片文件,并对下一切片文件进行转码。
当CPU对下一切片文件进行转码时,可以通过GPU播放当前切片文件,当该当前切片文件播放完成时,将下一切片文件发送给GPU进行播放,并对下一切片文件之后的多媒体文件进行切片和转码,依此类推,直至完成对多媒体文件的播放。
进一步地,还可以以流媒体的方式获取网络上的切片文件,对该切片文件的格式进行识别,如果该切片文件的音频编码格式和/或文件格式不被GPU识别,则对该切片文件进行转码,并将转码后的切片文件发送给GPU,使GPU播放该切片文件;如果该切片文件的视频编码格式不被GPU识别,则通过识别该视频编码格式的应用程序播放该切片文件。
综上所述,本发明实施例提供的多媒体播放方法,通过将多媒体文件中不被图形处理器GPU识别的格式转码为所述GPU识别的格式,所述格式为音频编码格式和文件格式中的一种或两种;将转码后的所述多媒体文件发送给所述GPU,使所述GPU播放所述多媒体文件,解决了多媒体文件的格式不被GPU识别时,GPU不能播放该多媒体文件的问题,达到了扩大GPU可以播放的多媒体文件的范围的效果。另外,如果所述当前切片文件的第二切片点不是所述多媒体文件的最后播放时刻,则通过基于所述第二切片点切割下一切片文件,并对所述下一切片文件进行转码,可以在转码下一切片文件的同时播放当前切片文件,达到提高播放效率的效果。
实施例三
请参考图3,其示出了本发明实施例三提供的多媒体播放装置的结构方框图。该多媒体播放方法可以用于包含有GPU和CPU的终端中,该终端可以是智能电视、智能手机或者平板电脑等等。该多媒体播放装置,包括:转码模块320和发送模块340。
转码模块320,用于将多媒体文件中不被GPU识别的格式转码为GPU识别的格式,所述格式为编码格式和文件格式中的一种或两种。
发送模块340,用于将转码后的多媒体文件发送给GPU,使GPU播放该多媒体文件。
综上所述,本发明实施例提供的多媒体播放装置,通过将多媒体文件中不被图形处理器GPU识别的格式转码为所述GPU识别的格式,所述格式为音频编码格式和文件格式中的一种或两种;将转码后的所述多媒体文件发送给所述GPU,使所述GPU播放所述多媒体文件,解决了多媒体文件的格式不被GPU识别时,GPU不能播放该多媒体文件的问题,达到了扩大GPU可以播放的多媒体文件的范围的效果。
实施例四
请参考图4,其示出了本发明实施例四提供的多媒体播放装置的结构方框图,该多媒体播放方法可以用于包含有GPU和CPU的终端中,该终端可以是智能电视、智能手机或者平板电脑等等。该多媒体播放装置,包括:转码模块320和发送模块340。
转码模块320,用于将多媒体文件中不被GPU识别的格式转码为GPU识别的格式,所述格式为编码格式和文件格式中的一种或两种。
发送模块340,用于将转码模块320转码后的多媒体文件发送给GPU,使GPU播放该多媒体文件。
在本发明实施例的第一种可能的实现方式下,转码模块320可以包括:
切割单元322,用于切割多媒体文件,并将当前切割得到的文件作为当前切片文件;
转码单元324,用于将切割单元322切割的当前切片文件中不被GPU识别的格式转码为GPU识别的格式;
相应的,发送模块340,具体用于将转码后的当前切片文件发送给GPU,使GPU播放该当前切片文件。
请参考图5,其示出了本发明实施例四提供的切割单元的结构方框图,在本发明实施例的第二种可能的实现方式下,切割单元322可以包括:
第一确定子单元420,用于确定多媒体文件的第一切片点;
第二确定子单元440,用于基于第一确定子单元420确定的第一切片点向后定位T时长的播放时刻,检测大于或等于播放时刻的第一个关键帧,将该第一个关键帧对应的播放时刻作为第二切片点;
切割子单元460,用于将第一确定子单元420确定的第一切片点和第二确定子单元440确定的第二切片点之间的多媒体文件切割为当前切片文件。
在本发明实施例的第三种可能的实现方式下,第一确定子单元420,具体用于确定多媒体文件的起始播放时刻为当前切片文件的第一切片点;或者,确定前一切片文件的第二切片点为当前切片文件的第一切片点;或者,获取用户指定的播放时刻,检测大于或等于指定的播放时刻的第一个关键帧,确定第一个关键帧对应的播放时刻为当前切片文件的第一切片点。
在本发明实施例的第四种可能的实现方式下,转码模块320,还用于发送模块340将转码后的当前切片文件发送给GPU之后,如果当前切片文件的第二切片点不是多媒体文件的最后播放时刻,则基于第二切片点切割下一切片文件,并对下一切片文件进行转码。
在本发明实施例的第五种可能的实现方式下,每一个切片文件对应的T时长相同或不同,且根据当前T时长切割的所述当前切片文件的转码时间小于根据前一T时长切割的前一切片文件在所述GPU中的剩余播放时间。
请参考图4,在本发明实施例的第六种可能的实现方式下,该装置还可以包括:
检测模块360,用于转码模块320将多媒体文件中不被GPU识别的格式转码为GPU识别的格式之前,检测所述多媒体文件中的视频编码格式、音频编码格式和文件格式是否被所述GPU识别;
转码模块320,还用于若所述音频编码格式和/或文件格式不被所述GPU识别,则将多媒体文件中不被所述GPU识别的格式转码为所述GPU识别的格式;
播放模块380,用于若所述视频编码格式不被所述GPU识别,则通过识别编码格式的应用程序播放视频文件。
综上所述,本发明实施例提供的多媒体播放装置,通过将多媒体文件中不被图形处理器GPU识别的格式转码为所述GPU识别的格式,所述格式为音频编码格式和文件格式中的一种或两种;将转码后的所述多媒体文件发送给所述GPU,使所述GPU播放所述多媒体文件,解决了多媒体文件的格式不被GPU识别时,GPU不能播放该多媒体文件的问题,达到了扩大GPU可以播放的多媒体文件的范围的效果。另外,如果所述当前切片文件的第二切片点不是所述多媒体文件的最后播放时刻,则通过基于所述第二切片点切割下一切片文件,并对所述下一切片文件进行转码,可以在转码下一切片文件的同时播放当前切片文件,达到提高播放效率的效果。
需要说明的是:上述实施例提供的多媒体播放装置在播放多媒体文件时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将多媒体播放装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的多媒体播放装置与多媒体播放方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (11)
1.一种多媒体播放方法,其特征在于,所述方法包括:
检测多媒体文件中的视频编码格式、音频编码格式和文件格式是否被图形处理器GPU识别;
若所述音频编码格式和/或所述文件格式不被所述GPU识别,则切割所述多媒体文件,并将当前切割得到的文件作为当前切片文件;其中,当所述当前切片文件为第一个切片文件时,所述当前切片文件对应的时长预先设定,当所述当前切片文件不是第一个切片文件时,所述当前切片文件对应的时长根据前一切片文件在所述GPU中的剩余播放时长确定;
将所述当前切片文件中不被所述GPU识别的格式转码为所述GPU识别的格式,所述当前切片文件中不被所述GPU识别的格式为所述音频编码格式和所述文件格式中的一种或两种;
将转码后的所述当前切片文件发送给所述GPU,使所述GPU播放所述当前切片文件;
若所述视频编码格式不被所述GPU识别,则通过识别所述视频编码格式的应用程序播放所述多媒体文件。
2.根据权利要求1所述的多媒体播放方法,其特征在于,所述切割所述多媒体文件,并将当前切割得到的文件作为当前切片文件,包括:
确定所述多媒体文件的第一切片点;
基于所述第一切片点向后定位T时长的播放时刻,检测大于或等于所述播放时刻的第一个关键帧,将所述第一个关键帧对应的播放时刻作为第二切片点;
将所述第一切片点和所述第二切片点之间的多媒体文件切割为所述当前切片文件。
3.根据权利要求2所述的多媒体播放方法,其特征在于,所述确定所述多媒体文件的第一切片点,包括:
确定所述多媒体文件的起始播放时刻为所述当前切片文件的第一切片点;或者,
确定前一切片文件的第二切片点为所述当前切片文件的第一切片点;或者,
获取用户指定的播放时刻,检测大于或等于所述指定的播放时刻的第一个关键帧,确定所述第一个关键帧对应的播放时刻为所述当前切片文件的第一切片点。
4.根据权利要求2所述的多媒体播放方法,其特征在于,所述将转码后的所述当前切片文件发送给所述GPU之后,还包括:
如果所述当前切片文件的第二切片点不是所述多媒体文件的最后播放时刻,则基于所述第二切片点切割下一切片文件,并对所述下一切片文件进行转码。
5.根据权利要求4所述的多媒体播放方法,其特征在于,每一个切片文件对应的T时长相同或不同,且根据当前T时长切割的所述当前切片文件的转码时间小于根据前一T时长切割的前一切片文件在所述GPU中的剩余播放时间。
6.一种多媒体播放装置,其特征在于,所述装置包括:
检测模块,用于检测多媒体文件中的视频编码格式、音频编码格式和文件格式是否被图形处理器GPU识别;
转码模块,用于若所述音频编码格式和/或所述文件格式不被所述GPU识别,则将所述多媒体文件中不被所述GPU识别的格式转码为所述GPU识别的格式,所述多媒体文件中不被所述GPU识别的格式为所述音频编码格式和所述文件格式中的一种或两种;
发送模块,用于将转码后的所述多媒体文件发送给所述GPU,使所述GPU播放所述多媒体文件;
播放模块,用于若所述视频编码格式不被所述GPU识别,则通过识别所述编码格式的应用程序播放所述多媒体文件;
其中,所述转码模块,包括:
切割单元,用于切割所述多媒体文件,并将当前切割得到的文件作为当前切片文件;其中,当所述当前切片文件为第一个切片文件时,所述当前切片文件对应的时长预先设定,当所述当前切片文件不是第一个切片文件时,所述当前切片文件对应的时长根据前一切片文件在所述GPU中的剩余播放时长确定;
转码单元,用于将所述当前切片文件中不被所述GPU识别的格式转码为所述GPU识别的格式;
相应的,所述发送模块,具体用于将转码后的所述当前切片文件发送给所述GPU,使所述GPU播放所述当前切片文件。
7.根据权利要求6所述的多媒体播放装置,其特征在于,所述切割单元包括:
第一确定子单元,用于确定所述多媒体文件的第一切片点;
第二确定子单元,用于基于所述第一切片点向后定位T时长的播放时刻,检测大于或等于所述播放时刻的第一个关键帧,将所述第一个关键帧对应的播放时刻作为第二切片点;
切割子单元,用于将所述第一切片点和所述第二切片点之间的多媒体文件切割为所述当前切片文件。
8.根据权利要求7所述的多媒体播放装置,其特征在于,所述第一确定子单元,具体用于确定所述多媒体文件的起始播放时刻为所述当前切片文件的第一切片点;或者,确定前一切片文件的第二切片点为所述当前切片文件的第一切片点;或者,获取用户指定的播放时刻,检测大于或等于所述指定的播放时刻的第一个关键帧,确定所述第一个关键帧对应的播放时刻为所述当前切片文件的第一切片点。
9.根据权利要求7所述的多媒体播放装置,其特征在于,所述转码模块,还用于所述发送模块将转码后的所述当前切片文件发送给所述GPU之后,如果所述当前切片文件的第二切片点不是所述多媒体文件的最后播放时刻,则基于所述第二切片点切割下一切片文件,并对所述下一切片文件进行转码。
10.根据权利要求9所述的多媒体播放装置,其特征在于,每一个切片文件对应的T时长相同或不同,且根据当前T时长切割的所述当前切片文件的转码时间小于根据前一T时长切割的前一切片文件在所述GPU中的剩余播放时间。
11.一种移动终端,其特征在于,所述终端包括如权利要求6至10中任一项所述的多媒体播放装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210492929.1A CN103841451B (zh) | 2012-11-28 | 2012-11-28 | 多媒体播放方法、装置及终端 |
PCT/CN2013/087753 WO2014082553A1 (zh) | 2012-11-28 | 2013-11-25 | 多媒体播放方法、装置及终端 |
US14/723,283 US9781380B2 (en) | 2012-11-28 | 2015-05-27 | Method, apparatus and terminal for playing multimedia content |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210492929.1A CN103841451B (zh) | 2012-11-28 | 2012-11-28 | 多媒体播放方法、装置及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103841451A CN103841451A (zh) | 2014-06-04 |
CN103841451B true CN103841451B (zh) | 2017-09-29 |
Family
ID=50804521
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210492929.1A Active CN103841451B (zh) | 2012-11-28 | 2012-11-28 | 多媒体播放方法、装置及终端 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9781380B2 (zh) |
CN (1) | CN103841451B (zh) |
WO (1) | WO2014082553A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10148972B2 (en) | 2016-01-08 | 2018-12-04 | Futurewei Technologies, Inc. | JPEG image to compressed GPU texture transcoder |
CN106201734B (zh) * | 2016-06-22 | 2023-09-01 | 北京小米移动软件有限公司 | 文件分享方法及装置 |
CN109196865B (zh) * | 2017-03-27 | 2021-03-30 | 华为技术有限公司 | 一种数据处理方法、终端以及存储介质 |
CN112672227B (zh) * | 2019-10-15 | 2022-11-18 | 中国电信股份有限公司 | 基于边缘节点的业务处理方法、装置、节点以及存储介质 |
CN111314740B (zh) * | 2020-03-19 | 2021-10-15 | 腾讯科技(深圳)有限公司 | 一种基于芯片间并行的高性能转码方法 |
CN114363301B (zh) * | 2021-12-08 | 2022-08-23 | 慧之安信息技术股份有限公司 | 基于localStorage的多媒体数据离线加载方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102055965A (zh) * | 2009-10-28 | 2011-05-11 | 腾讯科技(深圳)有限公司 | 媒体文件转码系统及转码方法 |
CN102163201A (zh) * | 2010-02-24 | 2011-08-24 | 腾讯科技(深圳)有限公司 | 一种多媒体文件切割方法、装置及转码器 |
CN202551259U (zh) * | 2011-12-27 | 2012-11-21 | 北京朝歌数码科技股份有限公司 | 机顶盒多格式转码装置及多媒体播放系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6008822A (en) * | 1996-03-19 | 1999-12-28 | Shinko Electric Industries, Co., Ltd. | Parallel graphic processing system using a network |
JP2006094415A (ja) * | 2004-09-27 | 2006-04-06 | Toshiba Corp | 映像装置及び映像ストリーミング方法 |
US8321906B2 (en) * | 2008-09-11 | 2012-11-27 | At&T Intellectual Property I, Lp | Method and system for a transcoder |
US8625910B2 (en) * | 2011-02-25 | 2014-01-07 | Adobe Systems Incorporated | Compression of image data |
US10699361B2 (en) * | 2012-11-21 | 2020-06-30 | Ati Technologies Ulc | Method and apparatus for enhanced processing of three dimensional (3D) graphics data |
-
2012
- 2012-11-28 CN CN201210492929.1A patent/CN103841451B/zh active Active
-
2013
- 2013-11-25 WO PCT/CN2013/087753 patent/WO2014082553A1/zh active Application Filing
-
2015
- 2015-05-27 US US14/723,283 patent/US9781380B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102055965A (zh) * | 2009-10-28 | 2011-05-11 | 腾讯科技(深圳)有限公司 | 媒体文件转码系统及转码方法 |
CN102163201A (zh) * | 2010-02-24 | 2011-08-24 | 腾讯科技(深圳)有限公司 | 一种多媒体文件切割方法、装置及转码器 |
CN202551259U (zh) * | 2011-12-27 | 2012-11-21 | 北京朝歌数码科技股份有限公司 | 机顶盒多格式转码装置及多媒体播放系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2014082553A1 (zh) | 2014-06-05 |
CN103841451A (zh) | 2014-06-04 |
US20150256789A1 (en) | 2015-09-10 |
US9781380B2 (en) | 2017-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103841451B (zh) | 多媒体播放方法、装置及终端 | |
CN109168078B (zh) | 一种视频清晰度切换方法及装置 | |
CN104394426B (zh) | 流媒体倍速播放方法和装置 | |
CN105979355A (zh) | 一种播放视频的方法及装置 | |
RU2370906C2 (ru) | Способ и устройство для редактирования видеофрагментов в сжатой области | |
CN101742198B (zh) | 多媒体记录装置及方法 | |
CN103856812B (zh) | 一种视频播放方法及装置 | |
CN106664458A (zh) | 用于无线显示的直接流式传输 | |
CN108040258B (zh) | 一种编码、解码方法、装置及系统 | |
CN103338407B (zh) | 一种电视机以及电视机浏览频道的方法 | |
KR102534443B1 (ko) | 비디오 증강 제어 방법, 장치, 전자 기기 및 저장 매체 | |
CN106254867A (zh) | 基于画面组对视频文件进行转码的方法及系统 | |
CN103686352A (zh) | 智能电视媒体播放器及其字幕处理方法、智能电视 | |
CN102904857A (zh) | 客户端视频播放系统及其方法 | |
CN103747366B (zh) | 一种hls媒体文件播放进度的显示方法和播放器 | |
CN104916298A (zh) | 编解码方法、编解码装置、电子设备及有声图片生成方法 | |
CN106060627A (zh) | 一种基于多路直播的音频处理方法及装置 | |
CN111510755A (zh) | 音视频的切换方法、装置、计算机设备及可读存储介质 | |
CN104661059A (zh) | 一种图片播放的方法、装置及机顶盒 | |
CN106792154A (zh) | 视频播放器的跳帧同步系统及其控制方法 | |
CN105052060B (zh) | 用于从第一数据流切换到第二数据流的设备和方法 | |
US20150086184A1 (en) | Reception apparatus and reception method | |
CN104376859B (zh) | 一种播放列表自动调整的方法和网络音乐播放器 | |
CN110418209B (zh) | 一种应用于视频传输的信息处理方法及终端设备 | |
CN106878290A (zh) | 音视频的播放方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20190730 Address after: Shenzhen Futian District City, Guangdong province 518000 Zhenxing Road, SEG Science Park 2 East Room 403 Co-patentee after: Tencent cloud computing (Beijing) limited liability company Patentee after: Tencent Technology (Shenzhen) Co., Ltd. Address before: Shenzhen Futian District City, Guangdong province 518000 Zhenxing Road, SEG Science Park 2 East Room 403 Patentee before: Tencent Technology (Shenzhen) Co., Ltd. |