CN108989890B - 基于GStreamer框架的音视频错源排查方法 - Google Patents

基于GStreamer框架的音视频错源排查方法 Download PDF

Info

Publication number
CN108989890B
CN108989890B CN201811020028.6A CN201811020028A CN108989890B CN 108989890 B CN108989890 B CN 108989890B CN 201811020028 A CN201811020028 A CN 201811020028A CN 108989890 B CN108989890 B CN 108989890B
Authority
CN
China
Prior art keywords
audio
video
playing
file
dump
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
Application number
CN201811020028.6A
Other languages
English (en)
Other versions
CN108989890A (zh
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.)
Sichuan Changhong Electric Co Ltd
Original Assignee
Sichuan Changhong Electric Co Ltd
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 Sichuan Changhong Electric Co Ltd filed Critical Sichuan Changhong Electric Co Ltd
Priority to CN201811020028.6A priority Critical patent/CN108989890B/zh
Publication of CN108989890A publication Critical patent/CN108989890A/zh
Application granted granted Critical
Publication of CN108989890B publication Critical patent/CN108989890B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/4425Monitoring of client processing errors or hardware failure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/85406Content authoring involving a specific file format, e.g. MP4 format

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明公开了一种基于GStreamer框架的音视频错源排查方法,在音视频文件播放过程中,通过配置dump控制开关,实现实时下载正在播放的音视频文件,当音视频文件播放过程中出现播放异常现象时,再将dump下载的片源拷贝到PC端用主流的播放器进行播放,如果播放效果跟产品播放效果一样,即出现花屏等现象,则可以初步判定这是片源本身存在问题,此时可进一步用专业的音视频分析工具软件对音视频源进行分析,从而进一步确认播放问题是否是片源问题导致的,本发明的方法可起到帮助播放器开发人员快速定位播放花屏等问题出现的根源,避免开发人员在分析问题根源时出现分析方向错误的问题,导致时间的浪费,从而有效提升了解决音视频文件播放问题的效率。

Description

