DASH简介及使用方法(FFmpeg, MP4Box)

DASH:简介及使用方法(本文)
DASH:FFmpeg muxer参数说明


引入XXXX后,(对照竞品)网页端的视频观看体验存在以下问题:
1. 切换画质(1080P/高清/标清)时,播放器会黑屏,并回退到关键帧重新播放。
2. 不能根据网络状况自适应调整码率(YouTube默认启用自适应码率,对照画质选项中的“Auto”)

要解决以上问题,需要引入流媒体解决方案。

DASH

为什么选择DASH

YouTube采用DASH!其网页端及移动端APP都使用了DASH。DASH的其他采用者包括:Netflix, Hulu, …

什么是DASH

一种服务端、客户端的流媒体解决方案:
服务端:
将视频内容分割为一个个分片,每个分片可以存在不同的编码形式(不同的codec、profile、分辨率、码率等);
播放器端:
就可以根据自由选择需要播放的媒体分片;可以实现adaptive bitrate streaming技术。不同画质内容无缝切换,提供更好的播放体验。

DASH中的重要概念

  • MPD
    媒体文件的描述文件(manifest),作用类似HLS的m3u8文件。MPD文件以XML格式组织,其层次结构参图1。

  • Representation
    对应一个可选择的输出(alternative)。如,480p video,720p video, 44100采样 audio,22050采样audio,都使用Representation描述。

  • Segment(分片)
    每个Representation会划分为多个Segment。Segment分为4类,其中,最重要的是:Initialization Segment(每个Representation都包含1个Init Seg),Media Segment(每个Representation的媒体内容包含若干Media Seg)!

  • 13
    点赞
  • 82
    收藏
    觉得还不错? 一键收藏
  • 19
    评论
Dash是一个基于Python的Web应用程序框架,它提供了多种布局方式。下面是一些常用的Dash布局函数: 1. html.Div():用于创建一个HTML的div标签。 2. html.H1()、html.H2()、html.H3()、html.H4()、html.H5()、html.H6():用于创建HTML的标题标签。 3. html.P():用于创建HTML的段落标签。 4. html.Br():用于创建HTML的换行标签。 5. html.Img():用于创建HTML的图片标签。 6. dcc.Graph():用于创建一个图表。 7. dcc.Dropdown()、dcc.Checklist()、dcc.RadioItems()、dcc.Input():用于创建不同类型的表单组件。 8. dbc.Row()、dbc.Col():用于创建Bootstrap的网格系统。 9. dbc.Card()、dbc.CardHeader()、dbc.CardBody()、dbc.CardFooter():用于创建Bootstrap的卡片组件。 10. dbc.Navbar()、dbc.NavbarBrand()、dbc.Nav()、dbc.NavItem()、dbc.NavLink():用于创建Bootstrap的导航条组件。 以上是常用的布局函数,使用时需要先导入Dash和相关的布局函数。例如: ```python import dash import dash_html_components as html import dash_core_components as dcc app = dash.Dash(__name__) app.layout = html.Div([ html.H1('Hello Dash!'), html.Div('Dash: A web application framework for Python.'), dcc.Graph( id='example-graph', figure={ 'data': [ {'x': [1, 2, 3], 'y': [4, 1, 2], 'type': 'bar', 'name': 'SF'}, {'x': [1, 2, 3], 'y': [2, 4, 5], 'type': 'bar', 'name': 'Montreal'}, ], 'layout': { 'title': 'Dash Data Visualization' } } ) ]) if __name__ == '__main__': app.run_server(debug=True) ``` 上面的例子中,使用了html.H1()、html.Div()、dcc.Graph()等布局函数创建了一个简单的页面布局。
评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值