标签: shaka

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 播放器接收器上时,在 Google 提供的迷你播放器或扩展控制器上进行搜索、暂停、播放没有问题。

在 iOS 中我收到此消息:

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

和其他日志:

-[GCKUIMediaController updateTransportControls] updateTransportControls;mediaclient 是,mediaStatus 是,_currentRequest 是 -[GCKUIMediaController request:didFailWithError:] 请求 15 失败,出现错误错误 Domain=com.google.GCKError Code=32“没有可用的媒体会话” UserInfo={NSLocalizedDescription=没有可用的媒体会话}

android chromecast swift shaka

5
推荐指数
0
解决办法
615
查看次数

DASH 和 HLS 点播的 mp4 碎片与实时配置文件

我正在尝试使用 Bento4 和 Shaka Packager 使用碎片 mp4 输出 DASH 和 HLS 文件。

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

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

http-live-streaming bento mpeg-dash shaka

3
推荐指数
1
解决办法
2629
查看次数

Shaka 打包器不加密资产

我只是无法弄清楚 shaka 播放器如何能够解密我的 CENC 保护内容,即使我在播放器配置中提供了无效的解密密钥。

player.configure({
    drm: {
      clearKeys: {
        '6FepeJBbmaiozSMs18vPfA==': '6FepeJBbmaiozSMs18vPfA==', // ==> invalid key
        '6FepeJBbmaiozSMs18vPfA==': '6FepeJBbmaiozSMs18vPfA==', // ==> invalid key
      }
    }
  })   
Run Code Online (Sandbox Code Playgroud)

这是给打包程序的参数

packager in=video-SD.webm,stream=audio,output=protected_audio.webm,drm_label=AUDIO in=video-HD.
webm,stream=video,output=protected_video_HD.webm,drm_label=HD in=video-SD.webm,stream=video,output=prote
cted_video_SD.webm,drm_label=SD  --enable_raw_key_encryption --enable_raw_key_decryption  \

--keys label=AUDIO:key_id=f3c5e0361e6654b28f8049c778b23946:key=a4631a153a443df9eed0593043db7519, label=SD:key_id=abba271e8bcf552bbd2e86a434a9a5d9:key=69eaa802a6763af979e8d1940fb88392,label=HD:key_id=abba271e8bcf552bbd2e86a434a9a5d9:key=69eaa802a6763af979e8d1940fb88392  \

--base_urls https://s3-eu-west-1.amazonaws.com/dash/ \
--mpd_output h264.mpd
Run Code Online (Sandbox Code Playgroud)

mpd 文件看起来像

<?xml version="1.0" encoding="UTF-8"?>
<!--Generated with https://github.com/google/shaka-packager version 72c4797-release-->
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 DASH-MPD.xsd" xmlns:cenc="urn:mpeg:cenc:2013" profiles="urn:mpeg:dash:profile:isoff-on-demand:2011" minBufferTime="PT2S" type="static" mediaPresentationDuration="PT5.539000034332275S">
  <BaseURL>https://s3-eu-west-1.amazonaws.com/dash/</BaseURL>
  <Period id="0">
    <AdaptationSet id="0" contentType="audio" lang="en" subsegmentAlignment="true">
      <ContentProtection schemeIdUri="urn:uuid:1077efec-c0b2-4d02-ace3-3c1e52e2fb4b" cenc:default_KID="f3c5e036-1e66-54b2-8f80-49c778b23946">
        <cenc:pssh>AAAAVHBzc2gBAAAAEHfv7MCyTQKs4zweUuL7SwAAAAPzxeA2HmZUso+AScd4sjlGq7onHovPVSu9LoakNKml2au6Jx6Lz1UrvS6GpDSppdkAAAAA</cenc:pssh>
      </ContentProtection>
      <Representation id="0" bandwidth="96897" …
Run Code Online (Sandbox Code Playgroud)

drm widevine mpeg-dash shaka eme

3
推荐指数
1
解决办法
750
查看次数

在 Chrome 上使用 Shaka Player 播放 HLS m3u8

我遵循与 DASH 视频配合使用的 shaka 的基本用法,但在尝试加载 M3U8 时抛出错误代码 4032。

import * as muxjs from 'mux.js';
import * as shaka from 'shaka-player';

export class AppComponent implements AfterViewInit {
  @ViewChild('videoPlayer') videoElementRef: ElementRef;
  videoElement: HTMLVideoElement;

  manifestUri = 'http://hlsliveamdgl7-lh.akamaihd.net/i/hlsdvrlive_1@583042/master.m3u8';


  ngAfterViewInit() {
    shaka.polyfill.installAll();
    this.videoElement = this.videoElementRef.nativeElement;
    this.initPlayer();
  }

  private initPlayer() {
    shaka.media.ManifestParser.registerParserByExtension("m3u8", shaka.hls.HlsParser);
    shaka.media.ManifestParser.registerParserByMime("Application/vnd.apple.mpegurl", shaka.hls.HlsParser);
    shaka.media.ManifestParser.registerParserByMime("application/x-mpegURL", shaka.hls.HlsParser);


    let player = new shaka.Player(this.videoElement);


    player.load(this.manifestUri).then(() => {
      // This runs if the asynchronous load is successful.
      console.log('The video has now been loaded!');
    }).catch(this.onError);  // onError is executed if …
Run Code Online (Sandbox Code Playgroud)

hls.js angular shaka

3
推荐指数
1
解决办法
7053
查看次数

Shaka 播放器无法在谷歌浏览器上加载 HLS

我正在尝试在 shaka 播放器上加载 VOD。这是我的网址:

https://5b48f8f32d3be.streamlock.net/023a27950bd44774/mp4:22436e792e8b42de_HD.0.mp4/playlist.m3u8


我一直在控制台中收到 4032 错误,我已经对其进行了一些搜索。在 shaka 文档中,4032 错误提到为 CONTENT_UNSUPPORTED_BY_BROWSER。但是,当我在 shaka 播放器测试 URL 上测试我的 URL 时,一切正常。

https://shaka-player-demo.appspot.com/demo/#asset=https://storage.googleapis.com/shaka-demo-as​​sets/angel-one/dash.mpd;lang=en-US;build =未编译

如果我的浏览器有问题,它也不应该在测试 URL 上播放。我应该怎么做才能支持 HLS?

streaming google-chrome http-live-streaming reactjs shaka

1
推荐指数
1
解决办法
3987
查看次数