基于GStreamer框架的音视频错源排查方法
技术领域
本发明涉及流媒体播放技术领域,特别涉及基于GStreamer框架的音视频错源排查方法。
背景技术
近年来,随着网络技术的迅猛发展,流媒体技术和相关应用飞速发展,消费类电子产品逐年增长。如今,人们对于消费类电子产品使用最多的功能之一就是音视频播放,因此音视频内容的播放效果直接影响用户对产品的印象和未来是否继续购买,如何提升音视频播放的效果,成为了提升产品竞争力的关键因素之一。
为了提升播放音视频内容的播放效果,首先需要解决的就是音视频播放过程中出现的各种问题,如花屏、音画不同步、抖屏等,只有播放器开发者快速定位排除问题的原因,找到真正的原因,才能快速的解决问题,提升解决问题的效率。
播放时出现花屏、音画不同步等问题是影响客户观看音视频体验的一个重要因素,而这些问题的原因主要分为两类,一类是音视频文件本身的问题,另一类则是播放器本身的问题。判断这些问题是否是音视频文件本身的问题,最直接有力的方法就是将音视频文件原始数据dump下来并进行分析。
基于GStreamer框架的播放器的大致流程为source(数据来源)、demux(分离音视频数据)、decoder(解码)和output(输出)。Dump功能即是下载功能,目前大多数的下载功能是针对服务器端的网络数据处理,即针对用户边看边播的下载缓存功能,通过与服务器交互实现dump下载功能,使得用户可以边看边播(已经从服务器dump下载到本地的音视频),但并不是针对流媒体播放器自身的架构进行dump下载功能,本发明是针对GStreamer框架中的demux(分路器)模块进行dump下载功能实现,并且是实时的,即播放到哪里就dump下载到哪里,以便开发人员准确调查问题。
发明内容
本发明的目的是克服上述背景技术中不足,针对基于GStreamer框架的流媒体播放器播放过程中出现的花屏、音画不同步等问题,提供基于GStreamer框架的音视频错源排查方法,可以快速定位视频播放过程中出现的花屏、音画不同步等现象的原因是否是视频源本身问题,从而提升播放器开发者在解决播放花屏等问题过程中的效率。
为了达到上述的技术效果,本发明采取以下技术方案:
基于GStreamer框架的音视频错源排查方法,用于播放终端,包括以下步骤:
A.在播放终端系统的配置文件中配置dump控制开关;本发明中采用的是系统配置文件的形式配置dump控制开关,可以随时进行开关控制且操作方便,不需要去通过修改代码来控制,且具体配置dump控制开关的方法是音视频播放器技术领域现有的较为成熟的现有技术,可直接调用;
B.在播放终端系统和基于GStreamer框架的流媒体播放器之间的中间自适应层获取步骤A配置的dump控制开关,将dump控制开关从播放终端系统到基于GStreamer框架的流媒体播放器的传递也可直接采用音视频播放器技术领域中的现有技术实现;
C.在基于GStreamer框架的流媒体播放器的HLS适应流中获取步骤B所得的dump控制开关,并在音视频文件开始播放时,将音视频数据中的索引文件m3u8文件的数据dump下载到步骤A中配置的开关路径下;
D.在基于GStreamer框架的流媒体播放器的HLS适应流中获取步骤C所得的dump控制开关,并依据步骤C所获取的m3u8文件中的单片音视频文件TS分片文件的统一资源定位符URL,获取每个TS分片文件的文件名;
E.在基于GStreamer框架的流媒体播放器的HLS适应流中,在音视频文件播放的过程中,依据步骤D中的m3u8文件依次将TS分片文件以步骤D获取的文件名dump下载到步骤A中配置的开关路径下,直到音视频文件播放退出;
F.将步骤C和步骤E中dump获取的音视频索引文件m3u8文件和音视频TS分片文件使用第三方播放器进行播放并将播放效果与在播放终端上的播放效果进行对比,若在播放终端上播放时出现的播放问题在第三方播放器播放时未出现,即可初步排除所述播放问题为音视频文件本身的问题;其中,所述播放问题包含花屏、音画不同步和/或抖屏;
具体的,所述步骤C、D、E中dump音视频数据的方法可直接采用C语言标准库里的函数实现。
进一步地,还包括步骤G:
G.使用音视频分析工具软件对步骤C和步骤E中dump获取的音视频索引文件m3u8文件和音视频TS分片文件进行音视频源分析,确认音视频文件的音视频源数据是否存在异常,从而确定是否是音视频文件的问题导致的播放问题。
进一步地,所述第三方播放器为VLC多媒体播放器或基于FFmpeg内核的播放器。
本发明与现有技术相比,具有以下的有益效果:
在本发明的基于GStreamer框架的音视频错源排查方法中,在音视频文件播放过程中,通过配置dump控制开关,实现实时下载正在播放的音视频文件,且当音视频文件播放过程中出现花屏、音画不同步等现象时,片源已经被dump下载到指定路径,将dump下载的片源拷贝到PC端用主流的播放器进行播放,如果播放效果跟产品播放效果一样,即出现花屏等现象,则可以初步判定这是片源本身存在问题,此时可进一步用专业的音视频分析工具软件对音视频源进行分析,从而进一步确认播放问题是否是片源问题导致的,起到帮助播放器开发人员快速定位播放花屏等问题出现的根源,避免开发人员在分析问题根源时出现分析方向错误的问题,导致时间的浪费,从而有效提升了解决音视频文件播放问题的效率。
附图说明
图1是本发明的基于GStreamer框架的音视频错源排查方法的流程示意图。
具体实施方式
下面结合本发明的实施例对本发明作进一步的阐述和说明。
实施例:
如图1所示,一种基于GStreamer框架的音视频错源排查方法,具体包括以下步骤:
步骤一:在音视频播放前,在产品系统(如电视系统/etc/mmp)的相应目录下的配置文件mmp.conf中配置dump开关/data/dump,具体采用的是系统配置文件的形式配置开关,可以实现随时进行开关控制且操作方便,不需要去通过修改代码来控制,且配置dump开关可直接采用音视频播放器技术领域中已有的实现方法;
步骤二:在产品系统和基于gstreamer的流媒体播放器之间的中间自适应层,获取步骤一配置的dump开关,本实施例中,将dump开关从产品系统到播放器的传递也是采用音视频播放器技术领域已有的实现方法;
步骤三:在基于gstreamer的流媒体播放器的HLS适应流gsthlsdemux中获取步骤二所得的dump开关,在腾讯应用中的电视剧《某某》第一集音视频文件刚开始播放时,将《某某》第一集的索引文件index.m3u8数据dump到步骤一中配置的开关路径/data/dump下;
步骤四:在基于gstreamer的流媒体播放器的HLS适应流gstadaptivedemux中获取步骤三所得的dump开关,并依据步骤三所获取的《某某》第一集索引文件index.m3u8中的单片音视频文件TS分片文件的统一资源定位符URL,每个TS分片文件的文件名如0.ts、1.ts等;
步骤五:在基于gstreamer的流媒体播放器的HLS适应流gsthlsdemux中,在音视频文件《某某》第一集播放的过程中,依据步骤四中所获取的音视《某某》第一集频索引文件index.m3u8依次将音视频TS分片文件,以步骤四获取的文件名dump到步骤一配置的开关路径下如/data/dump/0.ts,直到音视频文件播放退出;
步骤六:将步骤三和步骤五中dump的音视频《某某》第一集索引文件index.m3u8和其音视频0.ts、1.ts等分片文件,使用主流的播放器如VLC(Video LAN Client)多媒体播放器、基于FFmpeg(Fast Forward Mpeg)内核的播放器等进行播放,如果播放效果未出现在产品系统中播放出现的花屏、音画不同步或抖屏等播放问题时,就可以初步排除片源本身存在问题的可能性;
步骤七:将步骤三和步骤五中dump的音视频《某某》第一集索引文件index.m3u8和其音视频0.ts、1.ts等分片文件,用专业的音视频分析工具软件如MediaInfo软件、EasyICE软件等,对音视频源进行分析,看音视频源数据是否存在如缺帧等异常,若没有则可进一步排除片源问题。
具体的,步骤三、步骤四、步骤五中的dump音视频数据的方法采用现有的C语言标准库里的函数实现。
可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。

