CN104768075B - 基于DirectShow的外挂字幕重定向方法及系统 - Google Patents
基于DirectShow的外挂字幕重定向方法及系统 Download PDFInfo
- Publication number
- CN104768075B CN104768075B CN201510177811.3A CN201510177811A CN104768075B CN 104768075 B CN104768075 B CN 104768075B CN 201510177811 A CN201510177811 A CN 201510177811A CN 104768075 B CN104768075 B CN 104768075B
- Authority
- CN
- China
- Prior art keywords
- video
- file
- client
- captions
- filter
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 25
- 230000005540 biological transmission Effects 0.000 description 8
- 238000009877 rendering Methods 0.000 description 5
- 238000001914 filtration Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000006735 deficit Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
Classifications
-
- 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/47—End-user applications
- H04N21/488—Data services, e.g. news ticker
- H04N21/4884—Data services, e.g. news ticker for displaying subtitles
-
- 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/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/8126—Monomedia components thereof involving additional data, e.g. news, sports, stocks, weather forecasts
-
- 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/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/8547—Content authoring involving timestamps for synchronizing content
Abstract
本发明提供一种基于DirectShow的外挂字幕重定向方法,步骤如下:1、从服务端中获取字幕文件;2、将该字幕文件发送至客户端;3、将DirectVobSub Filter加载至客户端的视频播放链路中,通过该DirectVobSub Filter上的接口获取该字幕文件所在的目录路径;4、调整客户端的视频文件中的视频数据每一帧的时间戳,根据时间戳将字幕数据添加至视频数据后,通过客户端的视频播放链路对调整后的视频数据进行播放。本发明还提供一种基于DirectShow的外挂字幕重定向的系统,本发明能够解决在云计算环境中使用多媒体重定向技术观看高清视频时无法加载外挂字幕的问题。
Description
技术领域
本发明涉及多媒体重定向技术领域,尤其涉及一种基于DirectShow的外挂字幕重定向方法及系统。
背景技术
DirectShow是微软公司提供的一套在Windows平台上进行流媒体处理的开发包,是一套完全基于COM(Component Object Model,即组件对象模型)的应用系统,它的组成模块是一种称之为Filter(过滤器)的COM组件,每一个Filter完成数据流上的某些功能。
现有技术如图1所示,多媒体重定向技术使用的是DirectShow框架,服务端和客户端内均包含有Source Filer(源过滤器)、Transform Filer(传输过滤器)、Render Filer(渲染过滤器),视频文件位于服务端内,通过Source Filer(源过滤器)获取服务端中的视频文件,将该视频文件传输至Transform Filer(传输过滤器)进行解析,将视频文件中的视频数据解析成数据流经Render Filer(渲染过滤器)下发至客户端的Source Filer(源过滤器),再经Transform Filer(传输过滤器)传输至Render Filer(渲染过滤器)进行播放。
随着云计算技术的推广,在虚拟桌面中观看高清视频成为人们特定的需求。在虚拟桌面播放高清视频会出现画面不流畅以及需要占用大量服务器资源的问题,为了解决这些问题,各大虚拟厂商推出多媒体重定向技术来解决。而对于一些高清视频,其本身并不内嵌字幕,需要加载的外挂字幕支持。外挂字幕是视频文件和字幕文件分离,在播放的时候要导入字幕文件,比如DVD就会自动导入字幕,外挂字幕的好处是:可以导入自己国家的语言,且外挂字幕相对于内嵌字幕来说对视频的质量损害就会小很多。但现有的多媒体重定向技术无法播放外挂字幕,从而无法达到更好的视频观看体验。
发明内容
本发明要解决的技术问题之一,在于提供一种基于DirectShow的外挂字幕重定向方法,是为了解决现有的多媒体重定向技术无法播放外挂字幕的问题。
本发明的问题之一,是这样实现的:
一种基于DirectShow的外挂字幕重定向方法,包括如下步骤:
步骤1、从服务端中获取字幕文件;
步骤2、将该字幕文件发送至客户端,并存储至该客户端的一目录中;
步骤3、将DirectVobSub Filter加载至客户端的视频播放链路中,通过该DirectVobSub Filter上的接口获取该字幕文件所在的目录路径,然后DirectVobSubFilter通过该目录路径将该字幕文件中的字幕数据解析成数据流;
步骤4、调整客户端中的视频数据每一帧的时间戳,使视频数据与字幕数据显示的时间相匹配,从而DirectVobSub Filter能根据视频数据每一帧的时间戳,将字幕数据添加至视频数据后,通过客户端的视频播放链路对调整后的视频数据进行播放。
进一步地,所述步骤1具体如下:
在DirectShow框架中,使用FilterGraph中的Source Filter来获取IFileSourceFilter接口,并通过该IFileSourceFilter接口从服务端中找出视频文件,然后通过该视频文件所在的文件路径找出与该视频文件的文件名相同的字幕文件。
进一步地,所述步骤3具体如下:
将DirectVobSub Filter加载至FilterGraph中以获取IDirectVobSub接口,使用该IDirectVobSub接口的put_filename方法获取该字幕文件所在的目录路径,然后DirectVobSub Filter通过该目录路径将该字幕文件中的字幕数据解析成数据流。
本发明要解决的技术问题之二,在于提供一种基于DirectShow的外挂字幕重定向的系统,是为了解决现有的多媒体重定向技术无法播放外挂字幕的问题。
本发明的问题之二,是这样实现的:
一种基于DirectShow的外挂字幕重定向的系统,包括:
获取模块,用于从服务端中获取字幕文件;
发送模块,用于将该字幕文件发送至客户端,并存储至该客户端的一目录中;
设置模块,用于将DirectVobSub Filter加载至客户端的视频播放链路中,通过该DirectVobSub Filter上的接口获取该字幕文件所在的目录路径,然后DirectVobSubFilter通过该目录路径将该字幕文件中的字幕数据解析成数据流;
调整模块,用于调整客户端中的视频数据每一帧的时间戳,使视频数据与字幕数据显示的时间相匹配,从而DirectVobSub Filter能根据视频数据每一帧的时间戳,将字幕数据添加至视频数据后,通过客户端的视频播放链路对调整后的视频数据进行播放。
进一步地,所述获取模块具体包括:
在DirectShow框架中,使用FilterGraph中的Source Filter来获取IFileSourceFilter接口,并通过该IFileSourceFilter接口从服务端中找出视频文件,然后通过该视频文件所在的文件路径找出与该视频文件的文件名相同的字幕文件。
进一步地,所述设置模块具体包括:
将DirectVobSub Filter加载至FilterGraph中以获取IDirectVobSub接口,使用该IDirectVobSub接口的put_filename方法获取该字幕文件所在的目录路径,然后DirectVobSub Filter通过该目录路径将该字幕文件中的字幕数据解析成数据流。
本发明具有如下优点:本发明能够解决在云计算环境中使用多媒体重定向技术观看高清视频时无法加载外挂字幕的问题。
附图说明
下面参照附图结合实施例对本发明作进一步的说明。
图1为现有技术的视频数据传输流程图。
图2为本发明的数据传输流程图。
图3为本发明方法执行流程图。
具体实施方式
为使本发明更明显易懂,兹以一优选实施例,并配合附图作详细说明如下。
如图2所示,本发明是基于多媒体重定向技术的DirectShow框架进行的改进,服务端包含有Source Filer(源过滤器)、Transform Filer(传输过滤器)、Render Filer(渲染过滤器),而客户端包含有Source Filer(源过滤器)、Transform Filer(传输过滤器)、DirectVobSub Filter(字幕处理过滤器)、Render Filer(渲染过滤器),视频文件与字幕文件均位于服务端内,通过Source Filer(源过滤器)获取服务端中的视频文件,再通过该视频文件的文件路径找到字幕文件并传输至客户端的一临时目录中,同时将该视频文件传输至Transform Filer(传输过滤器)进行解析,将视频文件中的视频数据解析成数据流经Render Filer(渲染过滤器)下发至客户端的Source Filer(源过滤器),再经TransformFiler(传输过滤器)传输至DirectVobSub Filter(字幕处理过滤器),通过DirectVobSubFilter(字幕处理过滤器)上的接口获取字幕文件所在的目录路径,并通过该目录路径将该字幕文件中的字幕数据解析成数据流;接着调整客户端中的视频数据每一帧的时间戳,使视频数据与字幕数据显示的时间相匹配,从而DirectVobSub Filter能根据视频数据每一帧的时间戳,将字幕数据添加至视频数据后,最后通过客户端的Render Filer(渲染过滤器)对调整后的视频数据进行播放。
如图3所示,本发明的一种基于DirectShow的外挂字幕重定向方法,包括如下步骤:
步骤1、从服务端中获取字幕文件;具体有:在DirectShow框架中,使用FilterGraph中的Source Filter来获取IFileSourceFilter接口,并通过该IFileSourceFilter接口从服务端中找出视频文件,然后通过该视频文件所在的文件路径找出与该视频文件的文件名相同,且后缀名为“.srt”、“.smi”、“.ass”等格式的字幕文件;
步骤2、将该字幕文件发送至客户端,并存储至该客户端的一目录中;
步骤3、将DirectVobSub Filter加载至客户端的视频播放链路中,通过该DirectVobSub Filter上的IDirectVobSub接口的put_filename方法获取该字幕文件所在的目录路径,然后DirectVobSub Filter通过该目录路径将该字幕文件中的字幕数据解析成数据流;
步骤4、调整客户端中的视频数据每一帧的时间戳,使视频数据与字幕数据显示的时间相匹配,从而DirectVobSub Filter能根据视频数据每一帧的时间戳,将字幕数据添加至视频数据后,通过客户端的视频播放链路对调整后的视频数据进行播放。
其中有,DirectShow是微软公司提供的一套在Windows平台上进行流媒体处理的开发包;DirectVobSub是一个可以用来播放由Vobsub制作的字幕文件的DirectShow过滤器;Filter是在DirectShow框架中参与数据处理的过滤器;FilterGraph是在DirectShow中,用来管理整个数据流的处理过程的链路表;DirectVobSub Filter为字幕过滤器;IDirectVobSub为DirectVobSub Filter上的接口;Source Filter为枚举源过滤器;IFileSourceFilter为Source Filter上的接口。
一种基于DirectShow的外挂字幕重定向的系统,包括:
获取模块,用于从服务端中获取字幕文件;具体有:在DirectShow框架中,使用FilterGraph中的Source Filter来获取IFileSourceFilter接口,并通过该IFileSourceFilter接口从服务端中找出视频文件,然后通过该视频文件所在的文件路径找出与该视频文件的文件名相同,且后缀名为“.srt”、“.smi”、“.ass”等格式的字幕文件;
发送模块,用于将该字幕文件发送至客户端,并存储至该客户端的一目录中;
设置模块,用于将DirectVobSub Filter加载至客户端的视频播放链路中,通过该DirectVobSub Filter上的IDirectVobSub接口的put_filename方法获取该字幕文件所在的目录路径,然后DirectVobSub Filter通过该目录路径将该字幕文件中的字幕数据解析成数据流;
调整模块,用于调整客户端中的视频数据每一帧的时间戳,使视频数据与字幕数据显示的时间相匹配,从而DirectVobSub Filter能根据视频数据每一帧的时间戳,将字幕数据添加至视频数据后,通过客户端的视频播放链路对调整后的视频数据进行播放。
其中有,DirectShow是微软公司提供的一套在Windows平台上进行流媒体处理的开发包;DirectVobSub是一个可以用来播放由Vobsub制作的字幕文件的DirectShow过滤器;Filter是在DirectShow框架中参与数据处理的过滤器;FilterGraph是在DirectShow中,用来管理整个数据流的处理过程的链路表;DirectVobSub Filter为字幕过滤器;IDirectVobSub为DirectVobSub Filter上的接口;Source Filter为枚举源过滤器;IFileSourceFilter为Source Filter上的接口。
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。
Claims (2)
1.一种基于DirectShow的外挂字幕重定向方法,其特征在于:包括如下步骤:
步骤1、在DirectShow框架中,使用过滤器链路表中的源过滤器来获取IFileSourceFilter接口,并通过该IFileSourceFilter接口从服务端中找出视频文件,然后通过该视频文件所在的文件路径找出与该视频文件的文件名相同的字幕文件;
步骤2、将该字幕文件发送至客户端,并存储至该客户端的一目录中;
步骤3、将字幕处理过滤器加载至过滤器链路表中以获取IDirectVobSub接口,使用该IDirectVobSub接口的设置文件名方法获取该字幕文件所在的目录路径,然后字幕处理过滤器通过该目录路径将该字幕文件中的字幕数据解析成数据流;
步骤4、调整客户端中的视频数据每一帧的时间戳,使视频数据与字幕数据显示的时间相匹配,从而字幕处理过滤器能根据视频数据每一帧的时间戳,将字幕数据添加至视频数据后,通过客户端的视频播放链路对调整后的视频数据进行播放。
2.一种基于DirectShow的外挂字幕重定向的系统,其特征在于:包括:
获取模块,用于在DirectShow框架中,使用过滤器链路表中的源过滤器来获取IFileSourceFilter接口,并通过该IFileSourceFilter接口从服务端中找出视频文件,然后通过该视频文件所在的文件路径找出与该视频文件的文件名相同的字幕文件;
发送模块,用于将该字幕文件发送至客户端,并存储至该客户端的一目录中;
设置模块,用于将字幕处理过滤器加载至过滤器链路表中以获取IDirectVobSub接口,使用该IDirectVobSub接口的设置文件名方法获取该字幕文件所在的目录路径,然后字幕处理过滤器通过该目录路径将该字幕文件中的字幕数据解析成数据流;
调整模块,用于调整客户端中的视频数据每一帧的时间戳,使视频数据与字幕数据显示的时间相匹配,从而字幕处理过滤器能根据视频数据每一帧的时间戳,将字幕数据添加至视频数据后,通过客户端的视频播放链路对调整后的视频数据进行播放。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510177811.3A CN104768075B (zh) | 2015-04-16 | 2015-04-16 | 基于DirectShow的外挂字幕重定向方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510177811.3A CN104768075B (zh) | 2015-04-16 | 2015-04-16 | 基于DirectShow的外挂字幕重定向方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104768075A CN104768075A (zh) | 2015-07-08 |
CN104768075B true CN104768075B (zh) | 2018-03-23 |
Family
ID=53649620
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510177811.3A Expired - Fee Related CN104768075B (zh) | 2015-04-16 | 2015-04-16 | 基于DirectShow的外挂字幕重定向方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104768075B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106899875A (zh) * | 2017-02-06 | 2017-06-27 | 合网络技术(北京)有限公司 | 外挂字幕的显示控制方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101329758A (zh) * | 2008-07-30 | 2008-12-24 | 优视动景(北京)技术服务有限公司 | 一种多媒体数据跨进程处理系统 |
CN101552791A (zh) * | 2009-05-22 | 2009-10-07 | 腾讯科技(深圳)有限公司 | 播放多个媒体文件的方法和系统 |
CN102695094A (zh) * | 2012-05-15 | 2012-09-26 | 福建升腾资讯有限公司 | Vdi环境下软硬件一体化音视频重定向的方法 |
CN102789385A (zh) * | 2012-08-15 | 2012-11-21 | 魔方天空科技(北京)有限公司 | 视频文件播放器和视频文件播放的处理方法 |
CN103024528A (zh) * | 2013-01-07 | 2013-04-03 | 杭州浦禾通信技术有限公司 | 在移动终端上实现流媒体数据发送的方法及移动终端 |
-
2015
- 2015-04-16 CN CN201510177811.3A patent/CN104768075B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101329758A (zh) * | 2008-07-30 | 2008-12-24 | 优视动景(北京)技术服务有限公司 | 一种多媒体数据跨进程处理系统 |
CN101552791A (zh) * | 2009-05-22 | 2009-10-07 | 腾讯科技(深圳)有限公司 | 播放多个媒体文件的方法和系统 |
CN102695094A (zh) * | 2012-05-15 | 2012-09-26 | 福建升腾资讯有限公司 | Vdi环境下软硬件一体化音视频重定向的方法 |
CN102789385A (zh) * | 2012-08-15 | 2012-11-21 | 魔方天空科技(北京)有限公司 | 视频文件播放器和视频文件播放的处理方法 |
CN103024528A (zh) * | 2013-01-07 | 2013-04-03 | 杭州浦禾通信技术有限公司 | 在移动终端上实现流媒体数据发送的方法及移动终端 |
Also Published As
Publication number | Publication date |
---|---|
CN104768075A (zh) | 2015-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102321859B1 (ko) | 자바 스크립트를 이용한 실시간 미디어 스트리밍 방법 및 그 장치 | |
JP6064249B2 (ja) | 動的適応ストリーミングオーバーハイパーテキスト転送プロトコルクライアント挙動フレームワークおよびセッション管理の実装 | |
EP3562163B1 (en) | Audio-video synthesis method and system | |
WO2020056877A1 (zh) | 一种调整直播视频的时间戳的方法和装置 | |
CN103747287B (zh) | 应用于flash的视频播放速度调整的方法及系统 | |
US10965483B2 (en) | Methods, systems, and media for media content streaming device setup | |
WO2017097149A1 (zh) | 广播电视终端弹幕实现方法及广播电视系统服务器 | |
KR20150119936A (ko) | 에어셰어링 방법, 에어셰어링 기기, 및 단말 장치 | |
US20160360282A1 (en) | System and method of content streaming and downloading | |
JP2015527816A (ja) | ハイパーテキスト転送プロトコル上での動的適応ストリーミングにおけるコンテンツ特定識別およびタイミング挙動 | |
WO2017028675A1 (zh) | 直播频道播放方法、装置及系统 | |
US20150256846A1 (en) | Image processing apparatus, image processing method and image processing system | |
WO2015139547A1 (zh) | 一种设置应用场景的方法、设备和系统 | |
CN103747365B (zh) | 基于http流的媒体内容动态插播方法、装置及系统 | |
CN105898506A (zh) | 媒体文件的多屏播放方法和系统 | |
US8806051B2 (en) | Multimedia file sharing method and system thereof | |
CN104219571B (zh) | 一种自动提供看点的方法和装置 | |
WO2015180446A1 (zh) | 一种多设备联动服务中的连接通道维护系统及方法 | |
WO2021067187A1 (en) | Methods and apparatuses for dynamic adaptive streaming over http | |
EP4173305A1 (en) | Multi-mode conversion of multiple video streams | |
CN106331763B (zh) | 无缝播放分片媒体文件的方法及实现该方法的装置 | |
WO2013001344A3 (en) | Method for cataloguing and accessing digital cinema frame content | |
CN113661692A (zh) | 基于http的动态自适应流传输的方法和装置 | |
CN104768075B (zh) | 基于DirectShow的外挂字幕重定向方法及系统 | |
JP2015026920A (ja) | コンテンツ録画・再生装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180323 |