问题标签 [smooth-streaming]

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.

0 投票
0 回答
351 浏览

c# - 如何使用 C# 和 ASP.NET 创建动态 IIS Web 播放列表?

我正在尝试创建一个可以使用 VLC 或 Windows Media Player 等客户端远程播放的网络播放列表。我在http://www.iis.net/learn/media/web-playlists看到了资源它谈到了通过 IIS 界面管理播放列表。有没有办法使用数据库中的数据创建动态播放列表?提前致谢。

0 投票
1 回答
1593 浏览

video - 从 IIS Smooth Streaming 解码 mp4 片段中​​的 h264

因此,我决定尝试为 IIS 的平滑流制作自己的客户端作为学习练习,我正在努力解码 mp4 片段。

我有以下片段: http ://www.mediafire.com/download/n32660d920g291c/part+1.mp4

当我尝试使用 ffmpeg 解码时:

阅读后我发现 PPS/SPS 来自 IIS 给我的清单中的 CodecPrivateData,我有:

二进制:http ://www.mediafire.com/download/hm3av6h3i1g7ojf/CodecPrivateData

我认为是附件 b 00000001[SPS]00000001[PPS] 但我不知道如何处理它,我尝试将它放在文件的开头但得到相同的错误,我也尝试只获取数据在 mdat 中并将其发送到 ffmpeg 但我得到了

所以我然后尝试将 CodecPrivateData 放在 mdat 部分之前,然后我得到了这个

我似乎遗漏了一些东西来解码,我只是不确定是什么,所以我希望了解 h264 的人可以帮助我!最终我想让它在 DirectShow 中工作,但即使让它在 ffmpeg 中工作也会有很大的帮助!

0 投票
0 回答
160 浏览

drm - 在 PlayReady 流中发送一些未加密的片段

我有一个PlayReady保护的Smooth Stream,我手动对其进行加密(通过将Protection元素添加到客户端清单,在每个片段的框内添加一个示例加密traf框并加密实际mdat有效负载)。

我正在尝试实现一个新功能 - 在该流中发送几个未加密的片段(例如,广告或流的前 N ​​个片段)。

在阅读了Microsoft 的 PIFF 标准后,我尝试通过将flags字段设置为 0x00001 并将示例加密框中的algorithm_idsample_countkey_id字段设置为零来发送非加密数据(如 PIFF 标准的第 5.3.2.2 节所述)。