Claims (2)

1.基于GStreamer框架的音视频错源排查方法,用于播放终端,其特征在于,包括以下步骤:
A.在播放终端系统的配置文件中配置dump控制开关;
B.在播放终端系统和基于GStreamer框架的流媒体播放器之间的中间自适应层获取步骤A配置的dump控制开关;
C.在基于GStreamer框架的流媒体播放器的HLS适应流中获取步骤B所得的dump控制开关,并在音视频文件开始播放时,将音视频数据中的索引文件m3u8文件的数据dump下载到步骤A中配置的开关路径下;
D.在基于GStreamer框架的流媒体播放器的HLS适应流中获取步骤C所得的dump控制开关,并依据步骤C所获取的m3u8文件中的单片音视频文件TS分片文件的统一资源定位符URL,获取每个TS分片文件的文件名;
E.在基于GStreamer框架的流媒体播放器的HLS适应流中,在音视频文件播放的过程中,依据步骤D中的m3u8文件依次将TS分片文件以步骤D获取的文件名dump下载到步骤A中配置的开关路径下,直到音视频文件播放退出;
F.将步骤C和步骤E中dump获取的音视频索引文件m3u8文件和音视频TS分片文件使用第三方播放器进行播放并将播放效果与在播放终端上的播放效果进行对比,若在播放终端上播放时出现的播放问题在第三方播放器播放时未出现,即可初步排除所述播放问题为音视频文件本身的问题;否则,初步判断音视频源有问题并进入步骤G;其中,所述播放问题包含花屏、音画不同步和/或抖屏;
G.使用音视频分析工具软件对步骤C和步骤E中dump获取的音视频索引文件m3u8文件和音视频TS分片文件进行音视频源分析,确认音视频文件的音视频源数据是否存在异常。
2.根据权利要求1所述的基于GStreamer框架的音视频错源排查方法,其特征在于,所述第三方播放器为VLC多媒体播放器或基于FFmpeg内核的播放器。
CN201811020028.6A 2018-09-03 2018-09-03 基于GStreamer框架的音视频错源排查方法 Active CN108989890B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811020028.6A CN108989890B (zh) 2018-09-03 2018-09-03 基于GStreamer框架的音视频错源排查方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811020028.6A CN108989890B (zh) 2018-09-03 2018-09-03 基于GStreamer框架的音视频错源排查方法

Publications (2)

Publication Number Publication Date
CN108989890A CN108989890A (zh) 2018-12-11
CN108989890B true CN108989890B (zh) 2021-01-26

Family

