The present invention provides a method to jump to, on multimedia files: demultiplexing by ffmpeg on the input of the multimedia file, the multimedia file ES stream, and get the video and audio information of the multimedia file; the initialization of Intel audio decoder using information; according to the accuracy of the information needs to jump and the target frame information, determine the timestamp of the ES stream target frame; flow operation by ffmpeg on the ES stream, read audio and video frames and data from a left key frame of the target frame position; with Intel on the decoder after initialization of audio and video frames for reading data decoding. Get the timestamp of the audio frame; the judgment of the visual timestamp of the audio frame is greater than or equal to the target frame time stamp, the audio and video frame data in the video and audio transmission Out of queue for output. The invention can jump on demand according to the Intel decoder based on the ffmpeg.
【技术实现步骤摘要】
对多媒体文件进行按需跳转的方法
本专利技术涉及一种对多媒体文件进行按需跳转的方法,尤其涉及一种综合利用英特尔多媒体软件开发包(intelmediasdk)与ffmpeg软件开发包来实现视音频同步跳转(seek)的方法。
技术介绍
目前市面上有很多多媒体视音频处理软件开发包,这些开发包各有自己的优势与劣势,例如,ffmpeg软件开发包,它能够提供包括视音频采集、视音频格式转换、视频抓图、视频加水印等功能,具有功能强大、覆盖面广的优点。但ffmpeg在硬件编解码加速方面却较少涉及,尚很不完善,远不及intelmediasdk的性能优越。intelmediasdk在硬件加速解码、编码方面提供了卓越的性能,其能充分利用图形处理器(GPU)来进行硬件加速。经过测试,对于同一段素材,与ffmpegsdk相比,利用intelmediasdk来转码,速度能提高百分之三十左右而其CPU占用效率却大大降低。相同运行环境下,采用ffmpegsdk与采用intelmediasdk来对相同素材进行解码的性能测试结果如下:显然intelmediasdk在硬件加速方面具有明显优势。然而,intelmediasdk却不能基于多媒体文件流进行seek操作,只能提供基于ES流(ElementaryStream,基本码流)的硬件加速的顺序解码操作。在广电领域,在对多媒体文件进行解码播放过程或者非线性编辑系统中,人们经常将播放或预览位置从文件的一个时间点拖动到另一个时间点。来查看自己关心的内容。这一过程就称为seek。这种操作较为常见,若不能对文件流按需seek,则即使具有优越的硬件加速功能,在 ...
【技术保护点】
一种对多媒体文件进行按需跳转的方法,其特征在于,包括:接收用户输入的多媒体文件,通过ffmpeg对所述多媒体文件进行解复用,得到所述多媒体文件的ES流,并获取所述多媒体文件的视音频信息;利用所述视音频信息对英特尔解码器进行初始化;根据一跳转精确性需求信息和一目标帧的信息,确定所述ES流中目标帧的时间戳;通过所述ffmpeg对所述ES流进行流操作,并从所述目标帧的一左侧关键帧的位置开始读取视音频帧数据;利用初始化后的所述英特尔解码器对读取的所述视音频帧数据进行解码,得到所述视音频帧的时间戳;判断所述视音频帧的时间戳大于或等于所述目标帧的时间戳时,将所述视音频帧数据放入视音频输出队列,以进行输出。
【技术特征摘要】
1.一种对多媒体文件进行按需跳转的方法,其特征在于,包括:接收用户输入的多媒体文件,通过ffmpeg对所述多媒体文件进行解复用,得到所述多媒体文件的ES流,并获取所述多媒体文件的视音频信息;利用所述视音频信息对英特尔解码器进行初始化;根据一跳转精确性需求信息和一目标帧的信息,确定所述ES流中目标帧的时间戳;通过所述ffmpeg对所述ES流进行流操作,并从所述目标帧的一左侧关键帧的位置开始读取视音频帧数据;利用初始化后的所述英特尔解码器对读取的所述视音频帧数据进行解码,得到所述视音频帧的时间戳;判断所述视音频帧的时间戳大于或等于所述目标帧的时间戳时,将所述视音频帧数据放入视音频输出队列,以进行输出。2.如权利要求1所述的对多媒体文件进行按需跳转的方法,其特征在于,根据一跳转精确性需求信息和一目标帧的信息,确定所述ES流中目标帧的时间戳,包括:根据所述跳转精确性需求信息设定所述ES流中的帧发生跳转的阈值;判断所述目标帧与所述ES流中当前解码输出帧的帧号差值是否大于或等于所述阈值;如果是,根据所述当前解码输出帧的位置计算得到所述目标帧的时间戳。3.如权利要求2所述的对多媒体文件进行按需跳转的方法,其特征在于,还包括:根据所述ES流中的第一帧视频帧的时间戳对所述目标帧中的视频帧的时间戳进行校正,根据所述ES流中的第一帧音频帧的时间戳对所述目标帧中的音频帧的时间戳进行校正。4.如权利要求1所述的对多媒体文件进行按需跳转的方法,其特征在于,还包括:判断所述视音频帧的时间戳小于所述目标帧的时间戳时,丢弃时间戳小于所述目标帧的时间戳的视音频帧数据,并继续读取下一帧的视音频帧数据,直到读取的视音频帧的时间戳大于或等于所述目标帧的时间戳。5.如权利要求1所述的对多媒体文件进行按需跳转的方法,其特征在...
【专利技术属性】
技术研发人员:谭艳梅,
申请(专利权)人:北京中广上洋科技股份有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。