问题标签 [shaka]

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 投票
1 回答
2102 浏览

javascript - 最简单的 Shaka 播放器不工作

我想要的只是让我的 shaka-player 工作。我已经列出了我的电影目录中的所有文件。我的清单文件 (.mpd) 由位于同一目录中的 5 个不同的 webm 视频流文件组成(我意识到音频不存在,这在这种情况下并不重要)。

我几乎按照网站上的教程进行操作:

https://shaka-player-demo.appspot.com/docs/api/tutorial-welcome.html

我不确定为什么这不起作用。有人可以帮忙吗?

电影目录:

Movie_WebM.html:

电影.js:

0 投票
1 回答
808 浏览

html5-video - 沙卡球员是做什么的

<video>据我了解,现代浏览器已经发展到一个标签可以在没有 JavaScript 的情况下播放 HLS 或 MPEG-DASH 流的地步。

Shaka Player ( https://github.com/google/shaka-player ) 似乎是一个 JS 库,用于......做<video>标签已经做的事情。然而,它得到了积极的维护。

Shaka 提供了哪些不提供的<video>功能?我什么时候/为什么要使用它?

0 投票
1 回答
318 浏览

javascript - 保存到离线而不使用 shaka 播放器创建播放器对象

有一个构造函数

有一个构造函数

但我想做的是保存一个视频网址,而页面中没有视频元素。有没有可能做。

如果我能在电子应用主要过程的背景下做到这一点,那就太好了。

0 投票
0 回答
459 浏览

android - iOS 扩展控制器和迷你播放器不会使用基于 shaka 播放器的 chromecast 接收器处理事件

我正在使用 https://github.com/google/shaka-player/tree/master/demo/cast_receiver

带有 iOS 客户端和 android 客户端。我的 iOS 它基于:

https://github.com/googlecast/CastVideos-ios

使用 Android,当 ai 在 shaka 播放器接收器上投射视频时,在迷你播放器或谷歌提供的扩展控制器上进行搜索、暂停、播放是没有问题的。

在 iOS 中,我收到以下消息:

-[GCKMediaControlChannel mediaSessionID] 调用需要有媒体状态而没有媒体状态的方法,忽略;确保媒体已加载,媒体通道已收到状态,并且在设备管理器尝试重新连接时未调用此方法

和其他日志:

-[GCKUIMediaController updateTransportControls] updateTransportControls; mediaclient is , mediaStatus is , _currentRequest is -[GCKUIMediaController request:didFailWithError:] request 15 failed with error Error Domain=com.google.GCKError Code=32 "No media session is available" UserInfo={NSLocalizedDescription=No media session is available}

0 投票
1 回答
5563 浏览

ffmpeg - FFmpeg/DASH:mov/mp4 格式的持续时间或时间戳超出范围

我正在尝试将aac流转换为破折号。问题是我遇到了很多错误,如下所示(尽管它似乎将其分割成多个文件,但我在播放器上也遇到了错误)。问题是为什么我会收到这些错误,我该如何解决?如果我只是将它“复制”为单个 mp4 文件,它可以正常工作。

输出

复制到单个 MP4 效果很好 ffmpeg -i "a.mkv" -y -map 0:1 -c:0 copy -f mp4 -dash 1 "out/out.mp4" -loglevel 错误

探测

沙卡调试

0 投票
1 回答
2594 浏览

ffmpeg - ffmpeg dash Segment offset

I'm trying to integrate live-transcoding like "plex" or "emby" with my application.

I am able to serve dash content over to shaka-player or dash.js but only in 'live-mode'. But I want to enable seeking through the player.

I looked at plex and to enable this they create their own mpd file with duration so the player will have a full seekbar.

However when seeking the player will ask for a segment number eg: 449. I need to stop ffmpeg and restart with an offset (-ss <<segment * sgement_length>>), but ffmpeg will just restart a transcode session from segment 0 with an initial segment.

What I want is to tell ffmpeg to start at a seekpoint but only output from segment number and now-on.

When playing with hls and mpegts, I can tell ffmpeg to output at a certain segment : with the option -segment_start_number but this is not available for dash. And plex use their own transcoder based of ffmpeg with the option -skip_to_segment

I tried to 'hack' around by keeping a manual offset on my web-server, even if I serve the "supposed" right segment after the seek point dash.js and shaka-player can't recover the stream.. VLC on the other habd is able to (probably more tolerent) to errors in segments.

Is the supposed right segment after a seek in dash (contains the initial segment) or only the segment.

Is ffmpeg able to start segmenting dash as a supposed segment (for seek and resume)

The same technique works in hls with forced key frames and a custom m3u8 (with all the "predicted" segments) but calculating the right segment length and the right bandwidth is much harder and hackish and dash is more tolerant to variation.

I would really like to be able to seek through my live transcoding video.

For reference here is a custom mpd file I serve to enable "seeking":

And here is the ffmpeg command to pull it off:

The media_seg_name is where I prepend the custom seek_point let's say I want to seek to segment 1233 the template would be:

and the segments would be 1233_1 1233_2 1233_* So I can serve the right segment after seek. but the player does not recover and still downloading subsequent segments. I guess since a new initial segment is generated and I somehow miss headers for continuous playback after seek but I'm probably wrong.

Thanks for your help

0 投票
1 回答
1987 浏览

http-live-streaming - DASH 和 HLS On Demand 与实时配置文件的分段 mp4

我正在尝试使用 Bento4 和 Shaka Packager 使用分段 mp4 为 DASH 和 HLS 输出文件。

我在理解 MPEG-DASH Live 和 On-Demand 配置文件之间的差异和优缺点时遇到了一些麻烦。如果我正在流式传输直播内容,我会使用 Live 配置文件,但对于静态点播视频,我似乎可以使用 On-Demand 或 Live 配置文件。每个配置文件以完全不同的文件格式和文件夹结构输出文件,按需输出包含 .mp4 文件的平面文件夹结构,实时输出包含 m4s 文件的嵌套文件夹结构。

对于不会直播的静态视频内容(例如浏览器支持、功效等),是否建议使用一个配置文件而不是另一个配置文件,如果是,为什么?

0 投票
1 回答
271 浏览

cobalt - 有没有人有一个版本的 Shaka 播放器与 Cobalt 一起工作

我一直在尝试使用 Cobalt 版本 11 基于存储库中的最新版本运行一个简单的 shaka 播放器测试页面。

目前使用 shaka player 的调试版本,我得到以下控制台日志:

有没有人成功让 shaka player 使用 Cobalt 浏览器工作?如果是这样,请您指出使用的版本以及是否进行了任何修改以使其正常工作。

0 投票
1 回答
970 浏览

ios - AVPlayer 未在 HLS 视频流中播放音频

我用 shaka 打包器创建了 HLS 清单和碎片化的 mp4 段。清单在 ios 和 web Safari 浏览器中可以正常播放。但是,当馈送到 AVPlayer 时,它只播放视频而不播放音频。

mediastreamvalidator 工具已验证流并且未显示任何错误。

hls_manifest.m3u8

hls_manifest_a.m3u8

hls_manifest_v.m3u8

我错过了什么?

0 投票
1 回答
2078 浏览

http-live-streaming - Mpeg Dash - 碎片和分割

我正在尝试使用 shaka 打包器实现 Mpeg DASH 流。要生成每个持续时间为 5 秒的片段,-- segment_duration参数可以帮助我实现这一点。

https://google.github.io/shaka-packager/html/documentation.html#chunking-options

我可以从以下链接中看到片段视频是如何表示的

Fragmented mp4(fMP4) 究竟是什么?它与普通的mp4有什么不同?

  1. 碎片化的目的是什么?
  2. 打包器在分段时会自动创建片段吗?
  3. 每个段是否有 moof+mdat 如上所述?
  4. 什么是子段?
  5. 如果--segment_duration--fragment_duration设置为相同的值会发生什么?
  6. --min-buffer-time 的目的是什么?