通过使用依赖于ffmpeg的PHP库,我能够将加密一堆视频 (主要是mp4,但不是全部)用于HLS m3u8加密片段播放列表。使用https://github.com/video-dev/hls.js,我的网站可以在大多数浏览器上播放这些视频,但不能在iOS 12上播放。
https://caniuse.com/#search=hls说,HLS视频需要iOS 13.2+,但我需要能够支持iPhone 6这样的老手机,后者只能运行iOS 12和更低版本。
如果没有办法做我想做的事,我会感到震惊的:
当我重新开始时,我应该使用什么来加密视频的格式(哪种格式?)这在Mac、Windows 10、iOS 12和Android的浏览器中是可以查看的(如果需要的话,可以使用哪个客户端库)?
P.S. @伊兹,谢谢你的提问。PHP库是理想的,但是PHP也可以调用其他程序,只要它们在Ubuntu (Linux)中是可执行的。是的,免费(0美元)。所谓“加密”,我指的是(像HLS一样)系统在加密视频时使用的密钥/密码,然后browser/client也知道该密钥并将其用于解密。在质量、分辨率等方面,我希望尽可能接近无损。我不明白为什么加密需要任何损失(希望不会)。也许这里有人知道一种适合我需要的选择(会不会?)
发布于 2020-04-22 12:49:52
唉,没有一种媒体格式(*)可以同时处理“Mac、Windows 10、iOS 12和安卓上的浏览器”。你最好的选择是用两种格式进行编码: HLS (用于遗留的Apple方面)和MPEG-破折号(用于世界其他地区)。
有一些商业工具,如统一流或沃扎,它们允许您将代码一次编码到“夹层文件”(基本上是一组MP4文件,每位速率一个),然后允许您动态地将它们转换为请求设备能够处理的格式,包括DRM。
否则,您可以使用开源沙卡包装机等工具来滚动您自己的多格式流,这将允许您手动编码和加密MPEG-破折号(+宽幅DRM)和HLS (+FairPlay )。
(*)技术上,现在有一个- CMAF。这篇文章是一个很好的入门,但球员对CMAF的支持仍然是最好的。
https://softwarerecs.stackexchange.com/questions/73726
复制相似问题