ID=64547564

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811020028.6A Active CN108989890B (zh) 2018-09-03 2018-09-03 基于GStreamer框架的音视频错源排查方法

Country Status (1)

Country Link
CN (1) CN108989890B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112153447B (zh) * 2020-09-27 2022-06-14 海信视像科技股份有限公司 一种显示设备及音画同步控制方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106341687A (zh) * 2016-09-30 2017-01-18 努比亚技术有限公司 一种定位视频解码异常的方法及装置
CN106385628A (zh) * 2016-09-23 2017-02-08 努比亚技术有限公司 一种分析音视频不同步的装置及方法
CN107247667A (zh) * 2017-06-02 2017-10-13 上海金大师网络科技有限公司 自动化dump分析系统及方法
CN107517411A (zh) * 2017-09-04 2017-12-26 青岛海信电器股份有限公司 一种基于GStreamer框架的视频播放方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7865774B2 (en) * 2007-09-19 2011-01-04 Cisco Technology, Inc. Multiprocessor core dump retrieval
US20100325490A1 (en) * 2009-06-22 2010-12-23 Anvin H Peter System and method to view crash dump information using a 2-d barcode
US9387813B1 (en) * 2012-03-21 2016-07-12 Road-Iq, Llc Device, system and method for aggregating networks and serving data from those networks to computers
CN102866930B (zh) * 2012-08-22 2015-11-25 北京奇虎科技有限公司 蓝屏修复方法、装置及系统
CN106131582B (zh) * 2016-07-14 2019-09-03 航天云网科技发展有限责任公司 一种基于视频文本信息的错源排查方法
CN107613369B (zh) * 2017-10-10 2020-06-16 海信视像科技股份有限公司 基于GStreamer框架的视频播放方法、装置及电子设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106385628A (zh) * 2016-09-23 2017-02-08 努比亚技术有限公司 一种分析音视频不同步的装置及方法
CN106341687A (zh) * 2016-09-30 2017-01-18 努比亚技术有限公司 一种定位视频解码异常的方法及装置
CN107247667A (zh) * 2017-06-02 2017-10-13 上海金大师网络科技有限公司 自动化dump分析系统及方法
CN107517411A (zh) * 2017-09-04 2017-12-26 青岛海信电器股份有限公司 一种基于GStreamer框架的视频播放方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
点播故障排查步骤;最爱姚传龙;《https://wenku.baidu.com/view/24b7a8e7b307e87100f6963d.html》;20151113;第9-10页 *

Also Published As

Publication number Publication date
CN108989890A (zh) 2018-12-11

Similar Documents

Publication Publication Date Title
US7185084B2 (en) Server-side measurement of client-perceived quality of service
US20140247887A1 (en) Just-in-time (jit) encoding for streaming media content
CN111064972A (zh) 一种基于ipv9的视频直播控制方法
US20150256600A1 (en) Systems and methods for media format substitution
US10149020B2 (en) Method for playing a media stream in a browser application
CN106658226B (zh) 一种播放方法及装置
US10798145B1 (en) Analyzing data streams
CN107820115A (zh) 实现视频信息预览的方法、装置及客户端和存储介质
CN111031385B (zh) 视频播放的方法及装置
Taheri et al. WebRTCbench: a benchmark for performance assessment of webRTC implementations
WO2019143938A1 (en) Processing dynamic web content of an iso bmff web resource track
CN110996160A (zh) 视频处理方法、装置、电子设备及计算机可读取存储介质
CN108989890B (zh) 基于GStreamer框架的音视频错源排查方法
US11095699B1 (en) Streaming media file management
CN111416988A (zh) 基于iptv网络在机顶盒上实现多屏播放的控制方法
US20240171797A1 (en) Techniques for providing a content stream based on a delivered stream of content
CN114866842A (zh) 一种Web视频的预览方法、设备及介质
US11172238B1 (en) Multiple view streaming
CN110855619B (zh) 播放音视频数据的处理方法、装置、存储介质及终端设备
CN112423096A (zh) 播放优化方法及系统
WO2022253079A1 (zh) 基于hls流的字幕显示方法及装置
US20230239328A1 (en) Computer implemented method for processing streaming requests and responses
Pfeiffer et al. Beginning HTML5 Media: Make the most of the new video and audio standards for the Web
US10893331B1 (en) Subtitle processing for devices with limited memory
CN109348297B (zh) 一种数据获取方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant