问题标签 [adaptive-bitrate]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - HLS 流,关于段大小配置的建议
我们正在开发一个需要播放 10 秒视频的移动应用程序。
第一个版本将仅支持iOS (iPhone & iPad
)。为了在所有设备上获得良好的质量,我们将使用自适应流媒体。
我彻底阅读了Apple HLS documentation
10 秒似乎是HLS segments
.
因此,如果我们在案例分割中使用默认的 10 秒并没有真正的用处。
由于我们使用的是带有非常小的视频的移动应用程序,我想知道对于某些设备/网络条件,将这 10 秒的“默认”更改为更小的值是否会更好?
是否可以通过降低此值来加快视频的启动速度?
我想我们在任何地方都能找到的 10 秒“默认”对于必须在“任何地方”(台式机、智能手机、平板电脑)播放的视频来说是一个不错的选择和建议,但也许其他值更适合智能手机?
最后,您是否认为在我们的案例中 HLS 不是一个好的选择,而简单地使用 MP4 视频的渐进式下载会更好?
提前感谢您的回复。
jwplayer - 使用播放列表的 ipad 的 jwplayer 自适应比特率
我正在尝试使用 JWplayer 6.9 设置 ABR(Wowza 4.0.3 是流媒体服务器)。
Wowza 转码器插件被禁用。这意味着如果我们调用 wowza 来获取某个视频文件的播放列表,它会自动返回仅包含该文件的 m3u8 格式,而不是该文件的所有现有流。看看怎么做,对于 smil 文件很好,但不适用于播放列表(https 请求,对于 Ipad)
默认情况下,只针对一个流,jwplayer 请求:
回报:
哪个有效。
我正在尝试在 JWplayer 中设置它,以便它获得一个像上面一样但有多个流的播放列表文件,然后显示在流之间切换的图标。
第一次尝试(playlist.m3u8):
jwplayer 的变化:'sources':[{ file: "/files/playlist.m3u8" }],
播放列表.m3u8 文件:
==================================================== ==============
第二次尝试:(更改 jwplayer 代码:文件:“/files/video.smil”)
jwplayer 的变化:'sources':[{ file: "/files/video.smil" }],
微笑文件(/files/video.smil):
以上选项都不会向 Wowza 发出成功请求...如何使用播放列表在 jwplayer 中发送不同的流?
javascript - 重用源缓冲区中的字节(MediaSource Extensions)
我正在使用 MSE(MediaSource Extensions API)将字节附加到缓冲区(我正在实现 DASH)。似乎 MSE API 提供的源缓冲区并没有公开正在缓冲的实际字节。
因此,在将字节提供给缓冲区之后:
如果我想重用这些字节 - 我需要从 bytes 变量中获取它们。但这是一个糟糕的解决方案,因为这意味着有双倍的内存占用——每个字节变量一个,每个源缓冲区一个。
通过使用 start 和 end 方法迭代 range 变量,可以很容易地获得缓冲范围:
是否也有可能以某种方式获取缓冲区缓存的实际字节,以便我可以重用它们?
encryption - 用于 HLS 的 AES-128。它是如何应用的?
关于此处提到的 AES-128 加密方法的问题。
这种方法究竟如何应用于 HLS 媒体片段?在将它们打包成 PES 有效负载之前,是加密的 MPEG-2 TS 容器(包括 TS/PES 数据包头和 PSI (!?) )还是其中的基本流?
video-streaming - mpd 文件中的段范围是什么意思?
我从http://dash-mse-test.appspot.com/media.html获得了一个示例 mpd 文件,下面是一个包含单个表示的片段。
SegmentBase 是什么意思?indexRange 的值是什么意思?
初始化结束范围总是比 indexRange 开始值小一。即上面的2755-1 = 2754(Initialization的值)
谁能帮我理解这些数字的意义?
编辑1:
根据下面@sander 的回答,我了解segmentindex 是字节范围。但是,我仍然对如何使用这个值感到困惑。
例如:
<Representation bandwidth="4190760" codecs="avc1.640028" height="1080" id="1" mimeType="video/mp4" width="1920">
<BaseURL>car-20120827-89.mp4</BaseURL>
<SegmentBase indexRange="674-1149">
<Initialization range="0-673" />
</SegmentBase>
</Representation>
此表示中只有一个片段包含单个文件中的整个视频剪辑。(文件大小约为 90mb)。
初始化范围提到 0-673。所以从文件的第 0 字节到文件的第 673 字节包含视频的初始化段。我的理解对吗?
如果是这样,该文件大约为 90mb。如何按字节范围获取其他段?SegmentBase 仅提及 indexRange 674-1149。
顺便说一句,我正在使用这个播放器来了解 segmentindex。
查看使用 Chrome 的检查工具发送的标头请求,有很多请求发生在小字节范围内,但我不确定如何从 MPD 获取这些字节范围。
谢谢
video-streaming - MP4 H264 VBR,如何获取每秒视频的比特率?
我有一些用 H264 编码并显示在我的网站上的 MP4 视频。
我担心的是带宽消耗。我正在尝试限制带宽以不发送超过一段时间间隔所需的 MP4 视频数据。
例如,考虑视频比特率的第一秒是 100KB。在这种情况下,我只需要在第一秒内向浏览器发送 100KB 的视频数据。
我的问题是每秒获得这样的价值。有没有办法在视频编码后获取这些信息?有没有办法通过从 ffmpeg 编码控制台获取数据来获取此类信息?或者是否有任何低级 API(C、C++、...)来做这样的工作?
谢谢!
video.js - Videojs 中的 SMIL 自适应流式传输
使用 SMIL 文件在 videojs 播放器中利用自适应流媒体需要什么。我在我的 wowza 应用程序中创建了 SMIL 文件,它正在创建我的 4 个单独的流并使它们可用。但是,我无法让使用 videojs 的网页正确播放 SMIL 文件。非常感谢有关该编码的提示或在哪里可以找到正确的文档。
android - Wowza:音频文件中的 Vod 自适应比特率流问题
我正在为我的应用程序使用 Wowzastreamengine-4.0.3。我已经在服务器上构建了 wowza。我必须为 2g(或更低的网络连接)自适应比特率。
我已经按照这个链接设置了所有自适应比特率
http://www.wowza.com/forums/content.php?546-How-to-do-adaptive-bitrate-streaming
我为不同的比特率创建了不同的微笑文件,但它们都不能正常工作,因为我已经通过运行应用程序在 2g 网络中测试了我的 android 手机。但它不能完美地工作,它坚持某个点我找不到那里的问题?请帮助我。在此先感谢
我在下面提到了一些微笑文件。文件wowzastreamengine/content/
夹中的所有文件
1
2
3
4
5
manifest - MPEG-DASH - AdaptationSet 中的内容如何分离?
我正在尝试了解 MPD 格式。我在标准中阅读了有关 AdaptationSet 的信息,但我不太了解如何将表示分离为不同的 AdaptationSet。
该标准指出:
根据存在于 Representations 中的媒体内容组件的媒体内容组件属性,将 Representations 排列成 Adaptation Sets,即
例如:http ://www-itec.aau.at/~cmueller/libdashtest/showcases/redbull_segment_template.mpd
有五个AdaptationSet,我认为媒体组件类型(contentType)都是视频,虽然我不明白contentType="RedBull 320x240"、contentType="RedBull 480x360"等属性的值和图片前两个adaptationSet 的纵横比相等,后三个AdaptationSet 的纵横比相等。对于其他提到的属性(角色、观点等),没有提供任何信息。
再举一个例子: http: //ftp-itec.uni-klu.ac.at/dash/conformance/mp4-full-gdr/mp4-full-gdr-mpd-AV-BS.mpd,codecs的值不同对于每个表示进入相同的 AdaptationSet。因此,该属性不影响不同 AdaptationSet 中的分离。
有什么帮助吗?
谢谢!
ffmpeg - 创建指向其他 m3u8 文件的 m3u8 文件
我正在寻找基于带宽指向其他 m3u8 文件的 m3u8 文件,像这样
我希望能够使用 ffmpeg 做到这一点,但我似乎找不到任何关于这样做的信息。这可能是错误的方法,所以如果有人能指出我正确的方向,将不胜感激。