标签: mpeg-dash

如何在DASH中解密和播放CENC保护的内容?

我有一个支持CENC的MPD剪辑,如何在不使用任何特定DRM引擎的情况下解密和播放?是否有任何解密算法可用于解密AES CTR 128位?如果有,它将用于解密MPEG-DASH内容吗?网络中有一些第三方库,如NACL,Openssl,crypto ++,可以进行AES ctr 128解密.我可以使用其中一个来解密DASH内容(支持CENC)吗?

mpeg-dash

5
推荐指数
2
解决办法
1万
查看次数

是否有一些HLS和MPEG-DASH转码器?

是否有一些免费的代码转换器可以在飞行中将视频打包成hls或mpeg-dash?
我不想使用直播,但我想创建vod流媒体.

transcoding video-encoding video-streaming http-live-streaming mpeg-dash

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

如何使用 ClearKey 加密 WebM 或 MP4 文件然后播放

我目前正在研究在浏览器中加密和播放加密视频的主题。在使用 Widevine 的同时,我已经通过castlabs 的 DRMToday 和 Shaka Player 取得了一些成功。

现在我正在尝试使用 ClearKey 在没有外部服务的情况下加密视频,并在 Chrome 中播放它(使用任何可以处理的 js 播放器)。

我确实设法使用 MP4Box(以及用于创建 crypt 配置的 mse-eme)加密单个 mp4 文件,但我不知道如何在浏览器中播放它。HTML5 的视频甚至没有触发“加密”事件。加密本身工作得很好 - 我能够使用相同的工具和正确的密钥将其解密。

我尝试用这个加密文件创建一个 DASH 并在 Shaka Player 中播放它。我使用 MP4Box 创建了清单。我必须手动将缺少的 xmlns 添加到此文件 (xmlns:cenc="urn:mpeg:cenc:2013"),以便 DOMParser 正确解析它。我不知道我该如何处理许可证。

我发现了一些播放编码 webm 文件的工作示例(包括 Shaka Player 的演示页面)。如何加密 webm 文件?我确实找到了https://github.com/webmproject/webm-tools但它似乎需要构建整个 Chromium 才能工作。

还有其他可以加密 webm 文件的工具吗?

html drm html5-video webm mpeg-dash

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

将 DASH 音频和视频连接到单个文件

首先,我有一个文件夹,其中包含以 DASH 视频形式直播的视频的大约 200 个视频和音频片段(m4v 和 m4a)。现在 - 没有原始文件 - 我想将这些部分连接到一个可播放的视频文件。

提一下我已经测试过的:

  • 通过 Unix 终端命令 cat 连接;不幸的是,这无助于使视频再次在任何媒体播放器中播放
  • 通过 files.txt 使用 ffmpeg 的合并功能;同样不成功的结果

我绝对不是专家(否则我可能不会问),但问题也可能是缺少 mpd 和/或 init 文件(据我可以浏览标准)。

不要误会我的意思:我不想得到与原始文件完全相同的结果。我想要实现的只是上述视频的单个可播放 mp4 文件。

我还尝试制作自己的 mpd 文件,但“流”无法播放。仅供参考,我尝试在当前的 VLC 3.0.0 git 中播放它,因为当前的稳定版本似乎不支持 DASH。如果有帮助,这里是视频编解码器:

id="live-hd_H264"
mimeType="video/mp4"
codecs="avc1.4d401f"
width="396"
height="704"
Run Code Online (Sandbox Code Playgroud)

那么,有人可以帮助我吗?

亲切的问候!

video ffmpeg mpeg-dash

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

如何从MPEG DASH段创建HLS清单?

自从苹果公司宣布支持分段MP4以来,是否可以为同一段片段(分别用于音频和视频)创建DASH清单(.mpd)和HLS清单(.m3u8)。怎么做?

ffmpeg http-live-streaming mpeg-dash mp4box bitmovin-player

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

使用 FFMPEG 生成用于 MPEG-DASH 自适应流媒体的 MPD 文件

