资源简介
基于dash协议,根据客户端网络带宽情况,视频自适应切换
![](http://www.nz998.com/pic/53529.jpg)
代码片段和文件信息
#
#based on python-ebml and the example of Carson McDonald
#
#Created by Benjamin Rainer and Stefan Lederer
previous_offset = 0
video_file = ““
is_first = 0
from ebml.schema import EBMLDocument UnknownElement CONTAINER BINARY
def fill_video_info(element offset video_info):
global previous_offset
global video_file
global is_first
if element.name == ‘Duration‘:
video_info[‘duration‘] = element.value
if element.name == ‘DisplayWidth‘:
video_info[‘width‘] = element.value
if element.name == ‘DisplayHeight‘:
video_info[‘height‘] = element.value
if element.name == ‘FileMimeType‘:
video_info[‘mimetype‘] = element.value
if element.name == ‘Cluster‘:
if is_first == 0:
video_info[‘segments‘].append(‘se> se>‘)
video_info[‘segments‘].append(‘‘)
is_first = is_first + 1
else:
video_info[‘segments‘].append(‘ ‘)
if element.name == ‘Cluster‘:
previous_offset = offset
if element.type == CONTAINER:
for sub_el in element.value:
fill_video_info(sub_el offset + element.head_size video_info)
offset += sub_el.size
if __name__ == ‘__main__‘:
import sys
import json
import os
import xmlrpclib;
mod_name _ cls_name = ‘ebml.schema.matroska.MatroskaDocument‘.rpartition(‘.‘)
try:
doc_mod = __import__(mod_name fromlist=[cls_name])
doc_cls = getattr(doc_mod cls_name)
except ImportError:
parser.error(‘unable to import module %s‘ % mod_name)
except AttributeError:
parser.error(‘unable to import class %s from %s‘ % (cls_name mod_name))
global video_file
video_info = {}
video_info[‘filename‘] = sys.argv[1]
video_file = sys.argv[1]
video_info[‘mimetype‘] = ‘video/webm‘
video_info[‘total_size‘] = os.stat(sys.argv[1]).st_size
video_info[‘segments‘] = []
video_info[‘segmentduration‘] = sys.argv[2]
video_info[‘baseurl‘] = sys.argv[4]
video_info[‘minBufferTime‘] = sys.argv[3]
with open(sys.argv[1] ‘rb‘) as stream:
doc = doc_cls(stream)
offset = 0
for el in doc.roots:
fill_video_info(el offset video_info)
offset += el.size
print ‘seURL>‘ + video_info[‘baseurl‘] + ‘ seURL>‘
print ‘‘
for el in video_info[‘segments‘]:
print el
print ‘ ‘
print ‘
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2014-07-21 14:19 DASH-JS-master\
文件 6148 2014-07-21 14:19 DASH-JS-master\.DS_Store
文件 18356 2014-07-21 14:19 DASH-JS-master\bigbuckbunny_mp.mpd
文件 3001 2014-07-21 14:19 DASH-JS-master\create_mpd_segment_info.py
目录 0 2014-07-21 14:19 DASH-JS-master\dash-js\
文件 6148 2014-07-21 14:19 DASH-JS-master\dash-js\.DS_Store
文件 5599 2014-07-21 14:19 DASH-JS-master\dash-js\DASHttp.js
文件 4984 2014-07-21 14:19 DASH-JS-master\dash-js\adaptationlogic.js
文件 2529 2014-07-21 14:19 DASH-JS-master\dash-js\bandwidth.js
文件 5506 2014-07-21 14:19 DASH-JS-master\dash-js\ba
文件 1125 2014-07-21 14:19 DASH-JS-master\dash-js\buffer.js
文件 2437 2014-07-21 14:19 DASH-JS-master\dash-js\dash.js
文件 208 2014-07-21 14:19 DASH-JS-master\dash-js\dashPla
文件 1600 2014-07-21 14:19 DASH-JS-master\dash-js\eventHandlers.js
文件 8206 2014-07-21 14:19 DASH-JS-master\dash-js\fplot.js
文件 2453 2014-07-21 14:19 DASH-JS-master\dash-js\mediaSourceAPIAdaptation.js
文件 5298 2014-07-21 14:19 DASH-JS-master\dash-js\mediaSourceBuffer.js
文件 13965 2014-07-21 14:19 DASH-JS-master\dash-js\mpdParser.js
文件 1885 2014-07-21 14:19 DASH-JS-master\dash-js\rate_measurement.js
文件 3285 2014-07-21 14:19 DASH-JS-master\dash-js\timeBuffer.js
文件 1709 2014-07-21 14:19 DASH-JS-master\dashtest.html
目录 0 2014-07-21 14:19 DASH-JS-master\ebml\
文件 41 2014-07-21 14:19 DASH-JS-master\ebml\__init__.py
文件 203 2014-07-21 14:19 DASH-JS-master\ebml\__init__.pyc
文件 14438 2014-07-21 14:19 DASH-JS-master\ebml\core.py
文件 16224 2014-07-21 14:19 DASH-JS-master\ebml\core.pyc
文件 1553 2014-07-21 14:19 DASH-JS-master\ebml\create_playlist.py
目录 0 2014-07-21 14:19 DASH-JS-master\ebml\schema\
文件 89 2014-07-21 14:19 DASH-JS-master\ebml\schema\__init__.py
文件 303 2014-07-21 14:19 DASH-JS-master\ebml\schema\__init__.pyc
文件 5888 2014-07-21 14:19 DASH-JS-master\ebml\schema\ba
............此处省略30个文件信息
- 上一篇:非正交多址系统功率分配及干扰消除算法研究
- 下一篇:炫酷登录页面——掌握属性动画
相关资源
- lmdb代码——caffe
- 由s = 7 $$ \\ sqrt {\\ mathrm {s}} = 7 $$ TeV
- 带有Mordell–Weil U1的F-GUT
- 介子核Drell–Yan过程和介子中的p
- 黑苹果—盈通 R6770-1024GD5 TA 经典版
- 矿山开采沉陷类项目基金资助现状与
- 方正超粗黑简体 FZCCHJW—GB1-0 字体
- Hillstone ARP防护——StoneOS如何保
- Hillstone防火墙技术——StoneOS安
- 磁盘备份的优势——先进的重复
- 具有Λ项的Einstein–Gauss&ndash
- Weyl和Einstein–Gauss–Bonnet引力中
- Bopp–Podolsky黑洞和无毛定理
- 麦克斯韦–切恩–西蒙斯引力及
- Maxwell–Higgs型广义模型中的解析涡
- 关于Chern–Simons修正重力场中Taub
- 3d N = 1 Chern–Simons问题理论与局部
- Chern–Simons矩阵模型中的多割解
- 紧凑型Chern–Simons涡
- 包裹的M5大脑全息图和Chern–Simon
- 基于四元数的Chern–Simons理论在任
- 非超对称麸构型在Chern–Simons理论
- 具有可见和隐藏扇区的Chern–Simo
- 与重力相互作用的3 Chern–Simons的三
- Bosonic D = 11广义Chern–Simons动作的超
- d = 4时的Chern–Simons重力作用
- 具有Chern–Simons数和轴野的Abelian规
- d = 4中的拓扑引力和Chern–Simons形式
- 解秘重复数据删除——飞康帮您
- FM立体声发射器———采用
评论
共有 条评论