某人新买的 iPad Pro M4 看不了某新番,于是找我嘤嘤嘤求助。具体表现为:弹弹 Play 的 Web 界面可以正常加载弹幕、播放音视频,但是视频流是黑的。

显然这是视频编解码出了问题。这方面坑我还真看过,Apple 对 HEVC 的 Codec Tag 支持比较挑。Mpeg 标准中 HEVC 编码有两种不同的 Tag,分别是 hvc1hev1 ,但是 QuickTime 和 iOS 只支持前者。而这方面,Apple 的标准就是行业标准,所以大伙只能忍着,后面一种 tag 就没人用。
总之,踩过坑的应该都知道了。

恢复方法很简单,毕竟这两种编码的区别只是参数集存储位置有区别(前者在 MPEG 容器,后者随视频流封装),使用 ffmpeg 重新打 tag 就行,不需要重新编码。

ffmpeg -i leon_hev1.mp4 -c:v copy -tag:v hvc1 -c:a copy leon-hvc1.mp4


referrer:
https://www.reddit.com/r/ffmpeg/comments/17ky22s/hevc_encoded_mpeg4_files_wont_play_on_ios/
https://stackoverflow.com/questions/32152090/encode-h265-to-hvc1-codec
https://community.bitmovin.com/t/whats-the-difference-between-hvc1-and-hev1-hevc-codec-tags-for-fmp4/101
https://juejin.cn/post/6854573210579501070
 
 
Back to Top