所以我正在尝试设置自适应流,我认为已经解决了 80-90% 的问题。现在,我提取源视频,将其转码为 5 种分辨率,每种分辨率具有 3 种比特率(低、中、高),然后将所有这些视频分成 5 秒的块,以便用户始终能够获得最佳观看效果。现在我需要生成/创建我的 MPD 清单文件,但我很难弄清楚如何生成/创建我的 MPD 清单文件。几乎每个人都说要使用 MP4Box,但他们的许可证对于我的项目来说限制太多。

当我分割视频时,是否可以使用 FFMPEG 生成 MPD 文件?或者也许生成一个 HLS,然后我可以将其转换为 MPD 清单?任何信息都会很棒,这是我当前的 FFMPEG 命令(工作)

请注意,$变量是 bash 脚本的输入,用于设置输入文件、比特率和比例。

/usr/bin/ffmpeg \
  -re \
  -i $1 \
  -an \
  -c:v libx264 \
  -b:v $7 \
  -b:a 196k \
  -strict -2 \
  -movflags faststart \
  -pix_fmt yuv420p \
  -vf "scale='$4:trunc(ow/a/2)*2'" \
  -flags -global_header \
  -map 0 \
  -f segment \
  -segment_time 5 \
  -segment_list test.m3u8 \
  -segment_format mpegts \
  $2%05d.mp4
Run Code Online (Sandbox Code Playgroud)

php ffmpeg http-live-streaming ffmpeg-php mpeg-dash

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

我可以使用自己的Web服务器作为宽屏许可授权来流mpeg-dash视频吗?

我希望Widevine服务器对请求的用户进行身份验证并登录到我的Web应用程序。

我可以使自己的API服务器以某种方式提供DRM密钥吗?我知道它们已经过加密处理,因此有没有办法创建自己的LA服务器?

还是我必须使用现有的?如果是这样-如何使我的用户身份验证以确保他们已登录?(并检查该用户是否可以观看视频)。

我想确保允许观看视频的用户不会抓住mpd链接,并将其放入具有相同Widevine服务器的其他播放器中。过程的哪一部分使它真正安全?

video drm widevine mpeg-dash

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

Chromecast是否支持从Reddit投射视频?(HLS和Dash视频)

与URL称为代理//192.168.xx.xx:8080 / 3hyw7hwoajn21 / HLSPlaylist.m3u8 HTTP 调用代理与URL 的http://192.168.xx.xx:8080 / 3hyw7hwoajn21 / HLS_540_v4.m3u8 调用与URL代理HTTP:// 192.168.xx.xx:8080 / 3hyw7hwoajn21 / HLS_AUDIO_160_K_v4.m3u8 称为URL的代理http://192.168.xx.xx:8080 / 3hyw7hwoajn21 / HLS_224_v4.m3u8

这是Reddit视频的示例:https : //www.reddit.com/r/me_irl/comments/b3vrs4/me_irl

查看JSON,它有一些视频源选项:

"reddit_video": {
    "dash_url": "https://v.redd.it/3hyw7hwoajn21/DASHPlaylist.mpd",
    "duration": 76,
    "fallback_url": "https://v.redd.it/3hyw7hwoajn21/DASH_720?source=fallback",
    "height": 720,
    "hls_url": "https://v.redd.it/3hyw7hwoajn21/HLSPlaylist.m3u8",
    "is_gif": false,
    "scrubber_media_url": "https://v.redd.it/3hyw7hwoajn21/DASH_240",
    "transcoding_status": "completed",
    "width": 1280
}
Run Code Online (Sandbox Code Playgroud)

虽然我似乎可以使其他HLS / m3u8视频与Chromecast SDK配合使用(例如Google自己的示例HLS视频),但似乎无法使所有这些资源都可以使用。

我尝试将流类型设置为“实时”或“缓冲”的https://v.redd.it/3hyw7hwoajn21/HLSPlaylist.m3u8,我尝试将内容类型设置为“ application / x-mpegURL”,并且我对内容URL 为“ application / dash + xml” 的破折号网址https://v.redd.it/3hyw7hwoajn21/DASHPlaylist.mpd尝试了相同的操作,但也无济于事。我发现这个问题似乎暗示了某种可能性?

