由于mac自带录屏是mov并且文件特别大,我使用ffmpeg转码视频为h265

使用如下命令

ffmpeg_command = [
        ffmpeg_path,
        "-i", input_path,
        "-c:v", "libx265",
        "-preset", "veryslow",
        "-map_metadata", "0",  # 保留元数据
        output_path
    ]

点开转码完的文件后,出现如下报错。

continue进入后,发现音频正常播放。尝试发到手机/window电脑后,发现正常播放

一番查询后,发现这里是属于apple的一个坑。

视频文件一般来说会有一个标签来标识文件到底是什么编码,对于h265一般有hev1,hvc1,dvh1。FFmpeg默认是使用hev1标签(ISO/IEC 14496-15),但是由于读取hev1标签会导致要扫视频流,apple为了避免安全问题禁止。而必须要加一个 "-tag:v", "hvc1"的标签。最后,解决

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