获取 HVEC/h265 视频的 HLS 流

问题描述

我想做什么?

生成 h265 文件的 HVEC (mp4) HLS。

我已经尝试过什么?

我看到了这篇文章 https://superuser.com/a/1416549/1084556。它首先要求将 h264 视频转换为 h265 格式,然后进行 HLS 打包`。

所以我跑了

ffmpeg -hide_banner -y -i "original.mp4" -c:v libx265 -c:a copy -y -movflags +faststart -tag:v hvc1 "h265.mp4"

以上命令足以生成 h265 编码的视频,该视频可在 macOS 上的 QuickTime Player 上运行。

接下来我

ffmpeg -y -i h265.mp4 -c copy \
    -hls_segment_type fmp4 -hls_time 6 -hls_list_size 10 \
    -hls_flags delete_segments+append_list+split_by_time \
    -hls_playlist_type vod hls.m3u8

以上命令生成了一些 m4s 以及 hls.m3u8init.mp4 文件,这似乎是预期的行为,但是当我托管文件并尝试在任何在线媒体中播放时播放器,它不起作用,并抛出错误

A media error occurred: bufferIncompatibleCodecsError

使用的播放器 (https://hls-js.netlify.app/demo/,https://bitmovin.com/demos/stream-test)

解决方法

基于规范文档,hls.js 插件和 bitmovin 播放器都支持 HEVC HLS 格式。您没有提到您测试过的浏览器。根据我的理解,您只能在 safari 浏览器上播放 HEVC/fmp4 HLS 流。也值得一试。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...