附图说明
图1是根据本发明的装置的。生成ts文件图2是根据本发明的方法的流程图。
具体实施例方式为使本发明的上述目的、特征和优点更加明显易懂,下面结合附图和具体实施方式
对本发明作进一步详细的说明本发明提供了一种在动态生成ts文件时能够实现无缝连接的技术方案。在视频分段时,分析可以得到每一分段的视频时长和音频时长,记录到中。在生成视频列表格式m3u8文件时(视频由一个以m3u8为后缀的文本文件加上一群小的ts文件构成。m3u8文件里面是这些小的ts文件的url地址,也就是说m3u8文件是多个ts文件的地址列表,一个视频对应一个m3u8文件),对每一个ts文件增加两个请求参数,分别为前面ts文件对应的视频总时长和音频总时长,现实中ー个flv分段视频会生成多个ts文件。本例子简化成一个flv分段视频只有一个ts文件。用ts_seg_video和ts_seg_audio标记前面视频的视频累积时长和音频累积时长。pifu04_000. flv 是第一个,ts_seg_video 和 ts_seg_audio 对应的都是 0 ;pifu04_001. flv是第二个分段文件,对应的是第一个文件的时长,ts_seg_video和ts_seg_audio都是13s ;pifu04_002. flv是第三个分段 文件,对应的是第一个和第二个文件的时长之和,为ts_seg_video=41333ms, ts_seg_audio=41333ms。
这样服务器在动态生成ts文件时,ts文件中的视频帧和音频帧的时间戳都加上这两个输入參数(所述时间戳在未加入这两个參数之前的播放时间是依照该视频帧或音频帧在ts文件中的位置来決定的,也就是说,ts文件的第一个视频帧的时间戳为0,而根据视频帧率和音频帧率,也就是可以计算每ー视频帧时长和音频帧的每ー帧的时长,从而可以计算后续视频帧和音频帧的时间戳),就可以实现无缝连接了。在特殊条件下,这个算法还可以进ー步的优化。例如,假设只记录了每一分段的视频时长,在进行分段时视频音频有特殊的对应关系(比如音频肯定大于等于视频,但是不会超过一音频帧的时长),这样只増加一个參数,对生成ts文件的服务器进行预先设置也可以保证无缝连接。需要注意的是,做无缝连接吋,m3u8文件要去掉原来的EXT-X-DISCONTINUITY字段,不然还是有短时停顿现象。该字段表示相邻两个ts文件无关联。如图1所示,根据本发明的装置共有四大模块1.转码模块解析分段视频并计算每一分段视频的视频时长和音频时长(优选地,分段模块按特殊约定进行分段,也就是音频长于视频,但是差值不超过一音频帧时长)。2.记录每一分段视频的视频时长和音频时长。
3.生成m3u8文件模块生成m3u8文件时,累计分段视频时长和音频时长。例如,累计前一分段、前两个分段、前三个分段…以此类推。4.动态ts文件生成模块生成ts文件时,其中的每ー视频帧和音频帧的时间戳要加上上述请求參数。该装置进ー步包括分段模块,在对视频进行分段吋,每一分段视频的音频长于视频,但是差值不超过一音频帧时长。如图2所示,根据本发明的该方法包括转码步骤,用于解析分段视频并计算每一分段视频的视频时长和首频时长;存储步骤,将姆一分段视频的视频时长和首频时长记录在中;生成m3u8文件步骤,累计分段视频时长和音频时长;生成ts文件步骤,ts文件中的每ー视频帧和音频帧的时间戳要加上累计 的在先分段视频的视频时长和音频时长。该方法进ー步包括分段步骤,在对视频进行分段吋,每一分段视频的音频长于视频,但是差值不超过一音频帧时长。本发明获得的技术效果是用苹果设备播放分片视频不会在分片点有短时停顿现象了。以上是对本发明的优选实施例进行的详细描述,但本领域的普通技术人员应该意识到,在本发明的范围内和精神指导下,各种改进、添加和替换都是可能的。这些都在本发明的权利要求所限定的保护范围内。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/bofangqi/article-26529-2.html
和政府作对你能赢
她168啊
沉淀七年而崛起