在尝试播放该流时,我测试的示例播放器(http://playready.directtaps.net/pr/doc/slee/和 player.smooth.vertigo.com/)播放了内容,但跳过了未加密的片段并直接从加密的开始。

这个功能甚至可以实现吗?我做错什么了吗?

PS,我试图完全省略Sample Encryption Box,但这导致播放器完全拒绝播放流。

任何帮助将不胜感激。

0 投票
1 回答
391 浏览

azure - Encoding videos for web and mobile using Azure Media Services

I'm using Azure Media Services to encode adaptive videos that need to be seen in web (I'm using Smooth Streaming for this) and in both iOS and Android (and I'm using HLS for both). In the Azure documentation are presets for encoding to Smooth Streaming in 1080p and there's also documentation for remuxing the SS files to HLS. So far, so good.
The problem is that when I convert the 1080p Smooth Streaming to HLS, the result is not playable in Android. I've searched about it and it seems that the problem is that the Media Services preset encodes the video using h264 high profile and Android doesn't support that profile.
I've fixed this problem encoding to two different Smooth Streaming presets: "H264 Smooth Streaming 1080p" and "H264 Smooth Streaming 720p" (because the latter encodes to h264 main profile), and then using the 720p files to generate the HLS video. This is not optimal because I'm encoding one more time that needed and I'm not using the 720p smooth streaming files. So... Is there a way that I can skip the 720p Smooth Streaming encoding? Maybe encoding to Smooth Streaming in 1080p but with main profile?

0 投票
0 回答
516 浏览

actionscript-3 - 带有流畅流媒体元素的OSMF系列组合

我想使用来自多个或单个清单(.isml)的媒体元素的某些特定部分为流畅的流媒体元素创建串行组合。我尝试使用 isml 创建序列组合,包含从 10 秒到 50 秒的剪辑部分,然后在序列组合中添加下一个元素,以便从其他清单播放 50 秒到 150 秒的部分。但不是播放清单的指定部分,而是从头到尾播放,一旦播放第一个 isml,它就不会切换到串行组合的下一个元素。当它检查它在 mozila 上的火灾错误时,我发现片段请求是连续发送的,但播放器无法显示它。

代码 :-

包裹 {

}

谢谢

0 投票
2 回答
1745 浏览

google-cast - Is it actually possible to play SmoothStreaming videos on Chromecast without using (format=mpd-time-csf)?

I'm trying to get a video playing on Chromecast - it's available as an MS Smooth Streaming manifest (example), but I can't specify format=mpd-time-csf (example), as it's not available in that format.

Directly passing the manifest URL to the Chromecast doesn't work yet, but will be available for the final SDK release, as stated by Les Vogel here: Playing Smoothstreaming URL by providing Manifest file of smoothstreaming to Chromecast device

As I understand it can play dash/smooth videos by embedding the dash.js player into the receiver app. However, dash.js only plays smooth streaming videos if (format=mpd-time-csf) is specified - normal smooth manifests don't work.

Does this mean that in its current state, Chromecast only supports smooth video in the mpd-time-csf format? I assume the Netflix app uses Smooth for its Chromecast app - is this how they're doing it?

0 投票
2 回答
5584 浏览

google-cast - Chromecast 通过 PlayReady 支持平滑流式传输

我知道 Chromecast 接收器的开发者预览版不完全支持 Smooth Streaming 清单 URL (见更新#1)

我已经使用GitHub 项目中的示例应用程序提供程序测试了Microsoft PlayReady(TM) 测试服务器 - 平滑流媒体资产提供的内容。receiver

流畅的流媒体支持

正如预期的那样,manifest文件不起作用 (见更新#1)。但我能够播放单个ismv文件(但只有低比特率)。当我使用更高的比特率时,视频容器保持黑色。

PlayReady 支持

当我尝试播放PlayReady受保护的低比特率ismv文件时,我期待某种回调MediaProtocolMessageStream.onKeyRequested()。但没有发生。这是我的 android CustomMediaProtocolMessageStream实现。


那么,有人知道如何PlayReadyWidevine应该使用 Chromecast 吗?我已经看到 Netflix 在 chromecast 中加载应用程序时调用了一些二进制 shell 命令。但我认为,他们与谷歌合作来实现这一目标。

额外的 SO 资源

更新#1

根据 Les Vogel 的回答,Chromecast 支持用于自适应比特率流的平滑流清单文件。您需要自定义播放器来处理它。据我所知,目前有两个 JS 播放器可以处理这个问题,但我不知道它们是否可以在 Chromecast 上运行。

  1. dash.js- DASH 行业论坛 ( https://github.com/Dash-Industry-Forum/dash.js )
  2. Microsoft HTML5 Player Framework- Microsoft 媒体平台的一部分 ( http://playerframework.codeplex.com/ )
0 投票
1 回答
2842 浏览

google-cast - Chromecast 上的 SmoothStreaming 问题

我正在尝试将平滑流媒体加载到 chromecast 中。为此,我使用了 google 提供的示例:

在发件人上:

我正在尝试媒体 #1,即 .ism - 我也尝试了 /Manifest - 但没有运气。在调试控制台中,我得到:

任何想法???

谢谢!

0 投票
0 回答
455 浏览

javascript - Google Chromecast:为什么流畅的 LIVE 流媒体会导致应用程序出现“LOAD_FAILED”媒体错误?

我需要一些帮助来了解我的 Chromecast Javascript 应用程序出了什么问题。我的目标是通过 isml 格式进行直播,并通过 Chromecast 开发人员库管理其复制。当我尝试播放实时内容时,我在接收器应用程序上收到错误消息。

你能给我一个正确加载流畅直播的工作代码示例吗?

请注意,服务器正确发送 CORS 标头。

这是接收方应用程序控制台上的堆栈跟踪:

谢谢!C。

0 投票
1 回答
455 浏览

windows - 机器重新启动后 IIS 媒体服务发布点状态

我正在处理一个平滑流项目并使用 Windows Azure 虚拟机 (Windows Server 2008 R2) 来存储媒体内容。流式传输工作正常,但发布点状态存在一些问题。发布点状态是

空闲:发布点创建/关闭

开始:发布点已连接

开始:它正在流式传输

已停止:流媒体已停止

请阅读以下两种情况:

案例 1:Windows Azure 虚拟机 (Windows Server 2008 R2) 我在这台机器上安装了 IIS 媒体服务。我创建发布点并使用 Microsoft Expression Encoder 开始编码。现在发布点处于已停止状态。我已选择存档我的流媒体。因此,发布点关联媒体内容的归档路径(ismv、ism、ismc)。但是,如果虚拟机手动或无意重启,那么我所有的发布点都会变成空闲状态。在那种情况下,我丢失了相关的存档路径,现在无法进行按需流式传输。

案例 2:我的本地计算机 Windows 8 Pro 我与案例 1 相同,但不同之处在于重新启动/重新启动后,我的发布点状态变得相同。我的意思是空闲的发布点将是空闲的并且停止将被停止。在这种情况下,我可以进行点播流媒体。

所以,最后我不想在机器重启后停止我的点播流媒体。我希望我的发布点处于相同的状态。

有什么方法/实用程序可以帮助我吗?