我还注意到DASH文件中存在单独的视频和音频流(https://v.redd.it/3hyw7hwoajn21/DASH_720和 …

http-live-streaming google-cast chromecast mpeg-dash google-cast-sdk

5
推荐指数
2
解决办法
919
查看次数

HTML 视频:由于 Safari 上缺乏 DASH/Webm-VP9 支持,是否可以回退到 HLS,或者如何在 DASH 上同时支持 Webm 和 H264?

我正在尝试从网络服务器提供一些视频内容,目的是支持相当广泛的浏览器。

对于 iOS,据我所知,最好的方法是使用 HLS(HTTP Live Streaming),而在桌面上(我猜是 Android?),MPEG-DASH 是最先进的。作为备用,我可以提供一些静态视频。

我已经在带有 HLS 的 iOS 和桌面上的 Chrome、Firefox、Opera 和 Edge 上运行了此功能,但 Mac 上的 Safari 在我按下播放时仅显示活动微调器。据我所知,这是因为 Safari 尝试使用 DASH 作为播放方法,但失败了,尽管缺乏 Webm 支持并且 HLS 列在第一位。

对于 MPEG-DASH,我将 Webm 与 VP9 和 Opus 结合使用,我的<video>标签如下所示:

<video controls style="display:inline-block;max-width:174.22vh;max-height:98vh;width:98vw;height:55.125vw;background-color:#ccc;" preload="auto" poster="my-preview-image.jpg" data-dashjs-player>
    <source src="myvideo/hls/playlist.m3u8" type="application/x-mpegURL">
    <source src="myvideo/dash/manifest.mpd" type="application/dash+xml">
    <source src="myvideo/myvideo-vp9.webm" type="video/webm; codecs=vp9,opus">
    <source src="myvideo/myvideo-vp8.webm" type="video/webm; codecs=vp8,vorbis">
    <source src="myvideo/myvideo-h264.m4v" type="video/mp4; codecs=h264,aac">
</video>
Run Code Online (Sandbox Code Playgroud)

我只是使用以下命令导入参考 DASH 实现

<script src="dash.all.min.js"></script>
Run Code Online (Sandbox Code Playgroud)

ffmpeg我正在使用从 Final Cut Pro 导出的高质量主视频生成 HLS 和 DASH 流。静态 Webm …

safari http-live-streaming html5-video mpeg-dash

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

Java mp4parser 创建单个 .m4s 片段 - 无效的 moov 框

此用例是一项服务,手动将一系列未压缩的 .wav 媒体片段编码为.m4s片段,以便通过MPEG-DASH广播,使用ffmpeg将 .wav 压缩为 .aac,并使用sannies/mp4parser将 aac 音频组装为 .m4s 片段。 m4s媒体片段。

我创建了这个公共 GitHub 项目来完整重现该问题。

例如,下面是自定义CustomFragmentMp4Builder.java类。

至关重要的是,我们能够使用序列号(索引)来指定这个单个 .m4s 片段,我们将为每个媒体片段手动递增该序列号。

目标是构建一个包含框类型、和 的.m4s片段。作为参考,我使用mp4parser来检查通过 生成的.m4s片段。该规范可在此处以 .yaml 文件形式提供SegmentTypeBoxSegmentIndexBoxMovieFragmentBoxffmpeg -f hls

我的实现创建 MP4 时没有错误。但是,当单元测试尝试读取 ChunkMp4Builder 刚刚写入临时文件夹的文件时:

java.lang.RuntimeException: A cast to int has gone wrong. Please contact the mp4parser discussion group (3724673092)
    at org.mp4parser.tools.CastUtils.l2i(CastUtils.java:30)
    at org.mp4parser.support.AbstractBox.parse(AbstractBox.java:97)
    at org.mp4parser.AbstractBoxParser.parseBox(AbstractBoxParser.java:116)
    at org.mp4parser.BasicContainer.initContainer(BasicContainer.java:107)
    at …
Run Code Online (Sandbox Code Playgroud)

mp4 ffmpeg mp4parser mpeg-dash fmp4

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