资源简介
基于dash协议,根据客户端网络带宽情况,视频自适应切换
代码片段和文件信息
#
#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个文件信息
- 上一篇:非正交多址系统功率分配及干扰消除算法研究
- 下一篇:炫酷登录页面——掌握属性动画
相关资源
- dashboard模版教程
- Metronic - Admin Dashboard Template 1.5.5
- Dash 4.6.2(740) 破解版
- Redash v5 Quick Start Guide
- kubernetes-dashboard-amd64-v1.10.0镜像
- git Dash 中文手册包
- Dashlaunch-DL3.18.1-CHS-Installer.rar
- Material-Dashboard-Pro-react
- dashCommerce跨境电商开源系统源码4.3破
- EXCEL制作KPI Dashboard的看板
- Dash 4 系列许可 license.dash-license . Das
- kubernetes-dashboard.yaml
- Jmeter-3.1-report-template
- Dash激活文件license
- 从大学生社会责任状况探析高校思政
- 完善人文社会科学研究成果转化对策
- 转型背景下知识型企业知识状态系统
- 浅埋煤层开采地裂缝发育特征研究&
- 苏州地区低技术溢出效应的原因探析
- 高等教育区域均衡发展观及其发展阶
- 艾丽丝·沃克作品中黑人女性美学
- “问题链”下精准微课教学探析
- 民族地区高校人力资源管理存在的问
- 层楼式石碹窑洞空间组合方式探析&
- 滑坡抢险应急治理方案及效果探析&
- 高校家庭经济困难学生创业帮扶模式
- 山地大学校园空间更新适应性设计探
- 乡村游憩空间“地方感”测度及
- 基于专利耦合分析的技术会聚测度方
- 我国的对外贸易状况探析—&mdash
评论
共有 条评论