在谷歌播放的带有通信信息的媒体接收器上显示字幕

jtw3ybtb  于 2021-09-13  发布在  Java
关注(0)|答案(1)|浏览(342)

我正在尝试在chromecast上启动mp4流,该流还显示字幕(vtt文件)
我看到它被添加到本地库中。但我找不到用于将其发送到接收器应用程序的有效负载消息。我使用的不是android和ios的本机库,而是使用有效负载消息而不是本机库的Flutter版本。->https://github.com/jonathantribouharet/flutter_cast
这是我已经尝试过的。

{
      'type': 'LOAD',
      'autoPlay': true,
      'currentTime': currentTime,
      'media': {
        'contentId': url,
        'contentType': 'video/mp4',
        'streamType': 'BUFFERED',
        'metadata': {
          'type': 0,
          'metadataType': 0,
          'title': title,
          'images': [
            {
              'url': posterUrl,
            }
          ],
        },
      },
      'customData': {
        'cc': {
          'tracks': [
            {'src': 'https://gist.githubusercontent.com/samdutton/ca37f3adaf4e23679957b8083e061177/raw/e19399fbccbc069a2af4266e5120ae6bad62699a/sample.vtt'},
          ],
          'active': 0
        },
      },
    }

这是我的完整应用程序:https://github.com/vanlooverenkoen/flutter_cast_ui/tree/feature/cast-ui
但是自定义数据没有任何作用。
我发现的所有stackoverflow问题都来自2014年。从那时起,应该可以通过3种文件格式使用ClosedCaption或字幕:webvtt、ttml和cea-608。
https://developers.google.com/cast/docs/web_receiver/tracks#closed_captions_subtitles
https://developers.google.com/cast/docs/media#subtitles_and_closed_captions
本文档用于播放/暂停/停止执行:
https://developers.google.com/cast/docs/reference/messages
https://docs.rs/crate/gcast/0.1.5/source/protocol.md
stackoveflow问题我已经看到了:
样式化媒体接收器源(chromecast)
谷歌演员-字幕与风格的媒体接收器?
演员接收器应用程序不显示字幕

jvlzgdj9

jvlzgdj91#

我没有这方面的经验,但你可以看看这份回购协议。它使用cpp做类似的事情,并提供了一种构建有效负载的方法,包括文本/vtt和字幕链接。因此,可以使用更多数据展开“轨迹”对象

msg["media"]["tracks"][0]["language"] = "en-US";
    msg["media"]["tracks"][0]["name"] = "English";
    msg["media"]["tracks"][0]["type"] = "TEXT";
    msg["media"]["tracks"][0]["subtype"] = "SUBTITLES";
    msg["media"]["tracks"][0]["trackId"] = 1;
    msg["media"]["tracks"][0]["trackContentId"] = yourSubtitleUrl;
    msg["media"]["tracks"][0]["trackContentType"] = "text/vtt";

相关问题